{"id":"CVE-2026-28367","kind":"vulnerability","aliases":["CVE-2026-28367","GHSA-3gv6-g396-9v4r"],"related":[],"title":"Undertow is Vulnerable to HTTP Request/Response Smuggling","description":"A flaw was found in Undertow. A remote attacker can exploit this vulnerability by sending `\\r\\r\\r` as a header block terminator. This can be used for request smuggling with certain proxy servers, such as older versions of Apache Traffic Server and Google Cloud Classic Application Load Balancer, potentially leading to unauthorized access or manipulation of web requests.","summary":"Undertow, a Java web server library, accepts `\\r\\r\\r` as a header block terminator, so a remote attacker can smuggle requests past certain proxies. The result can be unauthorized access to or manipulation of web requests handled behind those proxies.","severity":"critical","cvss":9.1,"epss":0.00719,"exploited":false,"exploited_at":null,"products":[{"name":"io.undertow:undertow-core","fixed":["2.3.25.Final"],"affected":">= 2.3.0.Final, < 2.3.25.Final","ecosystem":"maven"},{"name":"io.undertow:undertow-core","fixed":["2.2.40.Final"],"affected":"< 2.2.40.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"}],"ecosystems":["maven","vendor"],"tags":["cwe-444","java","jboss","maven","package","undertow","wildfly"],"not_affected_if":["no-undertow-dependency","not-behind-proxy"],"how_to_check":"- Check the `io.undertow:undertow-core` version in your Maven or Gradle dependency tree, for example with `mvn dependency:tree | grep undertow-core`.\n- Look for Undertow behind a reverse proxy or load balancer such as older Apache Traffic Server or Google Cloud Classic Application Load Balancer.","fix":"- `io.undertow:undertow-core` `2.3.25.Final` for the 2.3.x line\n- `io.undertow:undertow-core` `2.2.40.Final` for the 2.2.x line","status":"open","published_at":"2026-03-27T17:16:27+00:00","first_seen_at":"2026-11-04T21:17:12+00:00","triaged_at":"2026-11-04T21:17:51+00:00","updated_at":"2026-11-04T21:49:23+00:00","category":"package","confidence":0.7,"triage":{"at":"2026-11-04T21:17:51Z","model":"claude-haiku-5-5","output":{"fix":"- `io.undertow:undertow-core` `2.3.25.Final` for the 2.3.x line\n- `io.undertow:undertow-core` `2.2.40.Final` for the 2.2.x line","reach":"internet","title":"Undertow: request smuggling via bare carriage returns lets requests bypass proxies","impact":"medium","summary":"Undertow, a Java web server library, accepts `\\r\\r\\r` as a header block terminator, so a remote attacker can smuggle requests past certain proxies. The result can be unauthorized access to or manipulation of web requests handled behind those proxies.","audience":"developers","category":"package","nicknames":[],"who_cares":["java","undertow","maven","jboss","wildfly"],"confidence":0.7,"fix_status":"available","needs_auth":"no","worst_case":"Attacker smuggles requests past a proxy, reaching unauthorized web resources.","analyst_note":"","how_to_check":"- Check the `io.undertow:undertow-core` version in your Maven or Gradle dependency tree, for example with `mvn dependency:tree | grep undertow-core`.\n- Look for Undertow behind a reverse proxy or load balancer such as older Apache Traffic Server or Google Cloud Classic Application Load Balancer.","plain_action":"","needs_analyst":false,"not_affected_if":["no-undertow-dependency","not-behind-proxy"],"who_is_affected":"Applications that embed Undertow as their HTTP server, especially those placed behind a proxy that parses header terminators differently. Standalone Undertow deployments without an upstream proxy are less exposed, but the sources do not say how much that reduces risk. Teams using a different server, or Undertow only as a test fixture, can skip it.","user_interaction":"no","needs_special_setup":"unknown","severity_if_unknown":"unknown"},"cost_usd":0.000751,"input_tokens":4289,"output_tokens":644,"severity_before":"high"},"analyst_status":null,"analyst_note":null,"search":"'-2026':9A,17A '-28367':10A,18A '-444':74B '3gv6':13A '9v4r':15A 'accept':87B 'access':111B,175C 'apach':161C 'apache':30A,36A 'applic':168C 'application':49A,54A,59A 'attack':99B,130C 'automation':65A 'balanc':170C 'behind':119B 'block':94B,143C 'boot':40A 'build':28A,34A 'camel':31A,37A 'certain':104B,153C 'classic':167C 'cloud':166C 'core':22A,26A 'cve':8A,16A 'cwe':73B 'data':42A 'enterprise':48A,53A,58A 'expansion':61A 'exploit':132C 'flaw':123C 'for':38A 'found':125C 'fuse':45A 'g396':14A 'ghsa':12A 'ghsa-3gv6-g396-9v4r':11A 'googl':165C 'grid':43A 'handl':118B 'hawtio':32A 'header':93B,142C 'http':5A 'io.undertow':19A,23A 'java':75B,83B 'jboss':47A,52A,57A,76B 'lead':172C 'librari':86B 'load':169C 'manipul':114B,177C 'maven':77B 'of':29A,35A 'older':158C 'on':70A 'pack':62A 'packag':78B 'past':103B 'platform':50A,55A,60A 'potenti':171C 'process':64A 'proxi':105B,121B,154C 'r':88B,89B,90B,137C,138C,139C 'redhat':27A,33A,41A,44A,46A,51A,56A,63A,66A,71A 'remot':98B,129C 'request':102B,117B,150C,180C 'request/response':6A 'result':107B 'send':136C 'server':85B,155C,163C 'sign':69A 'sign-on':68A 'single':67A 'smuggl':7A,101B,151C 'spring':39A 'termin':95B,144C 'traffic':162C 'unauthor':110B,174C 'undertow':1A,21A,25A,72A,79B,81B,127C 'undertow-core':20A,24A 'use':148C 'version':159C 'vulner':3A,134C 'web':84B,116B,179C 'wildfli':80B","nicknames":[],"mitigations":[],"who_affected":"Applications that embed Undertow as their HTTP server, especially those placed behind a proxy that parses header terminators differently. Standalone Undertow deployments without an upstream proxy are less exposed, but the sources do not say how much that reduces risk. Teams using a different server, or Undertow only as a test fixture, can skip it.","tier":"B","verified":{},"analyst_revisit_at":null,"fix_status":"available","audience":"developers","plain_action":null,"pkeys":["buildofapachecamelforspringboot","buildofapachecamelhawtio","datagrid","fuse","ioundertowundertowcore","jbossenterpriseapplicationplatform","jbossenterpriseapplicationplatformexpansionpack","processautomation","redhatbuildofapachecamelforspringboot","redhatbuildofapachecamelhawtio","redhatdatagrid","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","of","on","pack","platform","process","redhat","sign","single","spring","undertow"],"labels":["critical","cwe444","java","jboss","maven","package","undertow","vendor","wildfly"],"campaign_type":null,"first_public_at":"2026-03-27T17:16:27+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-3gv6-g396-9v4r","url":"https://github.com/advisories/GHSA-3gv6-g396-9v4r","severity":"high","published_at":"2026-03-27T18:31:27+00:00","modified_at":"2026-11-04T21:12:32+00:00","first_seen_at":"2026-11-04T21:17:12+00:00","fetched_at":"2026-11-04T21:24:04+00:00","note":null},{"source":"nvd","external_id":"CVE-2026-28367","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-28367","severity":null,"published_at":"2026-03-27T17:16:27+00:00","modified_at":"2026-10-30T03:16:41+00:00","first_seen_at":"2026-11-04T21:49:23+00:00","fetched_at":"2026-11-04T21:49:23+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":70716,"url":"https://access.redhat.com/security/cve/CVE-2026-28367","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":70717,"url":"https://bugzilla.redhat.com/show_bug.cgi?id=2443260","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.00719,"url":"https://api.first.org/data/v1/epss?cve=CVE-2026-28367"}],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}