CVE-2022-2318 Overview
CVE-2022-2318 is a use-after-free vulnerability in the Linux kernel's Rose protocol implementation. The flaw resides in the timer handler logic of net/rose/rose_timer.c. A local attacker with low privileges can trigger memory corruption to crash the kernel, resulting in denial of service. The vulnerability is classified under [CWE-416] Use After Free and affects multiple Linux distributions plus NetApp storage appliances that bundle the affected kernel.
Critical Impact
A local, unprivileged attacker can crash the Linux kernel by triggering the Rose timer use-after-free condition, causing a full system denial of service.
Affected Products
- Linux kernel (including 5.19 release candidates rc1–rc4)
- Debian Linux 10.0 and 11.0
- NetApp HCI storage nodes (H300S, H500S, H700S, H410S, H410C) and associated firmware
Discovery Timeline
- 2022-07-06 - CVE-2022-2318 published to the National Vulnerability Database
- 2024-11-21 - Last updated in NVD database
Technical Details for CVE-2022-2318
Vulnerability Analysis
The vulnerability exists in the Rose (Radio Amateur Packet Switching) network protocol stack of the Linux kernel. Rose is an amateur radio networking protocol implemented in net/rose/. The defect occurs in the timer handler code of rose_timer.c, where socket-associated timers can fire after the underlying socket structure has been freed. When the timer callback dereferences the stale pointer, the kernel accesses freed memory, leading to corruption or panic.
The issue is local in nature and does not require elevated privileges. The attack does not yield code execution or information disclosure on its own. The primary impact is on availability — a kernel oops or panic that disrupts every workload on the host.
Root Cause
The root cause is improper lifecycle synchronization between Rose socket teardown and pending kernel timers. When a Rose socket is closed or destroyed, associated timers are not consistently cancelled or refcounted before the socket memory is released. The upstream fix in commit 9cc02ede696272c5271a401e4f27c262359bc2f6 adjusts the timer handling so the socket is correctly held while the timer is active, eliminating the dangling reference.
Attack Vector
Exploitation requires local access and the ability to create and manipulate Rose protocol sockets. An attacker opens a Rose socket, arms the relevant kernel timer, and races the socket release path so the timer handler runs against freed memory. The vulnerability cannot be triggered remotely and does not bypass authentication, but it does not require root because Rose socket operations are accessible to standard users on systems where the protocol is enabled.
No public proof-of-concept exploit is currently listed in Exploit-DB, and the issue is not present on the CISA Known Exploited Vulnerabilities catalog. See the Linux kernel fix commit for technical details of the corrected timer handling.
Detection Methods for CVE-2022-2318
Indicators of Compromise
- Unexpected kernel oops or panic messages referencing rose_timer, rose_heartbeat_expiry, rose_timer_expiry, or rose_idletimer_expiry in dmesg or /var/log/kern.log.
- KASAN reports identifying use-after-free reads or writes within functions in net/rose/rose_timer.c.
- Sudden host reboots or kernel hangs on systems where the rose kernel module is loaded.
Detection Strategies
- Inventory hosts with the rose kernel module present using lsmod | grep rose and flag any system where loading is not explicitly required.
- Audit running kernels against the patched versions referenced in the Debian Security Advisory DSA-5191 and the NetApp Security Advisory NTAP-20230120-0001.
- Correlate kernel crash telemetry with process activity that creates AF_ROSE sockets to identify abuse patterns.
Monitoring Recommendations
- Forward kernel ring buffer logs to a centralized SIEM and alert on repeated crashes that reference Rose protocol symbols.
- Track module_load and module_init events for the rose module on production servers and treat unexpected loads as suspicious.
- Monitor for non-administrative users invoking socket(AF_ROSE, ...) through auditd or eBPF-based syscall tracing.
How to Mitigate CVE-2022-2318
Immediate Actions Required
- Apply the upstream Linux kernel fix from commit 9cc02ede696272c5271a401e4f27c262359bc2f6 or upgrade to a distribution kernel that incorporates it.
- Debian 10 and 11 administrators should install updates from the Debian LTS Security Announcement and Debian Security Advisory DSA-5191.
- NetApp HCI customers (H300S, H500S, H700S, H410S, H410C) should follow the remediation steps in the NetApp Security Advisory NTAP-20230120-0001.
Patch Information
The authoritative fix is the upstream Linux commit 9cc02ede696272c5271a401e4f27c262359bc2f6, which corrects timer-handler lifecycle management in net/rose/rose_timer.c. Distribution-specific backports are available through Debian and NetApp advisories listed above. Apply vendor-supplied kernel updates and reboot to activate the patched image.
Workarounds
- Blacklist the rose kernel module on hosts that do not require amateur radio networking by adding blacklist rose to /etc/modprobe.d/blacklist-rose.conf.
- Restrict creation of AF_ROSE sockets to trusted users via seccomp or SELinux/AppArmor policies on multi-tenant systems.
- Limit local shell access on production servers so untrusted accounts cannot reach kernel attack surfaces such as obscure protocol stacks.
# Configuration example
# Prevent the vulnerable Rose module from loading at boot
echo "blacklist rose" | sudo tee /etc/modprobe.d/blacklist-rose.conf
echo "install rose /bin/true" | sudo tee -a /etc/modprobe.d/blacklist-rose.conf
# Unload it now if currently loaded
sudo modprobe -r rose
# Verify the module is no longer active
lsmod | grep rose || echo "rose module is not loaded"
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

