Re: [yocto] linux-yocto CVEs in need of triage
"Junjie Cao" <[email protected]> Sun, 2 Aug 2026 07:33:58 -0700
| Newsgroups | org.yoctoproject.lists.yocto,org.openembedded.lists.openembedded-core |
|---|---|
| Message-ID | <[email protected]> |
Hi Paul,
I have independently triaged the CVEs on this list other than
CVE-2023-3640, which Adhitya already covered. For the seven with a
conclusive status I have sent a patch for cve-exclusion.inc to the
OE-core list ("cve-exclusion: set status for 7 kernel CVEs lacking
upstream fix data"). Summary of all verdicts below; every claimed
commit was verified against mainline history (linux-next 20260727),
and I note explicitly where a tie is my inference rather than a
distro/CNA statement.
Fixed upstream (nobody has connected the dots yet):
* CVE-2022-1247 (rose_connect() refcount race): actually fixed in
v6.17 by d860d1faa6b2 ("net: rose: convert 'use' field to
refcount_t") plus da9c9c877597, from Takamitsu Iwai's Aug-2025
series. The commit message describes the CVE's premise almost
verbatim ("The 'use' field in struct rose_neigh is used as a
reference counter but lacks atomicity") and the diff removes the
exact rose->neighbour->use++ in rose_connect(). Backported to
6.1.y/6.6.y/6.12.y/6.16.y in the 2025-09-02 stable round. The whole
rose/hamradio subsystem was then removed in v7.1 (dd8d4bc28ad7), so
>=3D v7.1 is unaffected by construction. Ubuntu/Debian/Red Hat
trackers all still show this as open - it may be worth feeding the
correction back to them. Caution: the two 2022 Duoming Zhou rose
patches referenced by Ubuntu's tracker fix different rose bugs and
are not this CVE's fix.
* CVE-2023-4010: the function named by the CVE (usb_giveback_urb())
does not exist in the kernel. The reporter's own PoC repo output
points at drivers/media/rc/imon.c: an unthrottled URB resubmit loop
producing a printk flood on -EPROTO (Ubuntu triage: "There is no
system lockup happening"). That loop was stopped by eecd203ada43
("media: imon: make send_packet() more robust") in v6.18. The commit
carries no CVE reference, so this tie is inferred - flagged as such
in the patch; treating it as "disputed" instead would also be
defensible.
No fix exists or is planned (proposed as upstream-wontfix/disputed in
the patch):
* CVE-2019-14899: weak host model property, config-only mitigations
(wg-quick ships a firewall rule); NVD CPE is unversioned so it can
never match a fixed version.
* CVE-2021-3714: KSM dedup side channel; Red Hat bz#1931327 CLOSED
WONTFIX. Note CONFIG_KSM=3Dy is set in kernel-cache (intel-x86 BSP and
paravirt_kvm), but ksmd is off by default and pages must opt in via
MADV_MERGEABLE/PR_SET_MEMORY_MERGE.
* CVE-2021-3864: setuid coredump LPE; the Waiman Long and Wander
Costa fix attempts (Dec 2021/Jan 2022) were rejected or fizzled and
the flagged fs/exec.c logic is unchanged today. Only exploitable
with a relative kernel.core_pattern; happy to drop this entry if you
would rather keep it visible for sysvinit images that ship the
kernel default "core" pattern.
* CVE-2022-0400 (net/smc OOB read): never substantiated - Red Hat
bz#2044575 CLOSED NOTABUG, SUSE bsc#1195329 RESOLVED INVALID, Debian
"non issue"; the originating report (bz#2040604) was never made
public and the CNA recorded no affected version.
* CVE-2022-4543 ("EntryBleed"): entry text is still cloned
_PAGE_GLOBAL into user page tables (arch/x86/mm/pti.c); upstream and
Debian position is that KASLR is not a boundary against local
attackers. One clarification worth recording since the two are often
confused: 97e3d26b5e5f ("x86/mm: Randomize per-cpu entry area",
v6.2) is the fix for the cpu_entry_area issue - i.e. CVE-2023-3640,
as Adhitya identified - and does not address EntryBleed, which leaks
the KASLR base via entry_SYSCALL_64 itself.
Genuinely unfixed - deliberately NOT added to cve-exclusion.inc, so
they stay visible in the metrics:
* CVE-2023-3397: real subsystem is JFS (txEnd()/lmLogClose() UAF),
not slub. The only proposed fix (lore
[email protected]) was withdrawn by its
author after review; the racy code is unchanged at HEAD and syzbot
was still reproducing slab-use-after-free in txEnd in June 2026.
* CVE-2023-6238 (NVMe passthrough metadata DMA overflow): a
mitigation ("nvme: remove unprivileged passthrough support",
[email protected]) was applied to nvme-6.6
and then explicitly backed out by Keith Busch, over Christoph
Hellwig's objection ("We leave an exploitable hole in"); nothing
re-landed and nvme_map_user_request() still passes the user
meta_len through without an NLB*MS cross-check. One actionable
nuance: the exposure was introduced by 855b7717f44b in v6.2, so
linux-yocto branches < v6.2 (5.15, 6.1) are not affected - Debian
independently reached the same conclusion.
* CVE-2023-6240 ("Marvin" RSA timing oracle): nothing to do with
Marvell or s390; the leaky code is the generic
pkcs1pad_decrypt_complete() in crypto/rsa-pkcs1pad.c, which still
branches on secret-derived data at HEAD. Fixed only in RHEL
downstream (RHSA-2024:2758 etc.); Ubuntu notes "appears unfixed in
upstream as of 2024.08.24". Practical exposure needs a service
driving KEYCTL_PKEY_DECRYPT with a long-lived key, which is narrow,
but the primitive is present.
I kept CVE-2023-3640 out of the patch since Adhitya has it in hand;
the 4543-vs-3640 note above is just so the two KASLR CVEs don't get
cross-wired in the data later.
Happy to adjust any of the statuses or wording, and to help with the
wrynose/scarthgap backports once the master patch is settled.
Best regards,
Junjie Cao