net: wwan: t7xx: fix potential skb->frags overflow in RX path
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 6.1.162, 6.6.123, 6.12.69, 6.18.9
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
- Exploitation: none
- Automatable: no
- Technical impact: total
Summary
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 t7xx_dpmaif_set_frag_to_skb() function adds page fragments to an skb without checking if the number of fragments has exceeded MAX_SKB_FRAGS. This could lead to a buffer overflow in skb_shinfo(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 skb_add_rx_frag() to ensure nr_frags does not exceed MAX_SKB_FRAGS. The check must be performed before unmapping to avoid a page leak and double DMA unmap during device teardown.
Timeline
- CVE published
- CISA SSVC assessment
Exploitation: none · Automatable: no · Technical impact: total
- Record last updated
Affected versions
- Linux Linux
From d642b012df70a76dd5723f2d426b40bffe83ac49 · fixed in f9747a7521a48afded5bff2faf1f2dcfff48c577; From d642b012df70a76dd5723f2d426b40bffe83ac49 · fixed in 2a0522f564acd34442652ea083091c329fa7c5d5; From d642b012df70a76dd5723f2d426b40bffe83ac49 · fixed in af4b8577d0b388cc3d0039eb0cdd9ca5bbbc9276; From d642b012df70a76dd5723f2d426b40bffe83ac49 · fixed in 2c0fb0f60bc1545c52da61bc6bd4855c1e7814ba; From d642b012df70a76dd5723f2d426b40bffe83ac49 · fixed in f0813bcd2d9d97fdbdf2efb9532ab03ae92e99e6
- Linux Linux
5.19
- KernelLinux
From 5.19.0 · fixed in 6.1.162; From 6.2.0 · fixed in 6.6.123; From 6.7.0 · fixed in 6.12.69; From 6.13.0 · fixed in 6.18.9