CVE-2026-98271: Software Security Vulnerability Vulnerability
UNKNOWNCVE-2026-98271 is a security vulnerability vulnerability (General Security Weakness) affecting Software libraries in the Maven ecosystem. Remediation is available in the latest vendor maintenance releases.
CVE-2026-98271 at a Glance
How to Fix CVE-2026-98271
To remediate this vulnerability, upgrade all affected Software dependencies to a patched release. Both direct and transitive dependencies should be checked, as frameworks or security libraries may pull in vulnerable versions transitively.
Run the following command in your project directory to verify that all resolved dependencies use the patched release:
mvn dependency:tree
How to Check if You Are Affected
To determine whether your Java application is affected by CVE-2026-98271, inspect your build dependencies using the Maven Dependency Plugin:
mvn dependency:tree
Analyze the terminal output to locate any version of Software in your dependency tree. If any resolved version matches the vulnerable ranges listed in the table below (for example, versions earlier than the patched release), your application is affected.
Note: The mvn dependency:tree command inspects the resolved dependency graph declared in your project's POM files; it does not perform automated security scanning or inspect runtime dynamic classpaths. Always verify runtime container classpaths and shaded JARs.
Technical Details
Vulnerability Mechanism & Technical Analysis
This vulnerability is classified under General Security Weakness. In Software, software state validation or input boundaries are circumvented during processing. Review the official source advisory statement below for specific affected components, classes, and reproduction details.
Source Advisory Statement
References
Frequently Asked Questions
What is CVE-2026-98271?
Which Software versions are affected?
What version fixes CVE-2026-98271?
What CWE is associated with CVE-2026-98271?
How can I check Maven dependencies for CVE-2026-98271?
Machine-readable OSV JSON
OSV v1.5 Schema
{
"schema_version" : "1.4.0",
"id" : "GHSA-p44r-ff57-rwr9",
"modified" : "2026-10-06T09:31:33Z",
"published" : "2026-10-06T09:31:33Z",
"aliases" : [ "CVE-2026-98271" ],
"details" : "In the Linux kernel, the following vulnerability has been resolved:\n\nnet: skbuff: do not leave stale header offsets after pskb_carve()\n\npskb_carve_inside_header() and pskb_carve_inside_nonlinear() remove\nthe first bytes of a packet and reallocate skb->head.\n\nAll the headers that were present before the operation are gone,\nbut both functions call skb_headers_offset_update(skb, 0), which\nis a no-op : skb->mac_header, skb->network_header,\nskb->transport_header and skb->csum_start keep their old values and\nnow describe bytes which are no longer there.\n\nBoth helpers size the new head from the old skb_end_offset(), so the\nstale offsets still land inside the new allocation. They point past\nskb_tail_pointer() though, to bytes that were never initialized.\n\npskb_carve_inside_nonlinear() is the worst case, because it leaves a\nzombie skb with an empty linear part (skb->data ==\nskb_tail_pointer(skb), skb_headlen(skb) == 0), while\nskb_mac_header_was_set() is still true and skb->mac_header is way\nahead of skb->data.\n\nThe only user of pskb_extract() is rds_tcp_data_recv(), and the\ncarved skb is queued on tinc->ti_skb_list. When the RDS incoming\nmessage is released, rds_tcp_inc_free() calls skb_queue_purge(),\nwhich frees the skbs with SKB_DROP_REASON_QUEUE_PURGE. This is\nvisible from drop_monitor, which then tries to pull back to the\n(bogus) mac header :\n\nskbuff: __skb_pull(len=234)\nskb len=6968 data_len=6968 headroom=0 headlen=0 tailroom=0\nend-tail=384 mac=(234,14) mac_len=14 net=(248,40) trans=288\nshinfo(txflags=0 nr_frags=1 gso(size=1428 type=16 segs=5))\ncsum(0x100120 start=288 offset=16 ip_summed=3 complete_sw=0 valid=1 level=0)\nhash(0x7b446c6c sw=0 l4=1) proto=0x86dd pkttype=0 iif=60\nkernel BUG at ./include/linux/skbuff.h:2847!\n\nAdd skb_carve_reset_headers() to mark the mac and transport headers\nas not set, reset the network header, clear skb->mac_len, and drop\na now meaningless CHECKSUM_PARTIAL (csum_start no longer describes\nanything).\n\nInvalidate the inner offsets as well. Unlike mac_header and\ntransport_header they have no \"unset\" sentinel, so a leftover\nnon-zero value still looks like a real header. Zero\nskb->inner_mac_header, skb->inner_network_header,\nskb->inner_transport_header, skb->inner_protocol and\nskb->encapsulation, so that all the header state is invalidated in\none place.\n\nv2: fixed an inaccurate changelog. The stale offsets stay inside the\n new skb->head, which is never smaller than the old one, they\n simply point past skb_tail_pointer() to bytes that are gone.\n Thanks to Xuanqiang Luo for insisting on this.\n Also invalidate the inner header state, as suggested by the\n netdev AI review :\n https://netdev-ai.bots.linux.dev/sashiko/#/patchset/20260911114922.621937-1-edumazet%40google.com",
"severity" : [ ],
"affected" : [ ],
"references" : [ {
"type" : "ADVISORY",
"url" : "https://nvd.nist.gov/vuln/detail/CVE-2026-98271"
}, {
"type" : "WEB",
"url" : "https://git.kernel.org/stable/c/12929ed66a5166177ef5f06d3da81e4f99993e90"
}, {
"type" : "WEB",
"url" : "https://git.kernel.org/stable/c/75e4a3e62531738c124c8555a626426fca29d392"
}, {
"type" : "WEB",
"url" : "https://git.kernel.org/stable/c/a5117e1eccac6ee3bd4aed7cacf8ebcb6b3eb309"
}, {
"type" : "WEB",
"url" : "https://git.kernel.org/stable/c/bff8a8e53a6d290bc2777bde36d3cb6317b8463d"
} ],
"database_specific" : {
"cwe_ids" : [ ],
"severity" : null,
"github_reviewed" : false,
"github_reviewed_at" : null,
"nvd_published_at" : "2026-10-06T09:18:16Z"
}
}