Description
In the Linux kernel, the following vulnerability has been resolved:

nvmet: pci-epf: reject too-short SGL segments

The host controls an SGL segment's length. A nonzero length smaller than
one SGL descriptor makes nr_descs zero, so
nvmet_pci_epf_get_sgl_segment() reads the type byte of sgls[-1] outside
the allocated buffer. If that byte contains a segment descriptor type,
the function also copies the preceding 16 bytes and returns a negative
descriptor count.

The read was reproduced in 3/3 KASAN boots with only the host transfer
mocked by a KUnit test:

BUG: KASAN: slab-out-of-bounds in nvmet_pci_epf_get_sgl_segment
Read of size 1 by task kunit_try_catch
Call Trace:
nvmet_pci_epf_get_sgl_segment
nvmet_pci_epf_short_sgl_test
Kernel panic - not syncing: KASAN: panic_on_warn set ...

Reject segments that cannot hold one descriptor before allocating or
transferring their contents.
Published: 2026-10-18
Score: n/a
EPSS: n/a
KEV: No
Impact: Kernel Out-of-Bounds Read leading to Denial of Service
Action: Immediate Patch
AI Analysis

Impact

The vulnerability arises in the Linux kernel’s nvmet subsystem, specifically in the pci‑epf driver. The host can dictate the length of an SGL segment. When a non‑zero length shorter than a single descriptor is reported, the driver sets the descriptor count to zero and then incorrectly reads the type byte from the buffer’s preceding byte, outside its allocated range. This causes an out‑of‑bounds read and, in the reproduced test, triggered a KASAN panic and a kernel crash. An attacker controlling such an SGL can force a crash, leading to denial of service, and could potentially expose sensitive data through the read, although code execution is not directly described.

Affected Systems

The affected component is the Linux kernel, and any Linux kernel distribution that has not incorporated the fix for the nvmet‑pci‑epf path is potentially vulnerable. The specific kernel versions impacted were not enumerated in the advisory. All kernels running nvmet before the patch should be considered at risk until the update is applied.

Risk and Exploitability

The CVSS metric is not specified, but the nature of the fault points to a severe impact, as a kernel panic can bring down a host and leak memory contents. The EPSS score is not available and the vulnerability is not listed in the CISA KEV catalog, indicating no public exploitation yet. Attackers would most likely need local or privileged access to the NVMe subsystem to supply the malformed SGL, or exploit a remote component that forwards such SGLs to the target. Until mitigated, the risk remains high due to the potential to crash the system.

Generated by OpenCVE AI on October 18, 2026 at 19:17 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade the Linux kernel to a version that contains the nvmet‑pci‑epf fix for rejecting too‑short SGL segments.
  • If immediate update is impossible, restrict or disable the nvmet target or limit access to NVMe devices to trusted users or processes to reduce the attack surface.
  • Continuously monitor kernel logs for KASAN messages or nvmet BUG reports to detect attempted exploitation and respond promptly.

Generated by OpenCVE AI on October 18, 2026 at 19:17 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Sun, 18 Oct 2026 19:45:00 +0000

Type Values Removed Values Added
Weaknesses CWE-127
CWE-20

Sun, 18 Oct 2026 16:00:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: nvmet: pci-epf: reject too-short SGL segments The host controls an SGL segment's length. A nonzero length smaller than one SGL descriptor makes nr_descs zero, so nvmet_pci_epf_get_sgl_segment() reads the type byte of sgls[-1] outside the allocated buffer. If that byte contains a segment descriptor type, the function also copies the preceding 16 bytes and returns a negative descriptor count. The read was reproduced in 3/3 KASAN boots with only the host transfer mocked by a KUnit test: BUG: KASAN: slab-out-of-bounds in nvmet_pci_epf_get_sgl_segment Read of size 1 by task kunit_try_catch Call Trace: nvmet_pci_epf_get_sgl_segment nvmet_pci_epf_short_sgl_test Kernel panic - not syncing: KASAN: panic_on_warn set ... Reject segments that cannot hold one descriptor before allocating or transferring their contents.
Title nvmet: pci-epf: reject too-short SGL segments
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-10-18T15:47:01.614Z

Reserved: 2026-09-25T10:25:14.366Z

Link: CVE-2026-98724

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-10-18T16:17:26.020

Modified: 2026-10-18T16:17:26.020

Link: CVE-2026-98724

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-18T19:30:14Z

Weaknesses