Linux Kernel
CVE-2022-0847
HIGH
Severity by source
AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Primary rating from NVD · only source for this CVE.
CVSS VectorNVD
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Lifecycle Timeline
5DescriptionCVE.org
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.
AnalysisAI
Linux kernel contains a flaw known as 'Dirty Pipe' where improper pipe buffer flag initialization allows unprivileged local users to overwrite read-only files, enabling trivial privilege escalation to root on Linux 5.8+.
Technical ContextAI
The CWE-665 improper initialization in copy_page_to_iter_pipe and push_pipe leaves the PIPE_BUF_FLAG_CAN_MERGE flag set on newly allocated pipe buffers. When a pipe is spliced from a file, subsequent writes to the pipe overwrite the page cache of the source file, even if the file is read-only (owned by root with 0644 permissions).
Affected ProductsAI
Linux kernel 5.8 through 5.16.10 Linux kernel 5.15.x before 5.15.25 Android 12 (kernel 5.10+)
RemediationAI
Update Linux kernel to 5.16.11, 5.15.25, or 5.10.102+. For Android, apply the March 2022 security patch. Container environments must update the host kernel. Monitor for /etc/passwd and /etc/shadow modification attempts.
More in Linux Kernel
View allThe overlayfs implementation in the linux (aka Linux kernel) package before 3.19.0-21.21 in Ubuntu through 15.04 does no
The packet_set_ring function in net/packet/af_packet.c in the Linux kernel through 4.10.6 does not properly validate cer
The check_alu_op function in kernel/bpf/verifier.c in the Linux kernel through 4.4 allows local users to cause a denial
Linux kernel: Exploitable memory corruption due to UFO to non-UFO path switch. Rated high severity (CVSS 7.0). Public ex
The ovl_setattr function in fs/overlayfs/inode.c in the Linux kernel through 4.3.3 attempts to merge distinct setattr op
The mem_write function in the Linux kernel before 3.2.2, when ASLR is disabled, does not properly check permissions when
The compat_sys_recvmmsg function in net/compat.c in the Linux kernel before 3.13.2, when CONFIG_X86_X32 is enabled, allo
Race condition in net/packet/af_packet.c in the Linux kernel through 4.8.12 allows local users to gain privileges or cau
The join_session_keyring function in security/keys/process_keys.c in the Linux kernel before 4.4.1 mishandles object ref
A remote code execution vulnerability in the Broadcom Wi-Fi firmware could enable a remote attacker to execute arbitrary
It was discovered that the cls_route filter implementation in the Linux kernel would not remove an old filter from the h
An elevation of privilege vulnerability in the Motorola bootloader could enable a local malicious application to execute
Same weakness CWE-665 – Improper Initialization
View allShare
External POC / Exploit Code
Leaving vuln.today