CVE-2022-49977

5.5 MEDIUM

📋 TL;DR

A NULL pointer dereference vulnerability in the Linux kernel's ftrace subsystem allows local attackers to cause a kernel panic (denial of service) when ftrace fails to initialize properly. This affects systems with ftrace enabled and can be triggered by unprivileged users in certain configurations. The vulnerability requires local access to exploit.

💻 Affected Systems

Products:
  • Linux Kernel
Versions: Multiple stable kernel versions prior to fixes in 5.10.110, 5.15.33, 5.16.20, 5.17.3, and 5.18-rc1
Operating Systems: Linux distributions using affected kernel versions
Default Config Vulnerable: ✅ No
Notes: Requires ftrace to be enabled and configured; many distributions disable ftrace by default or restrict access.

📦 What is this software?

Linux Kernel by Linux

The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...

Learn more about Linux Kernel →

Linux Kernel by Linux

The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...

Learn more about Linux Kernel →

Linux Kernel by Linux

The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...

Learn more about Linux Kernel →

Linux Kernel by Linux

The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...

Learn more about Linux Kernel →

Linux Kernel by Linux

The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...

Learn more about Linux Kernel →

Linux Kernel by Linux

The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...

Learn more about Linux Kernel →

Linux Kernel by Linux

The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...

Learn more about Linux Kernel →

Linux Kernel by Linux

The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...

Learn more about Linux Kernel →

⚠️ Risk & Real-World Impact

🔴

Worst Case

Kernel panic leading to system crash and denial of service, potentially causing data loss or service disruption.

🟠

Likely Case

Local denial of service through kernel panic, requiring system reboot to recover.

🟢

If Mitigated

Minimal impact if ftrace is disabled or systems are patched; kernel panic contained to affected system.

🌐 Internet-Facing: LOW - Requires local access to exploit, not remotely exploitable.
🏢 Internal Only: MEDIUM - Local users or processes can cause system crashes, affecting availability.

🎯 Exploit Status

Public PoC: ⚠️ Yes
Weaponized: LIKELY
Unauthenticated Exploit: ✅ No
Complexity: LOW

Syzkaller fuzzer discovered and can reproduce the issue; exploit requires local access and ability to trigger ftrace operations.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Fixed in Linux kernel versions: 5.10.110, 5.15.33, 5.16.20, 5.17.3, and 5.18-rc1

Vendor Advisory: https://git.kernel.org/stable/c/4c34a2a6c9927c239dd2e295a03d49b37b618d2c

Restart Required: Yes

Instructions:

1. Update Linux kernel to patched version. 2. For distributions: Use package manager (apt/yum/dnf) to install latest kernel updates. 3. Reboot system to load new kernel.

🔧 Temporary Workarounds

Disable ftrace

linux

Prevent exploitation by disabling the ftrace subsystem

echo 0 > /sys/kernel/debug/tracing/tracing_on
echo nop > /sys/kernel/debug/tracing/current_tracer

Restrict ftrace access

linux

Limit which users can access ftrace functionality

chmod 600 /sys/kernel/debug/tracing/*
set kernel.ftrace_enabled = 0 in sysctl if available

🧯 If You Can't Patch

  • Disable ftrace subsystem entirely if not needed
  • Implement strict access controls to prevent unauthorized users from triggering ftrace operations

🔍 How to Verify

Check if Vulnerable:

Check kernel version: uname -r and compare with affected versions; check if ftrace is enabled: cat /sys/kernel/debug/tracing/tracing_on

Check Version:

uname -r

Verify Fix Applied:

Verify kernel version is patched: uname -r should show 5.10.110+, 5.15.33+, 5.16.20+, 5.17.3+, or 5.18+

📡 Detection & Monitoring

Log Indicators:

  • Kernel panic messages mentioning 'NULL pointer dereference'
  • OOPS messages with ftrace or is_ftrace_trampoline in stack trace
  • System crash/reboot logs without clear cause

Network Indicators:

  • None - local exploitation only

SIEM Query:

source="kernel" AND ("NULL pointer dereference" OR "is_ftrace_trampoline" OR "ftrace_ops_list")

🔗 References

📤 Share & Export