CVE-2026-98629: Software Security Vulnerability Vulnerability
UNKNOWNCVE-2026-98629 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-98629 at a Glance
How to Fix CVE-2026-98629
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-98629, 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-98629?
Which Software versions are affected?
What version fixes CVE-2026-98629?
What CWE is associated with CVE-2026-98629?
How can I check Maven dependencies for CVE-2026-98629?
Machine-readable OSV JSON
OSV v1.5 Schema
{
"schema_version" : "1.4.0",
"id" : "GHSA-3xrv-9p49-wqm3",
"modified" : "2026-10-18T18:31:57Z",
"published" : "2026-10-18T18:31:57Z",
"aliases" : [ "CVE-2026-98629" ],
"details" : "In the Linux kernel, the following vulnerability has been resolved:\n\nnet/sched: cls_u32: fix manual hash table handle IDR aliasing\n\nA u32 hash table created with an explicit handle ('tc filter add ...\nhandle 801: u32 divisor N') keys its IDR entry on the raw handle, while\nthe destroy paths free it under handle2id(handle). The two key domains\ndisagree for handles in the 0x800..0xFFF htid range:\nhandle2id() folds them back into the auto-allocated id space (1..0x7FF).\n\nA manual table therefore leaves its raw-keyed IDR entry unreachable on\ndelete (a permanent leak), and its delete can drop the idr entry of an\nunrelated live auto table. A later auto allocation can then hand out a\nhandle that aliases the live manual table; u32_lookup_ht() first-match\nroutes lookups and TCA_U32_LINK for that htid to the wrong table.\n\nKey the divisor-path alloc on handle2id(handle) so allocation and\nremoval share one key domain. A manual handle that maps onto an id\nalready in use is rejected with -ENOSPC, and auto allocation skips ids\nheld by live manual tables.\n\nConditions to recreate:\n ip link add test0 type dummy\n tc qdisc add dev test0 clsact\n tc filter add dev test0 ingress protocol ip pref 1 \\\n handle 801: u32 divisor 16\n tc filter add dev test0 ingress protocol ip pref 2 u32 divisor 16\n tc -d filter show dev test0 ingress | grep 'fh 801:'\n # unpatched: two live tables with handle 0x80100000 (the pref 2 root\n # hnode is auto-allocated id 1); patched: the auto hnode takes id 2.\n\nAlso tested with a poc with a live u32 table on the block, add/delete a manual\ntable 'handle 901: u32 divisor 1' twice; unpatched, the re-add fails with\n-ENOSPC because the raw key leaked on the first delete.",
"severity" : [ ],
"affected" : [ ],
"references" : [ {
"type" : "ADVISORY",
"url" : "https://nvd.nist.gov/vuln/detail/CVE-2026-98629"
}, {
"type" : "WEB",
"url" : "https://git.kernel.org/stable/c/0a5f5d9e94dead312d32c366b917c64e552b72f7"
}, {
"type" : "WEB",
"url" : "https://git.kernel.org/stable/c/0fac292d93fdb313099e98cce928b3a524c92c94"
}, {
"type" : "WEB",
"url" : "https://git.kernel.org/stable/c/21fc07924e996e1e661268ca269c86b8d59d25b3"
}, {
"type" : "WEB",
"url" : "https://git.kernel.org/stable/c/2f898f9ec7c73c5697ee462681e7ea6984ee1f3d"
}, {
"type" : "WEB",
"url" : "https://git.kernel.org/stable/c/54a454c5e41f5e2cb70c8163140ce095c5d5eefd"
}, {
"type" : "WEB",
"url" : "https://git.kernel.org/stable/c/f6696481eedfd5752b4b56eed715d0b0fe48b9c5"
} ],
"database_specific" : {
"cwe_ids" : [ ],
"severity" : null,
"github_reviewed" : false,
"github_reviewed_at" : null,
"nvd_published_at" : "2026-10-18T16:17:15Z"
}
}