Skip to main content

Linux Kernel CVE-2026-72407

| EUVDEUVD-2026-59306 CRITICAL
2026-08-15 Linux GHSA-gp9v-9c23-fw32
Critical
Disputed · 10.0 Vendor: Linux
Share

Severity by source

Sources disagree (Medium–Critical)
Vendor (Linux) PRIMARY
10.0 CRITICAL
AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
vuln.today AI
6.5 MEDIUM

Remote crafted packets (AV:N, PR:N) but the trigger is a timing race requiring GENEVE configured, so AC:H; impact is primarily a kernel crash (A:H) with limited OOB read potential (C:L).

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:H
4.0 AV:N/AC:H/AT:P/PR:N/UI:N/VC:L/VI:N/VA:H/SC:N/SI:N/SA:N
SUSE
7.8 HIGH
AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/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: Linux

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

Lifecycle Timeline

4
Analysis Generated
Aug 17, 2026 - 09:08 vuln.today
CVSS changed
Aug 17, 2026 - 06:22 NVD
10.0 (CRITICAL)
CVE Published
Aug 15, 2026 - 05:56 cve.org
CRITICAL 10.0
CVE Published
Aug 15, 2026 - 05:56 cve.org
UNKNOWN (no severity yet)

DescriptionCVE.org

In the Linux kernel, the following vulnerability has been resolved:

geneve: validate inner network offset in geneve_gro_complete()

Even with both paths gated on gs->gro_hint, geneve_gro_complete() re-derives the inner dispatch type and length from the packet and the current gs->gro_hint, independently of geneve_gro_receive(). The two can disagree if gs->gro_hint flips under a concurrent geneve_quiesce()/ geneve_unquiesce() (sk_user_data is NULL across a synchronize_net()), or if the re-read option bytes differ from the ones receive parsed.

geneve_gro_receive() already records the inner network header position in NAPI_GRO_CB()->inner_network_offset. Have geneve_gro_complete() compute the offset it is about to dispatch at, adding ETH_HLEN in the ETH_P_TEB case where eth_gro_complete() steps over the inner MAC header, and bail out if it lands past inner_network_offset.

Use a lower bound rather than exact equality: between gh_len and the inner L3 header, geneve_gro_receive() may also have pulled an inner VLAN tag (vlan_gro_receive() advances the recorded offset past it), which only moves inner_network_offset further out. A valid frame therefore always satisfies inner_nh <= inner_network_offset, while a gh_len inflated by a hint gro_receive() did not honour dispatches past the validated inner header, i.e. the out-of-bounds completion. Only the latter is rejected.

AnalysisAI

Out-of-bounds access in the Linux kernel's GENEVE tunnel GRO (Generic Receive Offload) path affects systems using GENEVE overlay networking, where geneve_gro_complete() can re-derive an inner dispatch offset that disagrees with what geneve_gro_receive() recorded - either through a race with geneve_quiesce()/geneve_unquiesce() flipping gs->gro_hint, or through re-read option bytes differing from the parsed ones - and complete GRO past the validated inner network header. Successful triggering leads to memory-safety corruption in softirq packet processing, most plausibly a kernel crash (denial of service). This is fixed upstream; there is no public exploit identified at time of analysis and it is not listed in CISA KEV.

Technical ContextAI

GENEVE (Generic Network Virtualization Encapsulation) is a UDP-based tunneling protocol used to build L2/L3 overlay networks, commonly in cloud and SDN fabrics (e.g. OVN/OpenStack, container overlays). GRO is a kernel receive-side optimization that coalesces incoming segments before they traverse the stack; for tunnels it runs a protocol-specific gro_receive/gro_complete pair. The defect is a state-consistency problem between the two callbacks: geneve_gro_receive() records the inner network header position in NAPI_GRO_CB()->inner_network_offset, but geneve_gro_complete() independently recomputes the inner dispatch type and length from the packet plus the current gs->gro_hint. Because sk_user_data is NULL across a synchronize_net() during quiesce/unquiesce, the hint can flip between the two phases, and inflated gh_len then dispatches past the inner header - an out-of-bounds completion. The root-cause class is a memory-safety/out-of-bounds access (aligns with CWE-125 out-of-bounds read; the intelligence tags it 'Buffer Overflow'), and the fix adds a lower-bound check (inner_nh <= inner_network_offset, plus ETH_HLEN in the ETH_P_TEB case) to reject frames whose recomputed offset overshoots the validated one.

RemediationAI

Upgrade to a fixed Linux kernel: vendor/upstream fix available in 7.1.5 (stable) and 7.2-rc1, applied via the stable commits e2087447f562692ff0cd08a0554d8d4ad083aa5c and cbb0d30a1ad6fc9439b1dc9b4f5a7a9140d3b11f (https://git.kernel.org/stable/c/e2087447f562692ff0cd08a0554d8d4ad083aa5c and https://git.kernel.org/stable/c/cbb0d30a1ad6fc9439b1dc9b4f5a7a9140d3b11f); for distribution kernels, apply the corresponding backported package update once your vendor ships it. If you cannot patch immediately, the exposure is confined to GENEVE GRO, so compensating controls target that path: where GENEVE overlays are not required, unload or blacklist the geneve module (modprobe -r geneve / blacklist geneve) to remove the code path entirely, accepting loss of GENEVE tunneling; where GENEVE is needed, you can disable generic-receive-offload on the ingress interface with ethtool -K <iface> gro off to close the GRO trigger, at the cost of some receive-path throughput/CPU efficiency. Additionally restrict which peers can send GENEVE traffic (default UDP port 6081) via firewall rules so only trusted tunnel endpoints reach the host, reducing the untrusted-input surface. Treat these as interim measures and roll out the patched kernel as the durable fix.

Vendor StatusVendor

SUSE

Severity: Important
Product Status
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 16.0 Affected

Share

CVE-2026-72407 vulnerability details – vuln.today

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