Linux kernel local privilege escalation (CVE-2022-0995) [PoC]
CVE-2022-0995
CVE-2022-0995: Linux kernel watch_queue OOB write grants local privilege escalation to root (CVSS 7.8), actively exploited. Update your kernel package immediately.
Actively exploited in the wild - CVE-2022-0995 is a high-severity out-of-bounds memory write in the Linux kernel’s watch_queue subsystem (all mainline versions from 5.8 through 5.16, and various 5.4/5.10 LTS branches) that lets a local user escalate privileges to root or crash the system. Patches are available in kernel 5.16.14, 5.15.28, 5.10.104, and 5.4.184 - update immediately.
Overview
CVE-2022-0995 is an out-of-bounds write vulnerability in the watch_queue event notification subsystem of the Linux kernel. Watch_queue is a mechanism that allows processes to receive asynchronous notifications when specific events occur, such as keyring changes or pipe activity. The flaw arises from improper boundary checks when keystructures are copied into the watch queue buffer, allowing an attacker to overwrite adjacent memory in the kernel heap.
Because the vulnerability affects kernel memory, a successful exploit can overwrite critical kernel data structures. The result is either a denial of service (kernel panic) or, more seriously, local privilege escalation to root. The flaw requires only low privileges to trigger - a local user or process without special permissions can exploit it, and no user interaction is needed.
The vulnerability affects all Linux kernel versions from 5.8 onwards originally, with backports into LTS branches 5.10 and 5.4 as well. Distributions including Ubuntu, Debian, Red Hat, and SUSE have all shipped affected kernels in their standard repositories during the affected window.
Remediation and Mitigation
The Linux kernel community released fixes in March 2022. The following versions contain the upstream patch:
- Mainline: 5.16.14 and later
- Stable branches: 5.15.28+, 5.10.104+, 5.4.184+
- All long-term support kernels that backported the fix
Immediate actions:
- Apply your distribution’s kernel security update as soon as it is available (most major distros shipped patches within days of disclosure).
- For systems where a reboot is disruptive, prioritize internet-facing or multi-tenant hosts first - these face the highest risk from a local attacker.
- If patching is impossible, restrict local access to trusted users only. The flaw requires local execution, so limiting shell access to unprivileged accounts reduces exposure.
- Check your kernel version with
uname -rand compare against the fixed versions above.
CISA has added CVE-2022-0995 to its Known Exploited Vulnerabilities (KEV) catalog, confirming active exploitation in the wild. Given the EPSS score of 6.3% probability of exploitation within 30 days, treat this as a pressing patching priority.
For broader context on recent actively exploited Linux kernel flaws, see the CISA KEV addition for CVE-2026-31431, and for a survey of related kernel-level privilege escalation issues affecting container environments, review the CrackArmor AppArmor analysis. This week’s broader exploit landscape is covered in the weekly threat roundup.
Security Insight
CVE-2022-0995 belongs to a recurring pattern: complex kernel subsystems that gain new features (like watch_queue in 5.8) frequently ship with subtle memory-safety defects that only surface under attack. The gap between a kernel feature’s introduction and its first exploitable bug is often measured in months, not years, which is why maintaining current kernels matters even for stable LTS deployments - the CVE-2022-0995 fix required updates to four separate LTS branches simultaneously. Organizations running older kernels for compliance reasons should treat these backported fixes as mandatory, since the active exploitation of this bug demonstrates that attackers do not wait for scheduled maintenance windows.
Further Reading
Never miss a critical vulnerability
Get real-time security alerts delivered to your preferred platform.
Metasploit Modules
Weaponized exploit code — authorized use only
The Metasploit Framework modules below are production-ready exploit code maintained by Rapid7. Unlike random GitHub PoCs, these are vetted by Metasploit maintainers and integrated into a point-and-click exploitation framework used by red teams worldwide. The presence of an MSF module means this CVE is trivially exploitable at scale — patch immediately.
Authorized use only. Run only against systems you own or have explicit written permission to test. Using exploit code against systems you do not own is illegal in most jurisdictions and violates Yazoul's terms of use.
| Module | Source |
|---|---|
exploit/linux/local/cve_2022_0995_watch_queue | View source |
1 Metasploit module indexed for this CVE. Source: rapid7/metasploit-framework.
Public PoC References
Unverified third-party code
These repositories are publicly listed on GitHub and have not been audited by Yazoul Security. They may contain malware, backdoors, destructive payloads, or operational security risks (telemetry, exfiltration). Treat them as hostile binaries. Inspect source before execution. Run only in isolated, disposable lab environments (offline VM, no credentials, no production data).
Authorized use only. This information is provided for defensive research, detection engineering, and patch validation. Using exploit code against systems you do not own or do not have explicit written permission to test is illegal in most jurisdictions and violates Yazoul's terms of use.
| Repository | Stars |
|---|---|
| Bonfee/CVE-2022-0995 CVE-2022-0995 exploit | ★ 497 |
| AndreevSemen/CVE-2022-0995 Реализация средств повышения привилегий в Linux | ★ 1 |
| 1nzag/CVE-2022-0995 CVE-2022-0995 exploit | ★ 1 |
Showing 3 of 3 known references. Source: nomi-sec/PoC-in-GitHub.
Related Advisories
In the Linux kernel, the following vulnerability has been resolved: netfilter: bridge: make ebt_snat ARP rewrite writable The ebtables SNAT target keeps the Ethernet source address rewrite behind sk...
Out of bounds write in Skia in Google Chrome prior to 146.0.7680.75 allowed a remote attacker to perform out of bounds memory access via a crafted HTML page. (Chromium security severity: High)...
In the Linux kernel, the following vulnerability has been resolved: ipv6: account for fraggap on the paged allocation path In __ip6_append_data(), when the paged-allocation branch is taken (MSG_MORE...
Out of bounds read and write in V8 in Google Chrome prior to 149.0.7827.103 allowed a remote attacker to execute arbitrary code inside a sandbox via a crafted HTML page. (Chromium security severity: H...
Other Linux Kernel Vulnerabilities
In the Linux kernel, the following vulnerability has been resolved: ipv6: account for fraggap on the paged allocation path In __ip6_append_data(), when the paged-allocation branch is taken (MSG_MORE...
In the Linux kernel, the following vulnerability has been resolved: netfilter: bridge: make ebt_snat ARP rewrite writable The ebtables SNAT target keeps the Ethernet source address rewrite behind sk...
Out of bounds read and write in V8 in Google Chrome prior to 149.0.7827.103 allowed a remote attacker to execute arbitrary code inside a sandbox via a crafted HTML page. (Chromium security severity: H...
Integer overflow in Blink in Google Chrome prior to 148.0.7778.96 allowed a remote attacker to potentially exploit heap corruption via a crafted HTML page. (Chromium security severity: Critical)...