CVE-2022-49916
📋 TL;DR
A NULL pointer dereference vulnerability in the Linux kernel's ROSE protocol implementation allows local attackers to cause a kernel panic (denial of service) by triggering the rose_send_frame() function with a null device pointer. This affects systems using the ROSE protocol or with ROSE networking enabled. The vulnerability requires local access to exploit.
💻 Affected Systems
- Linux kernel
📦 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 →⚠️ Risk & Real-World Impact
Worst Case
Kernel panic leading to system crash and denial of service, potentially disrupting critical services.
Likely Case
Local denial of service through kernel panic, requiring system reboot to recover.
If Mitigated
Minimal impact if ROSE protocol is disabled or unused, as exploitation requires specific network configuration.
🎯 Exploit Status
Syzkaller reproducer exists, exploitation requires local access and ROSE socket manipulation.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Fixed in kernel commits: 01b9c68c121847d05a4ccef68244dadf82bfa331, 3e2129c67daca21043a26575108f6286c85e71f6, 5b46adfbee1e429f33b10a88d6c00fa88f3d6c77, a601e5eded33bb88b8a42743db8fef3ad41dd97e, b13be5e852b03f376058027e462fad4230240891
Vendor Advisory: https://git.kernel.org/stable/c/01b9c68c121847d05a4ccef68244dadf82bfa331
Restart Required: Yes
Instructions:
1. Update Linux kernel to patched version from your distribution. 2. Reboot system to load new kernel. 3. Verify ROSE module is not loaded if not needed.
🔧 Temporary Workarounds
Disable ROSE protocol
linuxPrevent loading of ROSE kernel module to eliminate attack surface
echo 'install rose /bin/false' >> /etc/modprobe.d/rose-blacklist.conf
rmmod rose 2>/dev/null || true
Restrict ROSE socket creation
linuxUse kernel capabilities to restrict ROSE socket creation to privileged users
sysctl -w net.rose.rose_socket_creation=0
🧯 If You Can't Patch
- Disable ROSE protocol module completely if not required
- Implement strict access controls to prevent unprivileged users from creating ROSE sockets
🔍 How to Verify
Check if Vulnerable:
Check if ROSE module is loaded: lsmod | grep rose. Check kernel version against distribution security advisories.
Check Version:
uname -r
Verify Fix Applied:
Verify kernel version is patched and ROSE module is not loaded or restricted.
📡 Detection & Monitoring
Log Indicators:
- Kernel panic logs mentioning rose_send_frame
- NULL pointer dereference in kernel logs with ROSE references
Network Indicators:
- Unusual ROSE protocol traffic if normally unused
SIEM Query:
source="kernel" AND "NULL pointer dereference" AND "rose"
🔗 References
- https://git.kernel.org/stable/c/01b9c68c121847d05a4ccef68244dadf82bfa331
- https://git.kernel.org/stable/c/3e2129c67daca21043a26575108f6286c85e71f6
- https://git.kernel.org/stable/c/5b46adfbee1e429f33b10a88d6c00fa88f3d6c77
- https://git.kernel.org/stable/c/a601e5eded33bb88b8a42743db8fef3ad41dd97e
- https://git.kernel.org/stable/c/b13be5e852b03f376058027e462fad4230240891
- https://git.kernel.org/stable/c/bbc03d74e641e824754443b908454ca9e203773e
- https://git.kernel.org/stable/c/e97c089d7a49f67027395ddf70bf327eeac2611e
- https://git.kernel.org/stable/c/f06186e5271b980bac03f5c97276ed0146ddc9b0