CVE-2022-49006

7.8 HIGH

📋 TL;DR

This is a use-after-free vulnerability in the Linux kernel's tracing subsystem where dynamic events (like kprobes) can have their type numbers reused after removal while old events remain in ring buffers. This allows an attacker with local access to potentially crash the kernel or cause memory corruption. Any system using Linux kernel tracing with dynamic events is affected.

💻 Affected Systems

Products:
  • Linux Kernel
Versions: Versions before the fix commits (specific versions vary by distribution)
Operating Systems: Linux distributions using vulnerable kernel versions
Default Config Vulnerable: ✅ No
Notes: Only vulnerable if kernel tracing is enabled and dynamic events are used. Most default configurations don't have tracing enabled for regular users.

📦 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 →

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 denial of service, or potential privilege escalation if memory corruption can be controlled.

🟠

Likely Case

Kernel crash/panic causing system instability and denial of service.

🟢

If Mitigated

Limited impact if tracing is disabled or dynamic events aren't used.

🌐 Internet-Facing: LOW - Requires local access to the system.
🏢 Internal Only: MEDIUM - Local users or processes could exploit this to crash the kernel.

🎯 Exploit Status

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

The CVE description includes a proof-of-concept script. Exploitation requires local access and ability to create/remove dynamic tracing events.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Kernel versions with commits: 1603feac154ff38514e8354e3079a455eb4801e2, 417d5ea6e735e5d88ffb6c436cf2938f3f476dd1, 4313e5a613049dfc1819a6dfb5f94cf2caff9452, be111ebd8868d4b7c041cb3c6102e1ae27d6dc1d, c52d0c8c4f38f7580cff61c4dfe1034c580cedfd

Vendor Advisory: https://git.kernel.org/stable/c/1603feac154ff38514e8354e3079a455eb4801e2

Restart Required: Yes

Instructions:

1. Update Linux kernel to patched version from your distribution. 2. Reboot system to load new kernel. 3. Verify kernel version matches patched release.

🔧 Temporary Workarounds

Disable dynamic tracing events

linux

Prevent creation of dynamic tracing events to mitigate the vulnerability

echo 0 > /sys/kernel/tracing/events/enable
chmod 000 /sys/kernel/tracing/kprobe_events

Restrict tracing access

linux

Limit who can access tracing functionality

chmod 600 /sys/kernel/tracing/kprobe_events
setfacl -m u:root:rw- /sys/kernel/tracing/kprobe_events

🧯 If You Can't Patch

  • Disable kernel tracing completely if not needed
  • Implement strict access controls to prevent unauthorized users from creating dynamic events

🔍 How to Verify

Check if Vulnerable:

Check kernel version and compare with distribution's patched versions. Vulnerable if using kernel before fix commits.

Check Version:

uname -r

Verify Fix Applied:

Verify kernel version includes the fix commits or is newer than your distribution's patched version.

📡 Detection & Monitoring

Log Indicators:

  • Kernel panic messages
  • System crashes
  • Unexpected reboots
  • Messages about tracing subsystem failures

Network Indicators:

  • None - local vulnerability only

SIEM Query:

source="kernel" AND ("panic" OR "Oops" OR "tracing" OR "kprobe")

🔗 References

📤 Share & Export