CVE-2026-90302: Software Security Vulnerability Vulnerability
UNKNOWNCVE-2026-90302 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-90302 at a Glance
How to Fix CVE-2026-90302
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-90302, 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-90302?
Which Software versions are affected?
What version fixes CVE-2026-90302?
What CWE is associated with CVE-2026-90302?
How can I check Maven dependencies for CVE-2026-90302?
Machine-readable OSV JSON
OSV v1.5 Schema
{
"schema_version" : "1.4.0",
"id" : "GHSA-jpvp-fw99-v7cq",
"modified" : "2026-09-17T18:31:59Z",
"published" : "2026-09-17T18:31:59Z",
"aliases" : [ "CVE-2026-90302" ],
"details" : "In the Linux kernel, the following vulnerability has been resolved:\n\nocfs2: synchronize heartbeat callbacks with o2net teardown\n\nPatch series \"ocfs2: harden heartbeat teardown races\".\n\nThis series fixes two OCFS2 heartbeat/o2net teardown races found by\nKASAN.\n\n\nThis patch (of 2):\n\nHeartbeat callbacks stay registered while configfs local-node teardown\nenters o2net_stop_listening(). A node-down event can still run through\no2net_disconnect_node() and o2net_set_nn_state() while teardown is\ndestroying o2net_wq, so the later queue/flush operations can hit a dead\nworkqueue. KASAN has caught this as a slab-use-after-free in\n__queue_work() with the call chain:\n\nKASAN slab-use-after-free in __queue_work+0x56/0xa90\nRead of size 4\nCall trace:\n dump_stack_lvl+0x66/0xa0\n print_report+0xce/0x630\n __queue_work+0x56/0xa90\n srso_alias_return_thunk+0x5/0xfbef5\n __virt_addr_valid+0x19f/0x330\n kasan_report+0xe0/0x110\n __queue_delayed_work+0x58/0x1e0\n queue_delayed_work_on+0xb4/0xc0\n o2net_set_nn_state+0x467/0x840\n o2net_disconnect_node+0x7b/0xe0\n o2net_hb_node_down_cb+0x54/0x60\n o2hb_run_event_list+0x236/0x2d0\n o2hb_check_slot+0xad4/0xbc0\n lock_release+0xc8/0x290\n o2hb_check_slot+0x9ea/0xbc0\n trace_hardirqs_on+0x18/0x130\n o2hb_do_disk_heartbeat+0x646/0xb30 (fs/ocfs2/cluster/heartbeat.c:1079)\n __lock_acquire+0x466/0x2260\n lockdep_hardirqs_on_prepare+0xea/0x1a0\n ktime_get_with_offset+0xe9/0x230\n o2hb_thread+0x14e/0x770\n kthread+0x1ad/0x1f0\n ret_from_fork+0x3c9/0x540\n __switch_to+0x2e9/0x730\n ret_from_fork_asm+0x1a/0x30\nAllocated by task stack:\n kasan_save_stack+0x33/0x60\n kasan_save_track+0x14/0x30\n __kasan_kmalloc+0xaa/0xb0\n __kmalloc_noprof+0x292/0x760\n __alloc_workqueue+0x736/0xc60\n alloc_workqueue_noprof+0xb1/0x110\n o2net_start_listening+0xe5/0x430\n o2nm_node_local_store+0x184/0x310\n configfs_write_iter+0x18a/0x210\n vfs_write+0x469/0x810\n ksys_write+0xd2/0x170\n do_syscall_64+0x115/0x6a0 (arch/x86/entry/syscall_64.c:87)\n entry_SYSCALL_64_after_hwframe+0x77/0x7f\nFreed by task stack:\n kasan_save_stack+0x33/0x60\n kasan_save_track+0x14/0x30\n kasan_save_free_info+0x3b/0x60\n __kasan_slab_free+0x5f/0x80\n kfree+0x313/0x590\n rcu_core+0x4f4/0x1320\n handle_softirqs+0x156/0x660\n\nqueue_delayed_work_on\no2net_set_nn_state\no2net_disconnect_node\no2net_hb_node_down_cb\no2hb_run_event_list\n\nKeep heartbeat callbacks registered so quorum state still tracks node\nstate, but stop them from driving o2net reconnect/disconnect work once\nlocal teardown starts. Mark the transport offline before destroying\no2net_wq, wait for any in-flight heartbeat callback to finish, and delay\nbring-up replay until the new local node is published through\no2nm_this_node().\n\nThe replay also has to stay serialized with heartbeat callback delivery.\nOtherwise a live-node snapshot can be copied, a real hb_down callback\ncan install -ENOTCONN for a peer, and the stale replay can call\no2net_hb_node_up() for that same peer and queue reconnect work even\nthough heartbeat is already down.\n\nThe buggy scenario involves two paths, with each column showing the order\nwithin that path:\n\nlocal-node teardown: heartbeat node-down callback:\n1. configfs local-off enters 1. o2hb_run_event_list() invokes\n o2net_stop_listening(). o2net_hb_node_down_cb().\n2. teardown heads for 2. the callback reaches\n destroy_workqueue(o2net_wq). o2net_disconnect_node() and\n o2net_set_nn_state().\n3. teardown destroys and NULLs 3. the callback flushes or queues\n o2net_wq. work through o2net_wq.",
"severity" : [ ],
"affected" : [ ],
"references" : [ {
"type" : "ADVISORY",
"url" : "https://nvd.nist.gov/vuln/detail/CVE-2026-90302"
}, {
"type" : "WEB",
"url" : "https://git.kernel.org/stable/c/073f51e39bed354452a057d38a4cc3952727c304"
}, {
"type" : "WEB",
"url" : "https://git.kernel.org/stable/c/3e326f3bf16506873777444608e8b715aab74a7a"
}, {
"type" : "WEB",
"url" : "https://git.kernel.org/stable/c/7601db4c9d3bd9ab2482a863cb05204154d51ae8"
}, {
"type" : "WEB",
"url" : "https://git.kernel.org/stable/c/8f96b78314cff0778a3466e49e5edbc1e459c95c"
}, {
"type" : "WEB",
"url" : "https://git.kernel.org/stable/c/a03078a9a2a1c5e4a62f65d389c1f75f9898e21d"
}, {
"type" : "WEB",
"url" : "https://git.kernel.org/stable/c/aee687a2fb36974dc37e4e0f5b03802067c6c4ec"
}, {
"type" : "WEB",
"url" : "https://git.kernel.org/stable/c/cbb4efc2f99d6a8dba09c96b10acad82da982cf9"
}, {
"type" : "WEB",
"url" : "https://git.kernel.org/stable/c/fb61882e184ee5ca745806bc5b2a8483fa129bca"
} ],
"database_specific" : {
"cwe_ids" : [ ],
"severity" : null,
"github_reviewed" : false,
"github_reviewed_at" : null,
"nvd_published_at" : "2026-09-17T17:17:27Z"
}
}