Skip to main content

Linux Kernel CVE-2025-68301

CRITICAL
2025-12-16 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Critical
Disputed · 9.8 Vendor: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Share

Severity by source

Sources disagree (Medium–Critical)
Vendor (416baaa9-dc9f-4396-8d5f-8c081fb06d67) PRIMARY
9.8 CRITICAL
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
vuln.today AI
5.9 MEDIUM

Requires delivering oversized multi-descriptor frames to a specific NIC on the local segment (AV:A, AC:H); documented impact is a kernel panic (A:H) with possible memory corruption (I:L) and no demonstrated disclosure (C:N).

3.1 AV:A/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:H
4.0 AV:A/AC:H/AT:N/PR:N/UI:N/VC:N/VI:L/VA:H/SC:N/SI:N/SA:N
SUSE
5.5 MEDIUM
AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Red Hat
7.0 MEDIUM
qualitative

vuln.today treats the vendor’s rating as authoritative. A higher third-party CVSS (e.g. CISA-ADP) is shown for transparency but does not drive the headline severity.

CVSS VectorVendor: 416baaa9-dc9f-4396-8d5f-8c081fb06d67

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

2
Analysis Generated
Jul 30, 2026 - 07:12 vuln.today
CVE Published
Dec 16, 2025 - 16:16 cve.org
CRITICAL 9.8

DescriptionCVE.org

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.

AnalysisAI

Out-of-bounds kernel write in the Linux 'atlantic' network driver (Aquantia/Marvell AQC-series 10G NICs) occurs when the RX path receives large multi-descriptor packets exceeding MAX_SKB_FRAGS (17) fragments, causing a fragment index to overrun the skb frag array inside skb_add_rx_frag_netmem() and triggering a kernel panic. The flaw was observed crashing production systems equipped with the Aquantia AQC113 10G NIC. There is no public exploit identified at time of analysis and it is not listed in CISA KEV; EPSS is low at 0.17% (6th percentile), consistent with a hardware-specific denial-of-service condition rather than a broadly exploitable RCE.

Technical ContextAI

The vulnerability lives in the Linux kernel atlantic Ethernet driver's receive-cleanup routine (aq_ring_rx_clean), which reassembles multi-descriptor frames into an skb. The socket buffer fragment array is bounded by MAX_SKB_FRAGS (17); the driver failed to validate the total fragment count before calling skb_add_rx_frag()/skb_add_rx_frag_netmem(), so a packet spanning more descriptors than the array can hold caused a write past the array bounds - a classic out-of-bounds write (CWE-787 class, though NVD lists CWE as N/A and the tags label it 'Buffer Overflow'). The fix accounts for an extra fragment when buff->len > AQ_CFG_RX_HDR_SIZE and reuses an existing bounds check to reject the overflow earlier in the path. No CPE strings were provided; the affected component is identified from the description and the seven git.kernel.org/stable commit references, which indicate backporting across multiple stable kernel trees.

Affected ProductsAI

The vulnerability affects the Linux kernel's atlantic driver for Aquantia/Marvell AQC-series 10-gigabit NICs, confirmed reproduced on the Aquantia AQC113 10G controller. No explicit version range or CPE was provided in the input; the fix is distributed across seven stable-tree commits (e.g. https://git.kernel.org/stable/c/34147477eeab24077fcfe9649e282849347d760c and https://git.kernel.org/stable/c/b0c4d5135b04ea100988e2458c98f2d8564cda16), indicating the flaw existed in mainline and was backported to multiple maintained stable branches. Exact fixed kernel version tags are not stated in the provided data and should be confirmed against each distribution's changelog.

RemediationAI

Upstream fix available (multiple stable-tree commits); a specific released patched version is not independently confirmed from the provided data - update to the latest stable/distribution kernel that incorporates the atlantic RX fragment-overflow fix, referencing the kernel.org stable commits (https://git.kernel.org/stable/c/34147477eeab24077fcfe9649e282849347d760c through https://git.kernel.org/stable/c/b0c4d5135b04ea100988e2458c98f2d8564cda16) to identify the corresponding tagged release for your tree. Where immediate patching is not possible on hosts using Aquantia/Marvell atlantic NICs, reduce trigger surface by lowering the interface MTU to standard 1500 to avoid jumbo/multi-descriptor frames that produce >17 fragments (trade-off: loss of jumbo-frame throughput benefits), and restrict the L2 segment so untrusted hosts cannot send arbitrarily large frames to affected interfaces. As a last resort on non-essential hosts, switching to an alternative NIC or unbinding the atlantic driver eliminates exposure at the cost of losing that interface.

Vendor StatusVendor

SUSE

Severity: Moderate
Product Status
Container suse/sl-micro/6.0/baremetal-os-container:latest Affected
Container suse/sl-micro/6.0/base-os-container:2.1.3-7.95 Image SL-Micro Affected
Container suse/sl-micro/6.0/kvm-os-container:2.1.3-6.115 Affected
Container suse/sl-micro/6.0/rt-os-container:2.1.3-7.146 Affected
Container suse/sl-micro/6.0/toolbox:latest Affected

Share

CVE-2025-68301 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy