CVE-2026-90181: Software Security Vulnerability Vulnerability
UNKNOWNCVE-2026-90181 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-90181 at a Glance
How to Fix CVE-2026-90181
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-90181, 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-90181?
Which Software versions are affected?
What version fixes CVE-2026-90181?
What CWE is associated with CVE-2026-90181?
How can I check Maven dependencies for CVE-2026-90181?
Machine-readable OSV JSON
OSV v1.5 Schema
{
"schema_version" : "1.4.0",
"id" : "GHSA-6q49-r2pp-pjwc",
"modified" : "2026-09-17T18:31:54Z",
"published" : "2026-09-17T18:31:54Z",
"aliases" : [ "CVE-2026-90181" ],
"details" : "In the Linux kernel, the following vulnerability has been resolved:\n\nublk: avoid teardown retry loop on xarray allocation failure\n\n__ublk_shmem_remove_ranges() removes matching maple tree ranges in\nbatches, but first stores each range into a temporary xarray so that the\npages can be unpinned after dropping the maple tree lock.\n\nThat temporary xarray is filled under the maple tree lock with\nxa_store(..., GFP_ATOMIC). If the store fails before mas_erase(), the\ncurrent range is left in the tree and the helper returns false. The\nouter ublk_shmem_remove_ranges() loop then immediately retries the same\nrange. While the atomic allocation keeps failing, the teardown path has\nno forward progress.\n\nThe issue can be reproduced with radix_tree_node failslab injection after\na SHMEM_ZC buffer has already been registered:\n\n # Kernel config:\n # CONFIG_BLK_DEV_UBLK=y\n # CONFIG_DEBUG_FS=y\n # CONFIG_FAULT_INJECTION=y\n # CONFIG_FAULT_INJECTION_DEBUG_FS=y\n # CONFIG_FAILSLAB=y\n\n echo 10 > /proc/sys/vm/nr_hugepages\n mkdir -p /tmp/htlb\n mount -t hugetlbfs none /tmp/htlb\n fallocate -l 4M /tmp/htlb/ublk_buf\n\n dev_id=$(kublk add -t null --shmem_zc \\\n\t\t--htlb /tmp/htlb/ublk_buf |\n\t awk -F '[ :]' '/dev id/ {print $3}')\n\n echo 1 > /sys/kernel/slab/radix_tree_node/failslab\n echo Y > /sys/kernel/debug/failslab/cache-filter\n echo Y > /sys/kernel/debug/failslab/ignore-gfp-wait\n echo 1 > /sys/kernel/debug/failslab/interval\n echo -1 > /sys/kernel/debug/failslab/times\n echo 100 > /sys/kernel/debug/failslab/probability\n\n kublk del -n \"$dev_id\"\n\nOn the unfixed kernel the delete command was still running after 3\nseconds. Disabling failslab made it return. The fault-injection stack\nshowed:\n\n should_failslab\n kmem_cache_alloc_lru_noprof\n __xas_nomem\n __xa_store\n xa_store\n __ublk_shmem_remove_ranges\n ublk_cdev_rel\n ublk_ctrl_del_dev\n\nRemove the allocation from the teardown loop. Keep the existing batch\nlimit, but collect {base_pfn, nr_pages} pairs in a fixed-size stack array.\nOnce a matching range is found, the range is erased from the maple tree\nbefore dropping the lock, so each successful scan makes progress without\ndepending on any GFP_ATOMIC allocation.\n\nWith the same failslab settings, the fixed kernel completed\n\"kublk del -n $dev_id\" successfully in about 45 ms.",
"severity" : [ ],
"affected" : [ ],
"references" : [ {
"type" : "ADVISORY",
"url" : "https://nvd.nist.gov/vuln/detail/CVE-2026-90181"
}, {
"type" : "WEB",
"url" : "https://git.kernel.org/stable/c/4fd66a7f829f3f38f92a79081f0f2688aed644f0"
}, {
"type" : "WEB",
"url" : "https://git.kernel.org/stable/c/b9cc6cc74daf6fef533dbe65d8cee779fea69600"
} ],
"database_specific" : {
"cwe_ids" : [ ],
"severity" : null,
"github_reviewed" : false,
"github_reviewed_at" : null,
"nvd_published_at" : "2026-09-17T17:17:12Z"
}
}