CVE Catalog

CVE-2026-98573

Low risk· EPSS 11%
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.21%

11th percentile - higher than 11% of all known CVEs

Summary

In the Linux kernel, skb_maybe_pull_tail() subtracted skb_headlen(skb) from the unsigned max argument and passed the result to __pskb_pull_tail() as a signed int. When an skb had a linear area larger than MAX_IPV6_HDR_LEN, the difference wrapped to a negative value, potentially causing a very large copy length in skb_copy_bits().

Risk Assessment

An underflow during IPv6 extension header parsing can lead to kernel memory corruption, system crash, or potential code execution.

Recommendation

Update the Linux kernel to a version where the requested length itself is passed as the pull bound at the three extension-header call sites.

Other vulnerabilities in Linux kernel

See all
Original NVD description (English source)

In the Linux kernel, the following vulnerability has been resolved: net: skbuff: fix pull-bound underflow in skb_checksum_setup_ipv6() skb_maybe_pull_tail() subtracts skb_headlen(skb) from the unsigned max argument and passes the result to __pskb_pull_tail() as a signed int. The function does not ensure that max is at least skb_headlen(skb). This can happen while parsing IPv6 extension headers when an skb already has a linear area larger than MAX_IPV6_HDR_LEN. Once the parser needs data beyond the linear area, max - skb_headlen(skb) wraps and is converted to a negative delta. __pskb_pull_tail() then passes that negative length to skb_copy_bits(), where it can become a very large copy length. Pass the requested length itself as the pull bound at the three extension-header call sites, so the delta can no longer go negative.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS