{"id":"CVE-2026-89044","description":"Netty versions 4.1.133.Final through 4.1.137.Final and 4.2.13.Final through 4.2.17.Final fail to properly validate the final transfer coding in the Transfer-Encoding header, allowing attackers to smuggle requests by using malformed encoding declarations. Attackers can split Transfer-Encoding headers across multiple lines or use values like 'chunked, xchunked' to bypass validation and decode messages as chunked when the final coding is not chunked, enabling request smuggling attacks.","cvssScore":6.9,"cvssVersion":"4.0","cvssVector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","cvssMetrics":[{"version":"4.0","score":6.9,"severity":"MEDIUM","vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","source":"disclosure@vulncheck.com","type":"Secondary"},{"version":"3.1","score":6.5,"severity":"MEDIUM","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N","source":"disclosure@vulncheck.com","type":"Primary"}],"cwes":["CWE-444"],"resolved":"NO-EXPLOIT-PUBLISHED","published":"2026-09-10","lastModified":"2026-09-10","references":[{"url":"https://github.com/netty/netty/commit/640d4d3324f7b811a4903d0730c8ccb35500500c","source":"patch-hint","tags":["commit"]},{"url":"https://github.com/netty/netty","source":"disclosure@vulncheck.com"},{"url":"https://github.com/netty/netty/blob/netty-4.1.137.Final/codec-http/src/main/java/io/netty/handler/codec/http/HttpObjectDecoder.java#L866","source":"disclosure@vulncheck.com"},{"url":"https://github.com/netty/netty/commit/ca87393b0e9e13c493d213a268e727a6d44e1585","source":"disclosure@vulncheck.com"},{"url":"https://github.com/netty/netty/releases/tag/netty-4.1.138.Final","source":"disclosure@vulncheck.com"},{"url":"https://github.com/netty/netty/releases/tag/netty-4.2.18.Final","source":"disclosure@vulncheck.com"},{"url":"https://github.com/netty/netty/security/advisories/GHSA-hcvj-94mj-jp5c","source":"disclosure@vulncheck.com"},{"url":"https://www.vulncheck.com/advisories/netty-4.1.133-final-through-4.1.137-final-and-4.2.13-final-through-4.2.17-final-http-request-smuggling-via-transfer-encoding","source":"disclosure@vulncheck.com"}],"reasoning":{"decidingSource":"below-action-threshold","decidingReason":"This CVE is MEDIUM severity, is not listed in CISA KEV, has no public exploit or PoC in any indexed source, carries no CISA Vulnrichment finding of a demonstrated exploit, and is not part of an Oracle Critical Patch Update. None of the signals that would put it in front of an engineer is present, and the volume of CVEs below that bar is too great to take one at a time, so no rule is written for it. This is a decision about what we act on, not a finding that the CVE is harmless — a patch may well be derivable, and a low-severity defect can still be one link in a longer chain.","verdicts":[{"rule":"rejected","stage":"identity","outcome":"no-match"},{"rule":"armr-patch-file","stage":"scope","outcome":"no-match"},{"rule":"armr-secure-rule-file","stage":"scope","outcome":"no-match"},{"rule":"manual-classification","stage":"scope","outcome":"no-match"},{"rule":"h2-history","stage":"scope","outcome":"no-match"},{"rule":"non-java-upstream","stage":"scope","outcome":"no-match"},{"rule":"oracle-component","stage":"scope","outcome":"no-match"},{"rule":"osv-maven","stage":"scope","outcome":"no-match"},{"rule":"cna-maven-package","stage":"scope","outcome":"matched","status":"QUEUED-FOR-REVIEW","detail":"CNA declares the affected component is a Maven artifact"},{"rule":"patch-hint","stage":"disposition","outcome":"matched","status":"MITIGATION-CANDIDATE","detail":"References include candidate fix URL (commit tier): https://github.com/netty/netty/commit/640d4d3324f7b811a4903d0730c8ccb35500500c"},{"rule":"open-source-maven","stage":"disposition","outcome":"skipped"},{"rule":"poc-derivable","stage":"disposition","outcome":"skipped"},{"rule":"no-exploit","stage":"disposition","outcome":"skipped"},{"rule":"secure-rule-match","stage":"disposition","outcome":"no-match"},{"rule":"below-action-threshold","stage":"disposition","outcome":"matched","status":"NO-EXPLOIT-PUBLISHED","detail":"MEDIUM severity, no KEV listing, no public PoC clearing the evidence bar, no CISA exploitation finding, and not in an Oracle advisory — none of the signals we act on is present.","decisive":true},{"rule":"no-exploit-published","stage":"disposition","outcome":"skipped"}],"patchHintUrl":"https://github.com/netty/netty/commit/640d4d3324f7b811a4903d0730c8ccb35500500c","patchHintTier":"commit"},"assessment":{"record":{"state":"active"},"protection":{"level":"none"},"action":{"state":"unverified","type":"patch-rule"},"review":{"state":"automated","basis":"upstream-data"}},"signals":{"hasPOC":false,"pocCount":0},"kev":{"inKEV":false},"epss":{"available":true,"score":0.00247,"percentile":0.16082},"ssvc":{"available":false},"patchHintUrl":"https://github.com/netty/netty/commit/640d4d3324f7b811a4903d0730c8ccb35500500c","patchHintTier":"commit"}