CVE-2026-98803
Received Received - Intake

Buffer Overflow in Linux Kernel STMMAC Driver

Vulnerability report for CVE-2026-98803, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-10-18

Last updated on: 2026-10-18

Assigner: kernel.org

Description

In the Linux kernel, the following vulnerability has been resolved: net: stmmac: fix rx Scatter-Gather support When a received frame is larger than dma_buf_sz, the DMA scatters it across multiple RX descriptors (rx Scatter-Gather). The secondary RX buffer (sec_page) was only allocated and programmed when split-header (SPH) was active, so for regular frames buffer2 was neither allocated nor backed by a valid mapping. As soon as an incoming frame overflowed buffer1, the DMA wrote the overflow into the unmapped secondary-buffer address, triggering an SMMU translation fault on IOMMU-based platforms: arm-smmu 15000000.iommu: Unhandled context fault: fsr=0x402, iova=0x00000000, fsynr=0x7f0011, cbfrsynra=0x1c90, cb=11 arm-smmu 15000000.iommu: FSR = 00000402 [Format=2 TF], SID=0x1c90 arm-smmu 15000000.iommu: FSYNR0 = 007f0011 [S1CBNDX=127 WNR PLVL=1] Enable scatter-gather for non-SPH frames on cores that can program an independent secondary RX buffer (GMAC4/XGMAC): allocate and mark buffer2 as valid in stmmac_init_rx_buffers() and stmmac_rx_refill(), and account for it in the buffer length computation. Legacy cores have no set_sec_addr op, so they keep buffer2 disabled. Since buffer2 is handed to the DMA at page offset 0, the page pool sync window is widened to cover both buffers in every mode: offset is set to 0 and max_len to dma_buf_sz + stmmac_rx_offset(). The FCS can straddle the buffer1/buffer2 boundary and a descriptor boundary, so it is now stripped from the tail of the assembled frame with pskb_trim() instead of from a single buffer, avoiding an unsigned underflow for frames that overflow a buffer by 1..3 bytes. For single-buffer frames the XDP program must not see the FCS, so it is removed from the XDP buffer before the program runs. Native XDP currently only supports single-buffer (linear) frames. An oversized frame accepted by the MAC (jumbo enabled) is received via buffer2; the XDP program only sees buffer1, so on a TX/REDIRECT verdict the frame is forwarded truncated. XDP multi-buffer support to handle this case is planned as a follow-up. AF_XDP zero-copy RX is not covered by this change: a ZC queue still programs buffer2 at DMA address 0 (and XGMAC has no buffer2-valid bit), so an oversized frame overflowing buffer1 can still trigger the same SMMU translation fault. Handling is planned as a follow-up.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-10-18
Last Modified
2026-10-18
Generated
2026-10-18
AI Q&A
2026-10-18
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 6 associated CPEs
Vendor Product Version / Range
Linux Linux 88ebe2cf7f3fc9da95e0f06483fd58da3e67e675
Linux Linux 88ebe2cf7f3fc9da95e0f06483fd58da3e67e675
Linux Linux 88ebe2cf7f3fc9da95e0f06483fd58da3e67e675
Linux Linux c4b712d1a814a0535091d99e6cf04d69ac42ef7b
Linux Linux 5.4.262
Linux Linux 5.5

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-UNKNOWN

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This vulnerability in the Linux kernel involves improper handling of large network frames in the stmmac driver. When a received frame exceeds a buffer size, the DMA scatters it across multiple descriptors. The secondary buffer was only allocated when split-header mode was active, causing unmapped memory writes for regular frames. This triggers an SMMU translation fault on IOMMU-based systems due to invalid memory access.

Detection Guidance

This vulnerability may trigger IOMMU faults visible in kernel logs. Check for messages like 'Unhandled context fault' or 'SMMU translation fault' using: dmesg | grep -i 'arm-smmu\|SMMU\|fault' or journalctl -k | grep -i 'fault'. Monitor network interface errors with: ip -s link show <interface> or ethtool -S <interface>.

Impact Analysis

This flaw can cause system crashes or instability on Linux systems using the stmmac network driver with IOMMU enabled. It may lead to denial-of-service conditions when processing large network packets. Systems without IOMMU are unaffected. Legacy hardware without secondary buffer support remains vulnerable.

Mitigation Strategies

Update the Linux kernel to a patched version that includes the stmmac fix. Disable jumbo frames if not required. For affected systems, restrict network traffic to prevent oversized frames until patched.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-98803. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart