@@ -252,3 +252,10 @@ CVE_STATUS[CVE-2023-4010] = "fixed-version: Fixed from version 6.18"
# https://lore.kernel.org/linux-nvme/20231016060519.231880-1-joshi.k@samsung.com/
CVE_STATUS[CVE-2023-6238] = "unpatched: the proposed fix was applied to \
nvme-6.6 and then reverted, no upstream fix has landed since"
+
+# "Marvin": the PKCS#1 v1.5 unpadding in crypto/rsa-pkcs1pad.c branches on
+# secret-derived data, leaking padding validity by timing. Not a Marvell or
+# s390 issue despite some data sets. Fixed only in RHEL downstream.
+# https://people.redhat.com/~hkario/marvin/
+CVE_STATUS[CVE-2023-6240] = "unpatched: Bleichenbacher-style timing oracle in \
+crypto/rsa-pkcs1pad.c is still present in mainline, fixed only downstream in RHEL"
"Marvin" is Hubert Kario's Bleichenbacher-style timing oracle research, not a Marvell or s390 issue as some data sets suggest: https://people.redhat.com/~hkario/marvin/ The affected code is the generic software RSA PKCS#1 v1.5 unpadding in crypto/rsa-pkcs1pad.c. pkcs1pad_decrypt_complete() has three secret-dependent early exits (leading zero byte, block type, minimum padding length) and a loop whose trip count depends on the position of the separator, so the time taken reveals padding validity. There is no constant-time unpadding and no implicit-rejection fallback in the tree, and no commit touching that file addresses decryption timing. Red Hat classifies it CWE-203 and has shipped fixes only in RHEL errata (RHSA-2024:2758 for 9.4, RHSA-2024:3618 for 8.10 and others); the corresponding bugzilla is still NEW: https://access.redhat.com/security/cve/CVE-2023-6240 Ubuntu records "appears unfixed in upstream as of 2024.08.24" and Debian lists src:linux as vulnerable in all suites: https://ubuntu.com/security/CVE-2023-6240 https://security-tracker.debian.org/tracker/CVE-2023-6240 Practical exposure is narrow: kernel PKCS#1 v1.5 use is dominated by signature verification rather than decryption, and an attacker needs a service driving KEYCTL_PKEY_DECRYPT with a long-lived key. The leaky primitive is nevertheless reachable. e8829ef1f73f ("crypto: rsa - restrict plaintext/ciphertext values more", v6.9) is unrelated: it enforces SP800-56B value restrictions and is not a timing fix. 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 | 7 +++++++ 1 file changed, 7 insertions(+)