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 judged an ineffective mitigation by Eric W. Biederman and the discussion went quiet in early 2022; Wander Lairson Costa's RFC v2 received design feedback and no v3 followed: https://lore.kernel.org/all/[email protected]/ https://lore.kernel.org/all/[email protected]/ The flagged logic is unchanged: fs/exec.c still selects TASK_DUMPABLE_OWNER in that case, and fs/coredump.c only applies the suid-safe restriction when dumpable is TASK_DUMPABLE_ROOT, so the dumpable==1 case this CVE describes is not covered. Images that set an absolute path, a pipe or a socket core_pattern are not exploitable. CC: Paul Barker <[email protected]> AI-Generated: Uses Claude (claude-opus-5) Signed-off-by: Junjie Cao <[email protected]> --- v3: - use "unpatched" instead of "upstream-wontfix"; a NAK of one mitigation is not an upstream wontfix of the issue - drop the "NAKed" wording: the discussion went quiet, it was not formally rejected v2: https://lore.kernel.org/openembedded-core/[email protected]/ meta/recipes-kernel/linux/cve-exclusion.inc | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/meta/recipes-kernel/linux/cve-exclusion.inc b/meta/recipes-kernel/linux/cve-exclusion.inc index af3576d..ba8e467 100644 --- a/meta/recipes-kernel/linux/cve-exclusion.inc +++ b/meta/recipes-kernel/linux/cve-exclusion.inc @@ -206,3 +206,11 @@ host model, no upstream kernel fix, mitigated by firewall configuration" # https://security-tracker.debian.org/tracker/CVE-2021-3714 CVE_STATUS[CVE-2021-3714] = "unpatched: timing side channel inherent to \ KSM page deduplication, only reachable when KSM is enabled and opted into" + +# Two mitigation attempts, neither merged; the fs/exec.c logic is +# unchanged. An absolute, piped or socket kernel.core_pattern (for +# example systemd-coredump) prevents exploitation. +# https://www.openwall.com/lists/oss-security/2021/10/20/2 +# https://ubuntu.com/security/CVE-2021-3864 +CVE_STATUS[CVE-2021-3864] = "unpatched: no accepted mainline fix, \ +exploitation requires a relative kernel.core_pattern" -- 2.43.0
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#243228): https://lists.openembedded.org/g/openembedded-core/message/243228 Mute This Topic: https://lists.openembedded.org/mt/120714051/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
