Linux Kernel Privilege Escalation Vulnerability (CVE-2022-0847)
Published In CISA KEV since Sources: OSV, SingCERT, Debian, Siemens ProductCERT, CVE.org
What is affected, what to do
A flaw was found in the way the "flags" member of the new pipe buffer structure was lacking proper initialization in copy_page_to_iter_pipe and push_pipe functions in the Linux kernel and could thus contain stale values. An unprivileged local user could use this flaw to write to pages in the page cache backed by read only files and as such escalate their privileges on the system.
The vulnerability is being actively exploited; treat it as a priority. Update :linux_kernel: to version :2022-05-05. Immediate actions, mitigation and detection rules are in the runbook below.
- Affected
- Kernel
eq Linux Kernel 5.17 rc6..Linux Kernel 5.17 rc6
- Kernel
Not sure whether and how you are affected? Ask a question about this vulnerability
Metrics
7.8
Priority
XIEM Effective CVSS: highest available CVSS rating from NVD and vendor data.
Source: NVD, CVSS v3
7.8
CVSS v3
Severity High on the scale from 0 to 10.
Source: OSV, SingCERT, Debian, Siemens ProductCERT, CVE.org
92.8 %
EPSS score
High — model estimates ≥ 50% chance of real-world exploitation within 30 days.
Source: FIRST EPSS, percentile 99.83
Show all metrics
- Severity
- Critical
Priority (0–325)
The priority score is a consolidated metric that condenses several individual signals into a single, action-guiding ranking: technical severity (CVSS), exploitation likelihood (EPSS), known-exploited status (KEV) and the context of the affected asset. The aim is to answer the only truly important question in vulnerability management: what first?
Read in glossary- 219.26 Methodology
Exploit maturity
An exploit is code or a technique that specifically uses a concrete vulnerability to force unintended behaviour — such as executing code or escalating privileges. It is the tool that turns a theoretical flaw into a practical attack.
Read in glossary- actively exploited
XIEM Effective CVSS
XIEM® is the tiered managed-security operating model from NEOSEC and a registered trademark of NEOSEC GmbH. It extends classic SIEM — the central collection, normalisation and correlation of security-relevant events — with endpoint forensics, network visibility and deception technology, and consolidates them into three building tiers: Sentry, Orchestrate and Command.
Read in glossary- 7.8 Methodology
CVSS v3
CVSS is the globally established, open standard for assessing the technical severity of a vulnerability on a scale from 0 to 10. It describes how easily a flaw can be exploited and what damage it can cause — but not how likely its actual exploitation is. CVSS and the complementary EPSS deliberately answer different questions.
Read in glossary- 7.8
EPSS score
The EPSS score is the absolute model output for an individual vulnerability: the estimated probability of real-world exploitation within the next 30 days, expressed as a value between 0 and 1 (i.e. 0 % to 100 %). A score of 0.42 means „the model estimates a 42 % chance of real-world exploitation within 30 days“.
Read in glossary- 92.8 %
- High — model estimates ≥ 50% chance of real-world exploitation within 30 days.
EPSS percentile
The EPSS percentile is the relative position of a vulnerability within all EPSS-scored CVEs, expressed as a value between 0 and 1. A percentile of 0.90 means „this CVE has a higher EPSS score than 90 % of all other scored CVEs“. Unlike the EPSS score, it is not a probability — but a positioning within a ranking.
Read in glossary- 99.83
- Critical — this CVE ranks in the top fifth of all CVEs scored today (rank ≥ 80%).
KEV status
The KEV catalogue is a list maintained by the US authority CISA of vulnerabilities for which active exploitation in the wild has been confirmed. It answers not the question „how severe?“ but „is it already being attacked?“ — thereby sharply prioritising patching.
Read in glossary- Actively exploited
- Published
In CISA KEV since
The KEV catalogue is a list maintained by the US authority CISA of vulnerabilities for which active exploitation in the wild has been confirmed. It answers not the question „how severe?“ but „is it already being attacked?“ — thereby sharply prioritising patching.
Read in glossaryCWE
CWE is a catalogue of typical weakness types in software and hardware — such as flawed input validation, unsafe memory handling or poor authentication. Where a CVE names a concrete vulnerability in a concrete product, a CWE describes the underlying class of defect.
Read in glossary- CWE-665
Response and mitigation
Why act now?
Prioritisation rationale
Dirty Pipe is on KEV because reliable public exploits deliver root instantly on virtually every distribution running kernel 5.8 or later — no race condition, no fiddly offsets — and it ranks among the CVEs most likely to be exploited. Attackers chain it after initial access via web apps, stolen SSH credentials or compromised CI jobs, and use it for container escape. It needs low-privileged local access and CISA does not flag ransomware use, but container hosts, Kubernetes nodes, build servers and multi-user systems should be treated as critical and patched within 24-72 hours; single-purpose servers with no untrusted code execution can follow the regular patch cycle.
Runbook step 1
Immediate response (0-24 h)
- Inventory kernels: Collect
uname -rfrom every Linux host (Ansible/Salt or EDR inventory). Every kernel from 5.8 up to the fixed releases is affected. Start with container hosts, CI/CD runners and multi-user systems. - Patch the kernel and reboot: Upstream fixed versions are 5.10.102, 5.15.25 and 5.16.11 (and 5.17-rc6 onwards). For distribution kernels (RHEL, Ubuntu, Debian, SUSE, Fedora 35) look up the backported build in the distro advisory. The host stays vulnerable until rebooted — use a live patch (kpatch, Canonical Livepatch, kGraft) if your vendor ships one.
- NetApp HCI (H300E/H300S/H410C): Patch available from the vendor — look up the firmware version in the NetApp advisory. Until then, restrict management access to admin networks only.
- Restrict local access: On unpatched hosts, temporarily remove interactive shell access for non-admin accounts (SSH
AllowGroups, set shell to/usr/sbin/nologin). Shared build servers and jump hosts first. - Check integrity of critical files: Compare hashes of
/etc/passwd,/etc/shadowand SUID binaries (/usr/bin/su,/usr/bin/sudo,/usr/bin/passwd,/usr/bin/pkexec) against package references (rpm -Va,debsums -c). The tampering lives only in the page cache and disappears on reboot — check before restarting and capture a memory image if anything looks off.
- Inventory kernels: Collect
Runbook step 2
Mitigation layers
- Configuration/containers: No sysctl or boot parameter neutralises this bug. For containers, deploy a custom seccomp profile that returns
SCMP_ACT_ERRNOforsplice(andvmsplice,tee) — Docker's default profile allowssplice. Test first; proxies and web servers usesplicelegitimately. - Container isolation: Known exploit variants overwrite host binaries such as
runcvia the shared page cache. Move untrusted workloads to patched nodes or VM-backed sandboxes (gVisor, Kata Containers); taint unpatched Kubernetes nodes so nothing new schedules there. - IAM/least privilege: Minimise local accounts, run service accounts without login shells, and cut off code-execution paths (upload features, CI pipelines building untrusted forks) — this bug is typically the second stage after initial access.
- Endpoint hardening: Read-only mounts do not help (the attack targets the page cache). Enable IMA/EVM or enforce SELinux/AppArmor to block execution of unexpected binaries from
/tmpand/dev/shm; mount/tmpwithnoexec,nosuid. - Network segmentation: The attack is local, so shrink the initial-access surface: allow SSH only from management VLANs and front exposed services on unpatched hosts with a WAF/reverse proxy.
- Configuration/containers: No sysctl or boot parameter neutralises this bug. For containers, deploy a custom seccomp profile that returns
Runbook step 3
Detection rules
- auditd — splice by unprivileged users:
-a always,exit -F arch=b64 -S splice -F auid>=1000 -F auid!=-1 -k dirtypipe. Correlate with reads of/etc/passwdor SUID binaries by the same PID. - Privilege change without a legitimate path (EDR/auditd): A
uid=0process whose parent runs as non-root and whose ancestry does not pass throughsudo/suwith a successful PAM auth. SPL sketch:index=linux sourcetype=auditd type=EXECVE euid=0 | where auid>=1000 AND NOT match(exe,"(sudo|su|pkexec)$"). - Suspicious artefacts: Freshly compiled or executed ELF files in
/tmp,/dev/shmor home directories followed by a root shell; creation of SUID shell copies (e.g./tmp/shmode 4755). Sigma shape:logsource: linux/auditd; selection: syscall=chmod, a1 contains '4755', path startswith '/tmp/'. - Page cache vs. disk mismatch: Periodically hash
/etc/passwdand SUID binaries against package references; a passwordless root entry (root::0:0) or an unexpected UID-0 account is a strong indicator. Enable Falco rules "Write below etc" and "Modify binary dirs". - Container runtime: Falco/Tetragon alert on
splicesyscalls from inside containers followed by modification or execution of the hostrunc.
- auditd — splice by unprivileged users:
Detection rules
No NEOSEC detection rule is available for this vulnerability yet.
Classification under NIS2 and CRA
Rule-based classification from exploitation status and severity. It does not replace a case-by-case assessment.
NIS2
NIS2 is EU Directive (EU) 2022/2555 to raise the level of cybersecurity across the Union. It substantially broadens obligations compared with the first NIS directive: more sectors, mandatory risk management, staged reporting duties and personal accountability of senior management.
Read in glossary- Actively exploited: treat the vulnerability as a priority in vulnerability handling under Art. 21(2)(e) NIS2. If it is exploited in your environment, check the reporting obligation under Art. 23 (early warning within 24 hours).
CRA
The CRA is EU Regulation (EU) 2024/2847 setting horizontal cybersecurity requirements for „products with digital elements“ — from industrial controllers and software to connected consumer devices. For the first time manufacturers must ensure security across the entire product lifecycle, handle vulnerabilities and provide security updates.
Read in glossary- Since 11.09.2026, manufacturers of affected products with digital elements must report actively exploited vulnerabilities under Art. 14 CRA, with an early warning within 24 hours via ENISA's single reporting platform.
ISO/IEC 27001
ISO/IEC 27001 is the internationally leading standard for an information security management system (ISMS). It describes a risk-based, process-oriented framework to systematically plan, implement, review and improve information security.
Read in glossary- Control A.8.8, management of technical vulnerabilities: assess relevance to your systems, plan remediation and keep evidence.
Description
A flaw was found in the way the "flags" member of the new pipe buffer structure was lacking proper initialization in copy_page_to_iter_pipe and push_pipe functions in the Linux kernel and could thus contain stale values. An unprivileged local user could use this flaw to write to pages in the page cache backed by read only files and as such escalate their privileges on the system.
Source: OSV (Open Source Vulnerabilities), CSA/SingCERT, Debian Security Advisories, siemens_advisory, NVD (NIST), cvelistv5, CISA KEV Catalog, CVE.org (MITRE)
Affected products
The following versions are affected. Older releases of the same product line are also vulnerable unless stated otherwise.
| Affected versions | Fixed in | ||
|---|---|---|---|
| — | kernel |
|
|
| ovirt | ovirt-engine |
|
|
| redhat | codeready_linux_builder |
|
|
| redhat | virtualization_host |
|
|
| android | :linux_kernel: |
|
|
Vendors and products
Affected operating systems
| Linux | redhat | enterprise_linux | 8.0 |
| Linux | redhat | enterprise_linux_eus | 8.2 |
| Linux | redhat | enterprise_linux_eus | 8.4 |
| Linux | redhat | enterprise_linux_for_ibm_z_systems | 8.0 |
| Linux | redhat | enterprise_linux_for_ibm_z_systems_eus | 8.2 |
| Linux | redhat | enterprise_linux_for_ibm_z_systems_eus | 8.4 |
| Linux | redhat | enterprise_linux_for_power_little_endian | 8.0 |
| Linux | redhat | enterprise_linux_for_power_little_endian_eus | 8.2 |
| Linux | redhat | enterprise_linux_for_power_little_endian_eus | 8.4 |
| Linux | redhat | enterprise_linux_for_real_time | 8 |
| Linux | redhat | enterprise_linux_for_real_time_for_nfv | 8 |
| Linux | redhat | enterprise_linux_for_real_time_for_nfv_tus | 8.2 |
| Linux | redhat | enterprise_linux_for_real_time_for_nfv_tus | 8.4 |
| Linux | redhat | enterprise_linux_for_real_time_tus | 8.2 |
| Linux | redhat | enterprise_linux_for_real_time_tus | 8.4 |
| Linux | redhat | enterprise_linux_server_aus | 8.2 |
| Linux | redhat | enterprise_linux_server_aus | 8.4 |
| Linux | redhat | enterprise_linux_server_for_power_little_endian_update_services_for_sap_solutions | 8.1 |
| Linux | redhat | enterprise_linux_server_for_power_little_endian_update_services_for_sap_solutions | 8.2 |
| Linux | redhat | enterprise_linux_server_for_power_little_endian_update_services_for_sap_solutions | 8.4 |
| Linux | redhat | enterprise_linux_server_tus | 8.2 |
| Linux | redhat | enterprise_linux_server_tus | 8.4 |
| Linux | redhat | enterprise_linux_server_update_services_for_sap_solutions | 8.1 |
| Linux | redhat | enterprise_linux_server_update_services_for_sap_solutions | 8.2 |
Weakness classes (CWE)
CWE-665Improper Initialization
Class
The product does not initialize or incorrectly initializes a resource, which might leave the resource in an unexpected state when it is accessed or used.
Entry at MITRE CWE-665
Public exploit references
Publicly reported proof-of-concepts, exploit modules and detection templates for this vulnerability. NEOSEC links to the original sources only and does not provide any exploit code.
| CISA KEV Catalog | CISA Known Exploited Vulnerability (opens in a new tab)cisa.gov | actively exploited | |
| Packet Storm | Dirty Pipe Linux Privilege Escalation (opens in a new tab)packetstormsecurity.com | PoC (publicly reported)reported, not verified | — |
| Packet Storm | Dirty Pipe SUID Binary Hijack Privilege Escalation (opens in a new tab)packetstormsecurity.com | PoC (publicly reported)reported, not verified | — |
| Packet Storm | Dirty Pipe Local Privilege Escalation (opens in a new tab)packetstormsecurity.com | PoC (publicly reported)reported, not verified | — |
| Packet Storm | Linux 4.20 KTLS Read Only Write (opens in a new tab)packetstormsecurity.com | PoC (publicly reported)reported, not verified | — |
References & sources
- source.android.comsecurity/bulletin/2022-05-01advisory
- android.googlesource.comkernel/common/+/b9b8fd203dba3fix
- android.googlesource.comkernel/common/+/b19ec7afa9297fix
- android.googlesource.comkernel/common/+/aa3e9c7480830f38390a61501386be4a03efb88dfix
- bugzilla.redhat.comshow_bug.cgi?id=2060795Issue tracking, Patch, Third-party advisory
- dirtypipe.cm4all.comExploit, Third-party advisory
- packetstormsecurity.comfiles/166230/Dirty-Pipe-SUID-Binary-Hijack-Privilege-Escalation…Exploit, Third-party advisory, Vulnerability database
- packetstormsecurity.comfiles/166229/Dirty-Pipe-Linux-Privilege-Escalation.htmlExploit, Third-party advisory, Vulnerability database
- packetstormsecurity.comfiles/166258/Dirty-Pipe-Local-Privilege-Escalation.htmlExploit, Third-party advisory, Vulnerability database
- suse.comsupport/kb/doc/?id=000020603Third-party advisory
- security.netapp.comadvisory/ntap-20220325-0005Third-party advisory
- Siemens ProductCERTproductcert/pdf/ssa-222547.pdfThird-party advisory
- psirt.global.sonicwall.comvuln-detail/SNWLID-2022-0015Third-party advisory
- packetstormsecurity.comfiles/176534/Linux-4.20-KTLS-Read-Only-Write.htmlThird-party advisory, Vulnerability database
- cisa.govknown-exploited-vulnerabilities-catalog?field_cve=CVE-2022-0847government-resource, US government resource
Linked advisories
Embed badge
Show the severity and KEV status of this vulnerability on your site – with a link back here. The image is updated hourly.
<a href="https://intel.neosec.eu/en/cve/CVE-2022-0847"><img src="https://intel.neosec.eu/badge/cve/CVE-2022-0847.svg?lang=en" alt="CVE-2022-0847 – NEOSEC Intel" height="20"></a>