@@ -244,3 +244,11 @@ patch was withdrawn by its author and the affected fs/jfs code is unchanged"
# The CVE names usb_giveback_urb(), which does not exist; the reporter's PoC
# and Ubuntu's break-fix data both point at drivers/media/rc/imon.c.
CVE_STATUS[CVE-2023-4010] = "fixed-version: Fixed from version 6.18"
+
+# The user metadata length is not checked against the length the device
+# derives from the command. The fix was applied to nvme-6.6 and then backed
+# out; nothing has landed since. Kernels before v6.2 predate unprivileged
+# passthrough (855b7717f44b) and are not affected.
+# 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"
NVME_IOCTL_IO_CMD and the io_uring passthrough path accept a metadata length from userspace without checking it against the number of blocks and the namespace metadata size that the device uses to size the transfer, so the device can DMA past the end of the buffer. Kanchan Joshi posted a stopgap removing unprivileged passthrough, reviewed by Christoph Hellwig and applied for nvme-6.6: https://lore.kernel.org/linux-nvme/20231016060519.231880-1-joshi.k@samsung.com/ It was then backed out. Keith Busch wrote "I believe this large change is a bit too late for 6.6 ... It's backed out now", to which Christoph Hellwig replied "We leave an exploitable hole in, so I don't think waiting any longer is an option". No replacement has been merged: the commits the patch would have reverted are all still present, and nvme_map_user_request() still passes the user-supplied metadata length straight to blk_rq_integrity_map_user() with no cross-check. The exposure was introduced by 855b7717f44b ("nvme: fine-granular CAP_SYS_ADMIN for nvme io commands") in v6.2, so branches carrying older kernels are not affected. Debian reached the same conclusion independently, marking the older suites "Vulnerable code not present": https://security-tracker.debian.org/tracker/CVE-2023-6238 Red Hat rates it Low because the device node is root-only by default: https://access.redhat.com/security/cve/CVE-2023-6238 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 | 8 ++++++++ 1 file changed, 8 insertions(+)