{"id":"CVE-2026-28369","kind":"vulnerability","aliases":["CVE-2026-28369","GHSA-vqqj-9cmv-hx43"],"related":[],"title":"Undertow is Vulnerable to HTTP Request/Response Smuggling","description":"A flaw was found in Undertow. When Undertow receives an HTTP request where the first header line starts with one or more spaces, it incorrectly processes the request by stripping these leading spaces. This behavior, which violates HTTP standards, can be exploited by a remote attacker to perform request smuggling. Request smuggling allows an attacker to bypass security mechanisms, access restricted information, or manipulate web caches, potentially leading to unauthorized actions or data exposure.","summary":"Undertow, a Java web server library, strips leading spaces from the first HTTP header line when it should reject them. A remote attacker can use this to smuggle requests past proxies and reach restricted paths or poison caches.","severity":"critical","cvss":9.1,"epss":0.00689,"exploited":false,"exploited_at":null,"products":[{"name":"io.undertow:undertow-core","fixed":["2.2.40.Final"],"affected":"< 2.2.40.Final","ecosystem":"maven"},{"name":"io.undertow:undertow-core","fixed":["2.3.25.Final"],"affected":">= 2.3.0.Final, < 2.3.25.Final","ecosystem":"maven"},{"name":"redhat build of apache camel - hawtio","fixed":[],"affected":"= 4.0","ecosystem":"vendor"},{"name":"redhat build of apache camel for spring boot","fixed":[],"affected":"= 4.0","ecosystem":"vendor"},{"name":"redhat data grid","fixed":[],"affected":"= 8.0","ecosystem":"vendor"},{"name":"redhat fuse","fixed":[],"affected":"= 7.0.0","ecosystem":"vendor"},{"name":"redhat jboss enterprise application platform","fixed":[],"affected":"= 7.0.0","ecosystem":"vendor"},{"name":"redhat jboss enterprise application platform","fixed":[],"affected":"= 8.0.0","ecosystem":"vendor"},{"name":"redhat jboss enterprise application platform expansion pack","fixed":[],"affected":"","ecosystem":"vendor"},{"name":"redhat process automation","fixed":[],"affected":"= 7.0","ecosystem":"vendor"},{"name":"redhat single sign-on","fixed":[],"affected":"= 7.0","ecosystem":"vendor"},{"name":"redhat undertow","fixed":[],"affected":"","ecosystem":"vendor"},{"name":"redhat enterprise linux","fixed":[],"affected":"= 9.0","ecosystem":"vendor"}],"ecosystems":["maven","vendor"],"tags":["cwe-444","java","maven","package","reverse-proxy","undertow"],"not_affected_if":["no-undertow-core-dependency","version-below-affected-range"],"how_to_check":"- Run `mvn dependency:tree` and look for `io.undertow:undertow-core` and its version\n- Check whether any version is below `2.2.40.Final` or in the range `2.3.0.Final` to `2.3.25.Final`","fix":"- Upgrade to `2.2.40.Final` on the 2.2 line\n- Upgrade to `2.3.25.Final` on the 2.3 line","status":"open","published_at":"2026-03-27T17:16:28+00:00","first_seen_at":"2026-11-04T20:45:52+00:00","triaged_at":"2026-11-04T20:46:29+00:00","updated_at":"2026-11-04T20:59:06+00:00","category":"package","confidence":0.7,"triage":{"at":"2026-11-04T20:46:29Z","model":"claude-haiku-5-5","output":{"fix":"- Upgrade to `2.2.40.Final` on the 2.2 line\n- Upgrade to `2.3.25.Final` on the 2.3 line","reach":"internet","title":"Undertow: leading spaces in first header line enable request smuggling","impact":"medium","summary":"Undertow, a Java web server library, strips leading spaces from the first HTTP header line when it should reject them. A remote attacker can use this to smuggle requests past proxies and reach restricted paths or poison caches.","audience":"developers","category":"package","nicknames":[],"who_cares":["java","undertow","maven","reverse-proxy"],"confidence":0.7,"fix_status":"available","needs_auth":"no","worst_case":"Attacker smuggles requests past proxy controls and reaches restricted data","analyst_note":"","how_to_check":"- Run `mvn dependency:tree` and look for `io.undertow:undertow-core` and its version\n- Check whether any version is below `2.2.40.Final` or in the range `2.3.0.Final` to `2.3.25.Final`","plain_action":"","needs_analyst":false,"not_affected_if":["version-below-affected-range","no-undertow-core-dependency"],"who_is_affected":"Applications that embed undertow-core as their HTTP server, especially those behind a reverse proxy or load balancer that relies on header parsing to make access decisions. Standalone apps with no proxy in front have less exposure but still need the fixed version. Teams that only use Undertow indirectly through a framework should check whether that framework pulls in an affected version.","user_interaction":"no","needs_special_setup":"unknown","severity_if_unknown":"high"},"cost_usd":0.000719,"input_tokens":4323,"output_tokens":574,"severity_before":"high"},"analyst_status":null,"analyst_note":null,"search":"'-2026':9A,17A '-28369':10A,18A '-444':77B '9cmv':14A 'access':182C 'action':193C 'allow':175C 'apache':30A,36A 'application':49A,54A,59A 'attack':107B,168C,177C 'automation':65A 'behavior':157C 'boot':40A 'build':28A,34A 'bypass':179C 'cach':122B,188C 'camel':31A,37A 'core':22A,26A 'cve':8A,16A 'cwe':76B 'data':42A,195C 'enterprise':48A,53A,58A,74A 'expansion':61A 'exploit':164C 'exposur':196C 'first':96B,137C 'flaw':124C 'for':38A 'found':126C 'fuse':45A 'ghsa':12A 'ghsa-vqqj-9cmv-hx43':11A 'grid':43A 'hawtio':32A 'header':98B,138C 'http':5A,97B,133C,160C 'hx43':15A 'incorrect':147C 'inform':184C 'io.undertow':19A,23A 'java':78B,87B 'jboss':47A,52A,57A 'lead':92B,154C,190C 'librari':90B 'line':99B,139C 'linux':75A 'manipul':186C 'maven':79B 'mechan':181C 'of':29A,35A 'on':70A 'one':142C 'pack':62A 'packag':80B 'past':114B 'path':119B 'perform':170C 'platform':50A,55A,60A 'poison':121B 'potenti':189C 'process':64A,148C 'proxi':83B,115B 'reach':117B 'receiv':131C 'redhat':27A,33A,41A,44A,46A,51A,56A,63A,66A,71A,73A 'reject':103B 'remot':106B,167C 'request':113B,134C,150C,171C,173C 'request/response':6A 'restrict':118B,183C 'revers':82B 'reverse-proxi':81B 'secur':180C 'server':89B 'sign':69A 'sign-on':68A 'single':67A 'smuggl':7A,112B,172C,174C 'space':93B,145C,155C 'spring':39A 'standard':161C 'start':140C 'strip':91B,152C 'unauthor':192C 'undertow':1A,21A,25A,72A,84B,85B,128C,130C 'undertow-core':20A,24A 'use':109B 'violat':159C 'vqqj':13A 'vulner':3A 'web':88B,187C","nicknames":[],"mitigations":[],"who_affected":"Applications that embed undertow-core as their HTTP server, especially those behind a reverse proxy or load balancer that relies on header parsing to make access decisions. Standalone apps with no proxy in front have less exposure but still need the fixed version. Teams that only use Undertow indirectly through a framework should check whether that framework pulls in an affected version.","tier":"B","verified":{},"analyst_revisit_at":null,"fix_status":"available","audience":"developers","plain_action":null,"pkeys":["buildofapachecamelforspringboot","buildofapachecamelhawtio","datagrid","enterpriselinux","fuse","ioundertowundertowcore","jbossenterpriseapplicationplatform","jbossenterpriseapplicationplatformexpansionpack","processautomation","redhatbuildofapachecamelforspringboot","redhatbuildofapachecamelhawtio","redhatdatagrid","redhatenterpriselinux","redhatfuse","redhatjbossenterpriseapplicationplatform","redhatjbossenterpriseapplicationplatformexpansionpack","redhatprocessautomation","redhatsinglesignon","redhatundertow","singlesignon","undertow"],"ptokens":["apache","application","automation","boot","build","camel","core","data","enterprise","expansion","for","fuse","grid","hawtio","io","jboss","linux","of","on","pack","platform","process","redhat","sign","single","spring","undertow"],"labels":["critical","cwe444","java","maven","package","reverseproxy","undertow","vendor"],"campaign_type":null,"first_public_at":"2026-03-27T17:16:28+00:00","kev":null,"cvss_vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:N","cvss_by":"GitHub","poc_count":0,"sources":[{"source":"ghsa","external_id":"GHSA-vqqj-9cmv-hx43","url":"https://github.com/advisories/GHSA-vqqj-9cmv-hx43","severity":"high","published_at":"2026-03-27T18:31:27+00:00","modified_at":"2026-11-04T20:42:49+00:00","first_seen_at":"2026-11-04T20:45:52+00:00","fetched_at":"2026-11-04T21:17:12+00:00","note":null},{"source":"nvd","external_id":"CVE-2026-28369","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-28369","severity":null,"published_at":"2026-03-27T17:16:28+00:00","modified_at":"2026-10-26T21:10:00+00:00","first_seen_at":"2026-11-04T20:59:06+00:00","fetched_at":"2026-11-04T20:59:06+00:00","note":null}],"documents":[{"id":70353,"url":"https://github.com/undertow-io/undertow/commit/3ece0bf2b2cf5e01db8ca25e41b831e66d3f5961","title":"Patch: github.com","kind":"other","source":"ghsa","publisher":"vendor","text":null,"published_at":null,"relation":"fix","confidence":null,"note":"Patch: github.com"},{"id":70354,"url":"https://github.com/undertow-io/undertow/commit/904e26f1be62fb00b440538608a9574839821878","title":"Patch: github.com","kind":"other","source":"ghsa","publisher":"vendor","text":null,"published_at":null,"relation":"fix","confidence":null,"note":"Patch: github.com"},{"id":70355,"url":"https://github.com/undertow-io/undertow/commit/c5dc41479e9c3576552d7e98e31bb1c237ae155e","title":"Patch: github.com","kind":"other","source":"ghsa","publisher":"vendor","text":null,"published_at":null,"relation":"fix","confidence":null,"note":"Patch: github.com"},{"id":70424,"url":"https://access.redhat.com/security/cve/CVE-2026-28369","title":"Vendor advisory: access.redhat.com","kind":"vendor","source":"nvd","publisher":"vendor","text":null,"published_at":null,"relation":"advisory","confidence":null,"note":"Vendor advisory: access.redhat.com"},{"id":70425,"url":"https://bugzilla.redhat.com/show_bug.cgi?id=2443262","title":"Vendor advisory: bugzilla.redhat.com","kind":"vendor","source":"nvd","publisher":"vendor","text":null,"published_at":null,"relation":"advisory","confidence":null,"note":"Vendor advisory: bugzilla.redhat.com"}],"exploit_sources":[{"type":"epss","score":0.00689,"url":"https://api.first.org/data/v1/epss?cve=CVE-2026-28369"}],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}