Race Condition in Canonical Apport
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 2.20.1-0ubuntu2.30+esm5, 2.20.9-0ubuntu7.29+esm1, 2.20.11-0ubuntu27.28, 2.20.11-0ubuntu82.7, 2.28.1-0ubuntu3.6, and 3 more
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- 1 proof of concept on GitHub
- Exploitation: poc
- Automatable: no
- Technical impact: partial
Summary
Race condition in Canonical apport up to and including 2.32.0 allows a local attacker to leak sensitive information via PID-reuse by leveraging namespaces. When handling a crash, the function `_check_global_pid_and_forward`, which detects if the crashing process resided in a container, was being called before `consistency_checks`, which attempts to detect if the crashing process had been replaced. Because of this, if a process crashed and was quickly replaced with a containerized one, apport could be made to forward the core dump to the container, potentially leaking sensitive information. `consistency_checks` is now being called before `_check_global_pid_and_forward`. Additionally, given that the PID-reuse race condition cannot be reliably detected from userspace alone, crashes are only forwarded to containers if the kernel provided a pidfd, or if the crashing process was unprivileged (i.e., if dump mode == 1).
Timeline
- CVE published
- CISA SSVC assessment
Exploitation: poc · Automatable: no · Technical impact: partial
- Record last updated
Affected versions
- apport
From 2.20.1 · fixed in 2.20.1-0ubuntu2.30+esm5; From 2.20.9 · fixed in 2.20.9-0ubuntu7.29+esm1; From 2.20.11 · fixed in 2.20.11-0ubuntu27.28; From 2.20.11 · fixed in 2.20.11-0ubuntu82.7; From 2.28.1 · fixed in 2.28.1-0ubuntu3.6; From 2.30.0 · fixed in 2.30.0-0ubuntu4.3; From 2.32.0 · fixed in 2.32.0-0ubuntu5.1; From 2.32.0 · fixed in 2.33.0-0ubuntu1; From 2.20 · through 2.32.0