June 26th, 2024

The Dirty Pipe Vulnerability

The Dirty Pipe Vulnerability (CVE-2022-0847) in Linux kernel versions since 5.8 allowed unauthorized data overwriting in read-only files, fixed in versions 5.16.11, 5.15.25, and 5.10.102. Discovered through CRC errors in log files, it revealed systematic corruption linked to ZIP file headers due to a kernel bug in Linux 5.10. The bug's origin was pinpointed by replicating data transfer issues between processes using C programs, exposing the faulty commit. Changes in the pipe buffer code impacted data transfer efficiency, emphasizing the intricate nature of kernel development and software component interactions.

Read original articleLink Icon
The Dirty Pipe Vulnerability

The Dirty Pipe Vulnerability, identified as CVE-2022-0847, affects the Linux kernel versions since 5.8, allowing unauthorized processes to overwrite data in read-only files, leading to privilege escalation. Resembling the "Dirty Cow" vulnerability, it was easier to exploit and was fixed in Linux versions 5.16.11, 5.15.25, and 5.10.102. The issue was initially noticed through corrupt log files, with a recurring pattern of CRC errors. Investigation revealed a systematic corruption related to ZIP file headers, ultimately traced back to a kernel bug in Linux 5.10. The bug was reproduced by simulating data transfer between processes using C programs, leading to the identification of the faulty commit. The vulnerability stemmed from changes in the pipe buffer code, impacting the efficiency of data transfer mechanisms like splice(). This incident highlights the complexity of kernel development and the intricate interactions between software components in a system.

Link Icon 1 comments
By @loa_in_ - 4 months
One of my favourite investigation stories