CVE-2026-89665: Software Security Vulnerability Vulnerability
HIGHCVE-2026-89665 is a HIGH (CVSS 8.2) security vulnerability vulnerability (General Security Weakness) affecting Software libraries in the Maven ecosystem. Remediation is available in the latest vendor maintenance releases.
CVE-2026-89665 at a Glance
Security Impact
CVSS: 8.2
The security impact metrics below are parsed directly from the CVSS v3.1 vector string (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:L).
How to Fix CVE-2026-89665
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-89665, 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-89665?
Which Software versions are affected?
What version fixes CVE-2026-89665?
What is the CVSS score of CVE-2026-89665?
What CWE is associated with CVE-2026-89665?
How can I check Maven dependencies for CVE-2026-89665?
Machine-readable OSV JSON
OSV v1.5 Schema
{
"schema_version" : "1.4.0",
"id" : "GHSA-2hmg-95cc-2f4j",
"modified" : "2026-09-14T15:32:33Z",
"published" : "2026-09-11T21:31:35Z",
"aliases" : [ "CVE-2026-89665" ],
"details" : "In the Linux kernel, the following vulnerability has been resolved:\n\nnfsd: reject out-of-range useconds in NFSv2 SETATTR/CREATE\n\nThe NFSv2 sattr decoder converts the wire useconds to nanoseconds in\nsvcxdr_decode_sattr():\n\n\tiap->ia_atime.tv_nsec = tmp2 * NSEC_PER_USEC;\n\ntmp2 is a u32 and NSEC_PER_USEC is 1000, so the product is computed in\nunsigned long. On ILP32 that is 32 bits, and an out-of-range useconds\nvalue such as 4294968 wraps to tv_nsec == 704. The corruption therefore\nhappens during decode, before any proc function can inspect the value,\nand a later range check on tv_nsec would see an in-range result and\naccept it. Rejecting in the decoder yields an RPC GARBAGE_ARGS reply.\nNFSv2 defines no NFSERR_INVAL, so there is no NFS-level status to return\nfor a malformed time argument, and the check cannot move to the proc\nfunction the way the v3/v4 nsec range checks do.\n\nGuard the raw useconds before the multiplication and reject values\ngreater than 1000000. useconds == 1000000 is kept: it is the Sun\nconvention for \"set to the current server time\", and the in-tree Linux\nNFSv2 client emits it in both the atime and the mtime field for a plain\ntouch / utimes(file, NULL) (see encode_sattr() and\nxdr_encode_current_server_time() in fs/nfs/nfs2xdr.c). Rejecting 1000000\nwould turn that common operation into a hard decode failure for both\nSETATTR and CREATE. 1000000 * NSEC_PER_USEC is 10^9, which does not wrap\non ILP32, so the Sun convention value passes through safely. Only\ngenuinely out-of-range values (> 1000000) are rejected. The atime and\nmtime guards are therefore symmetric.\n\nThe decoder only applied the Sun convention in the mtime block, which\nclears ATTR_ATIME_SET|ATTR_MTIME_SET when mtime useconds == 1000000. If a\nclient puts 1000000 in the atime field but not in the mtime field, the\natime block stored an out-of-range tv_nsec (10^9) and left ATTR_ATIME_SET\nset, so the bogus value reached the filesystem. Apply the convention in\nthe atime block as well, clearing ATTR_ATIME_SET so the server uses its\ncurrent time and ignores the value. Only ATTR_ATIME_SET is cleared there.\nThe mtime block keeps its existing behavior, where 1000000 means \"set\nboth atime and mtime to now\".\n\n[ cel: various tweaks, addenda, and clean-ups ]",
"severity" : [ {
"type" : "CVSS_V3",
"score" : "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:L"
} ],
"affected" : [ ],
"references" : [ {
"type" : "ADVISORY",
"url" : "https://nvd.nist.gov/vuln/detail/CVE-2026-89665"
}, {
"type" : "WEB",
"url" : "https://git.kernel.org/stable/c/09a79d9ab35a39603c834e8f6333603292f9c816"
}, {
"type" : "WEB",
"url" : "https://git.kernel.org/stable/c/1195483965a5f63d2dde18054ec7e50a23b9071c"
}, {
"type" : "WEB",
"url" : "https://git.kernel.org/stable/c/1db456ffc22e045f49f7b9e62415a26b3f33f200"
}, {
"type" : "WEB",
"url" : "https://git.kernel.org/stable/c/26709c8ffe73772eb69e68d553ac71d91228dccc"
}, {
"type" : "WEB",
"url" : "https://git.kernel.org/stable/c/5296a2442d12d45d6eea7b4d3ec3ffecc1821cac"
}, {
"type" : "WEB",
"url" : "https://git.kernel.org/stable/c/a937dd1aa2d92291fe0a1860d17e90d8f206cd22"
}, {
"type" : "WEB",
"url" : "https://git.kernel.org/stable/c/ad02d095439f89cbd6629420c7e3ba476457b83b"
}, {
"type" : "WEB",
"url" : "https://git.kernel.org/stable/c/cdc3299f7072777b09c9582a3b8b65bb163ddcf3"
} ],
"database_specific" : {
"cwe_ids" : [ ],
"severity" : "HIGH",
"github_reviewed" : false,
"github_reviewed_at" : null,
"nvd_published_at" : "2026-09-11T20:19:52Z"
}
}