Skip to main content

Linux Kernel CVE-2026-72021

| EUVDEUVD-2026-58979 HIGH
2026-08-15 416baaa9-dc9f-4396-8d5f-8c081fb06d67 GHSA-vp82-2jx6-f675
8.2
CVSS 3.1 · Vendor: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Share

Severity by source

Vendor (416baaa9-dc9f-4396-8d5f-8c081fb06d67) PRIMARY
8.2 HIGH
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:H
vuln.today AI
6.5 MEDIUM

AC:H because exploitation requires IPVS active, IPv6 enabled, and SCTP load-balanced - an atypical configuration not present in default deployments.

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

Primary rating from Vendor (416baaa9-dc9f-4396-8d5f-8c081fb06d67).

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

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

Lifecycle Timeline

5
Analysis Generated
Aug 17, 2026 - 12:43 vuln.today
CVSS changed
Aug 17, 2026 - 06:22 NVD
8.2 (HIGH)
Patch available
Aug 15, 2026 - 07:20 EUVD
CVE Published
Aug 15, 2026 - 06:21 cve.org
HIGH 8.2
CVE Published
Aug 15, 2026 - 06:21 cve.org
UNKNOWN (no severity yet)

DescriptionCVE.org

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

ipvs: use parsed transport offset in SCTP state lookup

set_sctp_state() reads the SCTP chunk header again in order to drive the IPVS SCTP state table. For IPv6 it computes the offset with sizeof(struct ipv6hdr), while the surrounding IPVS code uses iph.len from ip_vs_fill_iph_skb(), where ipv6_find_hdr() has already skipped extension headers and found the real transport header.

This makes the state machine read from the wrong offset for IPv6 SCTP packets that carry extension headers. For example, an INIT packet with an 8-byte destination options header can be scheduled correctly by sctp_conn_schedule(), but set_sctp_state() reads the first byte of the SCTP verification tag as a DATA chunk type. The connection then moves from NONE to ESTABLISHED instead of INIT1, gets the longer established timeout, and updates the active/inactive destination counters incorrectly. This happens even though the SCTP handshake has not completed.

Use the parsed transport offset passed down from ip_vs_set_state() for the SCTP chunk-header lookup. For IPv4 and IPv6 packets without extension headers this preserves the existing offset.

AnalysisAI

IPVS (IP Virtual Server) SCTP state tracking in the Linux kernel misreads chunk headers for IPv6 packets carrying extension headers, causing incorrect connection state transitions that affect load balancer behavior and resource accounting. The IPVS subsystem, widely deployed in Kubernetes and LVS environments via kube-proxy, can misclassify an SCTP INIT packet as an already-ESTABLISHED connection when the IPv6 packet includes extension headers (e.g., an 8-byte Destination Options header), because set_sctp_state() hardcodes sizeof(struct ipv6hdr) as the transport offset rather than using the offset already resolved by ipv6_find_hdr(). No public exploit identified at time of analysis, and EPSS at 0.21% (12th percentile) confirms very low current exploitation interest despite the CVSS 8.2 score.

Technical ContextAI

IPVS is a Layer-4 load balancing subsystem built into the Linux kernel, commonly used through LVS and as the kube-proxy backend in Kubernetes clusters. It maintains per-connection state tables - including for SCTP - to route packets correctly across backend real servers. For IPv6, the proper transport-layer offset is determined by ipv6_find_hdr() inside ip_vs_fill_iph_skb(), which iterates through all extension headers (Routing, Destination Options, Hop-by-Hop, etc.) to find the actual SCTP chunk. The bug is in set_sctp_state(): it independently recomputes the offset using the fixed sizeof(struct ipv6hdr) = 40 bytes, ignoring any extension headers. For a packet with an 8-byte Destination Options header, this puts the read pointer 8 bytes early, landing inside the SCTP verification tag rather than the chunk type field. The chunk type byte read is therefore incorrect, causing the state machine to transition NONE→ESTABLISHED instead of NONE→INIT1. This assigns the longer established connection timeout and incorrectly increments the active destination counter, skewing load balancer weight-based scheduling. CWE classification is not assigned in the NVD record; the root cause is an off-by-N offset computation error (functionally similar to CWE-193: Off-by-one Error or CWE-682: Incorrect Calculation).

RemediationAI

Upgrade to a patched stable kernel release: 5.10.261, 5.15.212, 6.1.178, 6.6.145, 6.12.97, 6.18.40, or 7.1.5 - all include the corrected set_sctp_state() offset logic. Upstream patches are available at https://git.kernel.org/stable/c/2f75c0faa3361b28e36cc0512b3299e163e25789 and related commits for each branch. For systems that cannot be patched immediately, compensating controls include: disabling SCTP load balancing in IPVS (remove or avoid ipvsadm rules that route SCTP traffic), which eliminates the vulnerable code path entirely with the trade-off of losing SCTP LVS functionality; or restricting IPv6 SCTP traffic at the network perimeter so that packets with extension headers cannot reach the IPVS system, though this may break legitimate IPv6 SCTP services. Kubernetes environments using kube-proxy in IPVS mode with SCTP services and dual-stack IPv6 are the most likely to be operationally affected and should prioritize patching.

Vendor StatusVendor

SUSE

Severity: Moderate
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-72021 vulnerability details – vuln.today

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