All vulnerabilities
CVE-2026-98573

Linux: net: skbuff: fix pull-bound underflow in skb_checksum_setup_ipv6()

Linux LinuxOperating systems
CVSS
NoneNot scored
ExploitationNo known exploitationNot in CISA KEV, which does not prove it is unexploitedCISA KEV
Exploit odds (EPSS)0.21%Chance of exploitation activity in the next 30 days, higher than 10% of CVEs. Scored 23 Oct 2026FIRST EPSS
Fixed in9c4e432132a97b82edf28fa172c39f743e6bfb26Also 718747afa5463d9cc5fd9a09f03b2a492edd9b78, 6c28c31f051dbf49c71ba7ab7bb9bc905fa1d14b and 1 moreCVE List
Published18 Oct 2026Updated 19 Oct 2026CVE List

What fixes it

  • 9c4e432132a97b82edf28fa172c39f743e6bfb26LinuxCVE List
  • 718747afa5463d9cc5fd9a09f03b2a492edd9b78LinuxCVE List
  • 6c28c31f051dbf49c71ba7ab7bb9bc905fa1d14bLinuxCVE List
  • 3b4e0b0c008a8c1b474730248cd5b873026c74bdLinuxCVE List

A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.

Description

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.

Text from CVE List

Affected versions 18

  • Linuxaffected: 1431fb31ecbaba1b5718006128f0f2ed0b94e1c3 before 9c4e432132a97b82edf28fa172c39f743e6bfb26CVE List
  • Linuxaffected: 1431fb31ecbaba1b5718006128f0f2ed0b94e1c3 before 718747afa5463d9cc5fd9a09f03b2a492edd9b78CVE List
  • Linuxaffected: 1431fb31ecbaba1b5718006128f0f2ed0b94e1c3 before a0ad0473c09d2e947aecac5c82e637ec85924b12CVE List
  • Linuxaffected: 1431fb31ecbaba1b5718006128f0f2ed0b94e1c3 before b2da5ed3d8c75e1b729a21b6d3beaed415e263f6CVE List
  • Linuxaffected: 1431fb31ecbaba1b5718006128f0f2ed0b94e1c3 before 6c28c31f051dbf49c71ba7ab7bb9bc905fa1d14bCVE List
  • Linuxaffected: 1431fb31ecbaba1b5718006128f0f2ed0b94e1c3 before cfa643f2ca36c6f913fe1a2ceb12412ebb0fd962CVE List
  • Linuxaffected: 1431fb31ecbaba1b5718006128f0f2ed0b94e1c3 before d7f474226809471dc7877435e9c492cc914df0bfCVE List
  • Linuxaffected: 1431fb31ecbaba1b5718006128f0f2ed0b94e1c3 before 3b4e0b0c008a8c1b474730248cd5b873026c74bdCVE List
  • Linuxaffected: 3.13CVE List
  • Linuxunaffected: all versions before 3.13CVE List
  • Linuxunaffected: 5.10.271 through 5.10.*CVE List
  • Linuxunaffected: 5.15.222 through 5.15.*CVE List
  • Linuxunaffected: 6.1.189 through 6.1.*CVE List
  • Linuxunaffected: 6.6.158 through 6.6.*CVE List
  • Linuxunaffected: 6.12.112 through 6.12.*CVE List
  • Linuxunaffected: 6.18.55 through 6.18.*CVE List
  • Linuxunaffected: 7.2.9 through 7.2.*CVE List
  • Linuxunaffected: 7.3CVE List

References 8