CVE-2026-23172: net: wwan: t7xx: fix potential skb->frags overflow in RX path
In the Linux kernel, the following vulnerability has been resolved:
net: wwan: t7xx: fix potential skb->frags overflow in RX path
When receiving data in the DPMAIF RX path, the t7xxdpmaifsetfragtoskb() function adds page fragments to an skb without checking if the number of fragments has exceeded MAXSKBFRAGS. This could lead to a buffer overflow in skbshinfo(skb)->frags[] array, corrupting adjacent memory and potentially causing kernel crashes or other undefined behavior.
This issue was identified through static code analysis by comparing with a similar vulnerability fixed in the mt76 driver commit b102f0c522cf ("mt76: fix array overflow on receiving too many fragments for a packet").
The vulnerability could be triggered if the modem firmware sends packets with excessive fragments. While under normal protocol conditions (MTU 3080 bytes, BAT buffer 3584 bytes), a single packet should not require additional fragments, the kernel should not blindly trust firmware behavior. Malicious, buggy, or compromised firmware could potentially craft packets with more fragments than the kernel expects.
Fix this by adding a bounds check before calling skbaddrxfrag() to ensure nrfrags does not exceed MAXSKBFRAGS.
The check must be performed before unmapping to avoid a page leak and double DMA unmap during device teardown.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Configuration
In the DPMAIF RX path, before calling skb_add_rx_frag(), add a bounds check to ensure nr_frags does not exceed MAX_SKB_FRAGS. Perform the check before unmapping to avoid a page leak, so the kernel does not blindly trust modem firmware that may send packets with too many fragments (overflowing skb_shinfo(skb)->frags[]).
Linux kernel (net: wwan: t7xx DPMAIF RX path) nr_frags <= MAX_SKB_FRAGS check before calling skb_add_rx_frag() = add bounds check; if nr_frags would exceed MAX_SKB_FRAGS, do not call skb_add_rx_frag() and avoid populating skb_shinfo(skb)->frags[] beyond MAX_SKB_FRAGS
Event History
Frequently Asked Questions
What is the severity of CVE-2026-23172?
CVE-2026-23172 has been classified as a medium severity vulnerability.
How do I fix CVE-2026-23172?
To fix CVE-2026-23172, update your Linux kernel to the latest patched version that addresses this vulnerability.
What is affected by CVE-2026-23172?
CVE-2026-23172 affects the Linux kernel, particularly in the net: wwan t7xx component.
What kind of vulnerability is CVE-2026-23172?
CVE-2026-23172 is a potential overflow vulnerability that can occur in the RX path of the Linux kernel's t7xx driver.
Is CVE-2026-23172 a remote code execution vulnerability?
No, CVE-2026-23172 is not classified as a remote code execution vulnerability, but it could lead to denial of service.