{"id":"CVE-2026-98724","revision":"596d3222e5754a138b16a3beca1a8af0","records":[{"revision":"596d3222e5754a138b16a3beca1a8af0","observedAt":"2026-10-23T15:48:27.903+00:00","statement":{"source":"cve-program","id":"CVE-2026-98724","aliases":[],"title":"nvmet: pci-epf: reject too-short SGL segments","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nnvmet: pci-epf: reject too-short SGL segments\n\nThe host controls an SGL segment's length. A nonzero length smaller than\none SGL descriptor makes nr_descs zero, so\nnvmet_pci_epf_get_sgl_segment() reads the type byte of sgls[-1] outside\nthe allocated buffer. If that byte contains a segment descriptor type,\nthe function also copies the preceding 16 bytes and returns a negative\ndescriptor count.\n\nThe read was reproduced in 3/3 KASAN boots with only the host transfer\nmocked by a KUnit test:\n\n  BUG: KASAN: slab-out-of-bounds in nvmet_pci_epf_get_sgl_segment\n  Read of size 1 by task kunit_try_catch\n  Call Trace:\n   nvmet_pci_epf_get_sgl_segment\n   nvmet_pci_epf_short_sgl_test\n  Kernel panic - not syncing: KASAN: panic_on_warn set ...\n\nReject segments that cannot hold one descriptor before allocating or\ntransferring their contents.","state":0,"publishedAt":"2026-10-18T15:47:01.614+00:00","modifiedAt":"2026-10-19T09:24:34.979+00:00","affected":[{"ecosystem":"Vendor product","name":"Linux","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"product\": \"Linux\",\n                    \"vendor\": \"Linux\",\n                    \"defaultStatus\": \"unaffected\",\n                    \"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\n                    \"programFiles\": [\n                        \"drivers/nvme/target/pci-epf.c\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"0faa0fe6f90ea59b10d1b0f15ce0eb0c18eff186\",\n                            \"lessThan\": \"2423a05dd0f21330c47ce0ae1cb54a8b0be821e2\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"0faa0fe6f90ea59b10d1b0f15ce0eb0c18eff186\",\n                            \"lessThan\": \"472df1d103dbe3e9d09156f0667e36180e912c46\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"0faa0fe6f90ea59b10d1b0f15ce0eb0c18eff186\",\n                            \"lessThan\": \"5d5fbfbbacd1efb13a9bf91317d4fde859ede4b9\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        }\n                    ]\n                }"},{"ecosystem":"Vendor product","name":"Linux","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"product\": \"Linux\",\n                    \"vendor\": \"Linux\",\n                    \"defaultStatus\": \"affected\",\n                    \"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\n                    \"programFiles\": [\n                        \"drivers/nvme/target/pci-epf.c\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"6.14\",\n                            \"status\": \"affected\"\n                        },\n                        {\n                            \"version\": \"0\",\n                            \"lessThan\": \"6.14\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.18.56\",\n                            \"lessThanOrEqual\": \"6.18.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"7.2.10\",\n                            \"lessThanOrEqual\": \"7.2.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"7.3\",\n                            \"lessThanOrEqual\": \"*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"original_commit_for_fix\"\n                        }\n                    ]\n                }"}],"metrics":[],"references":["https://git.kernel.org/stable/c/2423a05dd0f21330c47ce0ae1cb54a8b0be821e2","https://git.kernel.org/stable/c/472df1d103dbe3e9d09156f0667e36180e912c46","https://git.kernel.org/stable/c/5d5fbfbbacd1efb13a9bf91317d4fde859ede4b9"],"sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-98724","license":"CVE Program Terms of Use","key":"cve-program:CVE-2026-98724","identifiers":["CVE-2026-98724"]},"retained":false,"historicalAffected":[]}],"coverage":[]}