CVE-2025-68301: net: atlantic: fix fragment overflow handling in RX path
In the Linux kernel, the following vulnerability has been resolved:
net: atlantic: fix fragment overflow handling in RX path
The atlantic driver can receive packets with more than MAX_SKB_FRAGS (17)
fragments when handling large multi-descriptor packets. This causes an
out-of-bounds write in skb_add_rx_frag_netmem() leading to kernel panic.
The issue occurs because the driver doesn't check the total number of
fragments before calling skb_add_rx_frag(). When a packet requires more
than MAX_SKB_FRAGS fragments, the fragment index exceeds the array bounds.
Fix by assuming there will be an extra frag if buff->len > AQ_CFG_RX_HDR_SIZE,
then all fragments are accounted for. And reusing the existing check to
prevent the overflow earlier in the code path.
This crash occurred in production with an Aquantia AQC113 10G NIC.
Stack trace from production environment:
```
RIP: 0010:skb_add_rx_frag_netmem+0x29/0xd0
Code: 90 f3 0f 1e fa 0f 1f 44 00 00 48 89 f8 41 89
ca 48 89 d7 48 63 ce 8b 90 c0 00 00 00 48 c1 e1 04 48 01 ca 48 03 90
c8 00 00 00 <48> 89 7a 30 44 89 52 3c 44 89 42 38 40 f6 c7 01 75 74 48
89 fa 83
RSP: 0018:ffffa9bec02a8d50 EFLAGS: 00010287
RAX: ffff925b22e80a00 RBX: ffff925ad38d2700 RCX:
fffffffe0a0c8000
RDX: ffff9258ea95bac0 RSI: ffff925ae0a0c800 RDI:
0000000000037a40
RBP: 0000000000000024 R08: 0000000000000000 R09:
0000000000000021
R10: 0000000000000848 R11: 0000000000000000 R12:
ffffa9bec02a8e24
R13: ffff925ad8615570 R14: 0000000000000000 R15:
ffff925b22e80a00
FS: 0000000000000000(0000)
GS:ffff925e47880000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: ffff9258ea95baf0 CR3: 0000000166022004 CR4:
0000000000f72ef0
PKRU: 55555554
Call Trace:
<IRQ>
aq_ring_rx_clean+0x175/0xe60 [atlantic]
? aq_ring_rx_clean+0x14d/0xe60 [atlantic]
? aq_ring_tx_clean+0xdf/0x190 [atlantic]
? kmem_cache_free+0x348/0x450
? aq_vec_poll+0x81/0x1d0 [atlantic]
? __napi_poll+0x28/0x1c0
? net_rx_action+0x337/0x420
```
Changes in v4:
- Add Fixes: tag to satisfy patch validation requirements.
Changes in v3:
- Fix by assuming there will be an extra frag if buff->len > AQ_CFG_RX_HDR_SIZE,
then all fragments are accounted for.
Security readout for executives and security teams
Plain-English summary
CVE-2025-68301 is a Linux kernel crash bug in the atlantic network driver. Systems using affected Linux kernels with Aquantia/atlantic 10G NICs may panic when receiving unusually fragmented large packets. The source confirms a production crash with an Aquantia AQC113 NIC, but does not show active exploitation.
Executive priority
Prioritize patching affected network-intensive Linux hosts where downtime is costly. This is not currently evidenced as actively exploited, but a kernel panic in production infrastructure can create material availability impact.
Technical view
The atlantic RX path failed to account for more than MAX_SKB_FRAGS fragments before calling skb_add_rx_frag(). Excess fragments could index past skb fragment bounds in skb_add_rx_frag_netmem(), causing an out-of-bounds write and kernel panic. Stable kernel commits add earlier fragment accounting checks.
Likely exposure
Exposure appears limited to Linux systems using the atlantic driver, particularly Aquantia 10G NICs such as AQC113, on affected kernel versions or missing the listed stable fixes. Systems without this driver or hardware are unlikely to be exposed based on the provided sources.
Exploitation context
The source describes a production crash and kernel panic. It does not provide CVSS, CWE, public exploit evidence, or KEV listing. Treat this as a reliability and availability risk unless vendor guidance later confirms broader security impact or active exploitation.
Researcher notes
The affected version data includes kernel versions and stable commit references, but no CVSS or exploitability analysis. Focus validation on the atlantic RX path, MAX_SKB_FRAGS accounting, and whether downstream kernels have backported the stable commits.
Mitigation direction
Update to a kernel containing the listed stable atlantic driver fixes.
Prioritize hosts using Aquantia/atlantic 10G NICs in production traffic paths.
Check Linux distribution advisories for backported fixes and package versions.
Monitor vendor guidance because no separate workaround is named in the sources.
Validation and detection
Inventory systems for atlantic driver usage and Aquantia AQC113 or related NICs.
Compare running kernel packages against distribution advisories and stable fix commits.
Review kernel logs for panics referencing skb_add_rx_frag_netmem or aq_ring_rx_clean.
Confirm patched systems include the fragment overflow handling fix.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cve · low confidence lookup
CVE-2025-68301 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.