CVE-2026-98398: Software Security Vulnerability Vulnerability
UNKNOWNCVE-2026-98398 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-98398 at a Glance
How to Fix CVE-2026-98398
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-98398, 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-98398?
Which Software versions are affected?
What version fixes CVE-2026-98398?
What CWE is associated with CVE-2026-98398?
How can I check Maven dependencies for CVE-2026-98398?
Machine-readable OSV JSON
OSV v1.5 Schema
{
"schema_version" : "1.4.0",
"id" : "GHSA-qfc6-3g3r-6rjj",
"modified" : "2026-10-14T15:32:19Z",
"published" : "2026-10-14T15:32:19Z",
"aliases" : [ "CVE-2026-98398" ],
"details" : "In the Linux kernel, the following vulnerability has been resolved:\n\nlocking/lockdep: Invalidate stale class_cache entries for zapped classes\n\nsyzbot reported a lockdep splat hitting DEBUG_LOCKS_WARN_ON(1) in\nhlock_class() due to an invalid class_idx:\n\n WARNING: kernel/locking/lockdep.c:238 at __lock_acquire+0x382/0x2cf0 kernel/locking/lockdep.c:5203\n Workqueue: wg-crypt-wg0 wg_packet_tx_worker\n RIP: 0010:hlock_class kernel/locking/lockdep.c:238 [inline]\n RIP: 0010:check_wait_context kernel/locking/lockdep.c:4870 [inline]\n RIP: 0010:__lock_acquire+0x389/0x2cf0 kernel/locking/lockdep.c:5203\n Call Trace:\n <IRQ>\n lock_acquire+0x106/0x350 kernel/locking/lockdep.c:5886\n _raw_spin_lock+0x2e/0x40 kernel/locking/spinlock.c:173\n tcp_tsq_handler+0x29/0x200 net/ipv4/tcp_output.c:1291\n tcp_tsq_workfn+0x384/0x410 net/ipv4/tcp_output.c:1325\n ...\n\nWhen a lock class is zapped (e.g. during module unload or key\nunregistration), zap_class() clears the class's bit in\nlock_classes_in_use and removes it from the class hash table.\nHowever, existing lockdep_map instances embedded in data structures\nmay still retain a pointer to the zapped class in their class_cache[]\narray.\n\nWhen __lock_acquire() subsequently runs on such a lock, it finds\nlock->class_cache[subclass] != NULL, skipping register_lock_class()\nand assigning hlock->class_idx to the index of the zapped class. When\ncheck_wait_context() or hlock_class() inspects the held_lock, it finds\n!test_bit(class_idx, lock_classes_in_use) and warns. Furthermore, if\nthe zapped slot is subsequently re-allocated to an unrelated lock key,\nthe stale class_cache entry would erroneously match the unrelated\nclass (ABA issue).\n\nAdd lock_class_cache_is_valid() to validate that the cached class is\nwithin lock_classes bounds, still allocated in lock_classes_in_use\n(using uninstrumented arch_test_bit() in __always_inline context so it\nis safe in noinstr contexts like match_held_lock()), and that\nclass->key matches the expected subkey (taking lockdep_set_subclass()\noverrides into account). Also use READ_ONCE()/WRITE_ONCE() when\naccessing class_cache[]. If the entry is invalid or stale, fall back\nto register_lock_class() / look_up_lock_class().",
"severity" : [ ],
"affected" : [ ],
"references" : [ {
"type" : "ADVISORY",
"url" : "https://nvd.nist.gov/vuln/detail/CVE-2026-98398"
}, {
"type" : "WEB",
"url" : "https://git.kernel.org/stable/c/02c6be7d675b21d81f0ba3a524346850a8c0e3bf"
}, {
"type" : "WEB",
"url" : "https://git.kernel.org/stable/c/1c9d664e2e067fca69e5a41d68e23bbc66a583fe"
}, {
"type" : "WEB",
"url" : "https://git.kernel.org/stable/c/6bc345f6d81ebe22e0f355c2a21d7e29691f9332"
}, {
"type" : "WEB",
"url" : "https://git.kernel.org/stable/c/baa320fbb2f9fea50f5632a307da8ce84fbef5bd"
}, {
"type" : "WEB",
"url" : "https://git.kernel.org/stable/c/c7acfb04c7e2e2dea248282b21373d93296644dd"
}, {
"type" : "WEB",
"url" : "https://git.kernel.org/stable/c/f63c86e9d267629758adaba18579e784ddd63c32"
}, {
"type" : "WEB",
"url" : "https://git.kernel.org/stable/c/f8a1281ab82df5b51fd0384354d4b21daf2b7af0"
} ],
"database_specific" : {
"cwe_ids" : [ ],
"severity" : null,
"github_reviewed" : false,
"github_reviewed_at" : null,
"nvd_published_at" : "2026-10-14T14:17:50Z"
}
}