diff mbox series

[v2,03/10] cve-exclusion: set status for CVE-2021-3864

Message ID 20260803084827.1348810-4-junjie.cao@linux.dev
State New
Headers show
Series cve-exclusion: triage ten kernel CVEs lacking upstream fix data | expand

Commit Message

Junjie Cao Aug. 3, 2026, 8:48 a.m. UTC
begin_new_exec() resets dumpability to owner-dumpable whenever the real
and effective ids match at exec time. A binary exec'd by a setuid
program that has already called setuid(0) therefore becomes dumpable as
root, and with a relative core_pattern plus an attacker-controlled
working directory the resulting core file can be dropped into a
privileged directory such as /etc/logrotate.d.

Full report with proof of concept:

  https://www.openwall.com/lists/oss-security/2021/10/20/2

Two fixes were proposed and neither was merged. Waiman Long's patch was
NAKed by Eric W. Biederman as an ineffective mitigation:

  https://lore.kernel.org/all/20211221021744.864115-1-longman@redhat.com/

Wander Lairson Costa's RFC v2 received design feedback and no v3 ever
followed:

  https://lore.kernel.org/all/20211228170910.623156-1-wander@redhat.com/

The flagged logic is unchanged today: fs/exec.c still selects
TASK_DUMPABLE_OWNER in that case, and fs/coredump.c only rejects
relative core paths when dumpable is 2, so the dumpable==1 case this CVE
describes is not covered.

Ubuntu records "no fix upstream as of 2022-01-27" and defers it for all
releases; Debian lists src:linux as unfixed:

  https://ubuntu.com/security/CVE-2021-3864
  https://security-tracker.debian.org/tracker/CVE-2021-3864

Red Hat rates RHEL 8 and later "Not affected" purely because their
default core_pattern does not write relative to the current directory:

  https://access.redhat.com/security/cve/CVE-2021-3864

Images that set an absolute path, a pipe or a socket core_pattern (for
example systemd-coredump) are not exploitable for the same reason.

CC: Paul Barker <paul@pbarker.dev>
AI-Generated: Uses Claude (claude-opus-5)
Signed-off-by: Junjie Cao <junjie.cao@linux.dev>
---
changes in v2:
- split out of the single combined patch, one CVE per patch as requested
- added primary source links (disclosures, distribution trackers, mailing
  list threads, upstream commits) to every commit message
- added the three CVEs with no upstream fix as "unpatched" entries instead
  of leaving them undocumented
- disclosed AI assistance per the contributor guide

v1: https://lore.kernel.org/openembedded-core/20260802143444.1178575-1-junjie.cao@linux.dev/

 meta/recipes-kernel/linux/cve-exclusion.inc | 6 ++++++
 1 file changed, 6 insertions(+)
diff mbox series

Patch

diff --git a/meta/recipes-kernel/linux/cve-exclusion.inc b/meta/recipes-kernel/linux/cve-exclusion.inc
index 9012d328..d7ae3b03 100644
--- a/meta/recipes-kernel/linux/cve-exclusion.inc
+++ b/meta/recipes-kernel/linux/cve-exclusion.inc
@@ -206,3 +206,9 @@  host model, no kernel fix exists or is planned, mitigated by firewall configurat
 # https://bugzilla.redhat.com/show_bug.cgi?id=1931327
 CVE_STATUS[CVE-2021-3714] = "upstream-wontfix: inherent design limitation of \
 KSM page deduplication, closed WONTFIX by Red Hat, no upstream fix planned"
+
+# Two fix attempts, neither merged; the fs/exec.c logic is unchanged.
+# An absolute, piped or socket kernel.core_pattern prevents exploitation.
+# https://www.openwall.com/lists/oss-security/2021/10/20/2
+CVE_STATUS[CVE-2021-3864] = "upstream-wontfix: no accepted mainline fix after \
+several attempts, exploitation requires a relative kernel.core_pattern"