{"id":"CVE-2026-91920","kind":"vulnerability","aliases":["CVE-2026-91920"],"related":[],"title":"Undertow: crafted chunk size enables HTTP request smuggling on the server","description":"A flaw was found in the ChunkReader component of the Undertow web server, which is used to handle chunked transfer encoding in HTTP requests. The issue occurs because a security check for the chunk size is performed before the value is shifted, allowing a specifically crafted 15-digit chunk size to bypass the limit and overflow into internal state flags. This can cause the server to terminate a request body prematurely and interpret the remaining data as a separate, smuggled request.","summary":"A crafted 15-digit chunk size in HTTP chunked transfer encoding bypasses the size check in Undertow's ChunkReader, overflowing into internal state flags. The server can end a request body early and treat the leftover bytes as a separate smuggled request.","severity":"medium","cvss":6.5,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["http-smuggling","java","jboss-eap","runtime","undertow","wildfly"],"not_affected_if":["no-untrusted-traffic","other-web-server"],"how_to_check":"- Check which Undertow version the application uses, for example with `mvn dependency:tree` or by looking for `undertow-core` in the build file.\n- Confirm whether the server is exposed to untrusted HTTP traffic, directly or through a proxy that forwards chunked requests.","fix":null,"status":"open","published_at":"2026-10-30T02:17:10+00:00","first_seen_at":"2026-10-30T02:28:06+00:00","triaged_at":"2026-10-30T02:30:08+00:00","updated_at":"2026-10-30T02:30:08+00:00","category":"runtime","confidence":0.6,"triage":{"at":"2026-10-30T02:30:08Z","model":"claude-haiku-5-5","output":{"fix":"unknown","reach":"internet","title":"Undertow: crafted chunk size enables HTTP request smuggling on the server","impact":"medium","summary":"A crafted 15-digit chunk size in HTTP chunked transfer encoding bypasses the size check in Undertow's ChunkReader, overflowing into internal state flags. The server can end a request body early and treat the leftover bytes as a separate smuggled request.","audience":"businesses","category":"runtime","nicknames":[],"who_cares":["undertow","java","wildfly","jboss-eap","http-smuggling"],"confidence":0.6,"fix_status":"unknown","needs_auth":"no","worst_case":"request smuggling lets an attacker alter other users' HTTP requests","analyst_note":"Sources do not name affected or fixed Undertow versions; check the NVD entry and Undertow's release notes for the fixed version.","how_to_check":"- Check which Undertow version the application uses, for example with `mvn dependency:tree` or by looking for `undertow-core` in the build file.\n- Confirm whether the server is exposed to untrusted HTTP traffic, directly or through a proxy that forwards chunked requests.","plain_action":"","needs_analyst":true,"not_affected_if":["no-untrusted-traffic","other-web-server"],"who_is_affected":"Teams running Java applications on the Undertow web server, typically through WildFly or JBoss EAP, that accept HTTP requests from untrusted clients. The risk is highest where a front-end proxy and Undertow both parse requests, since smuggling depends on disagreement between them. Deployments behind no untrusted traffic path, or on a different server, can skip it.","user_interaction":"no","needs_special_setup":"unknown","severity_if_unknown":"medium"},"cost_usd":0.000724,"input_tokens":4173,"output_tokens":614,"severity_before":"medium"},"analyst_status":null,"analyst_note":null,"search":"'-2026':13A,16A '-91920':14A,17A '15':30B,116C 'allow':112C 'bodi':58B,139C 'bypass':39B,121C 'byte':64B 'caus':132C 'check':42B,100C 'chunk':3A,32B,36B,88C,103C,118C 'chunkread':46B,76C 'compon':77C 'craft':2A,29B,115C 'cve':12A,15A 'data':145C 'digit':31B,117C 'eap':24B 'earli':59B 'enabl':5A 'encod':38B,90C 'end':55B 'flag':51B,129C 'flaw':71C 'found':73C 'handl':87C 'http':6A,19B,35B,92C 'http-smuggl':18B 'intern':49B,127C 'interpret':142C 'issu':95C 'java':21B 'jboss':23B 'jboss-eap':22B 'leftov':63B 'limit':123C 'occur':96C 'overflow':47B,125C 'perform':106C 'prematur':140C 'remain':144C 'request':7A,57B,69B,93C,138C,150C 'runtim':25B 'secur':99C 'separ':67B,148C 'server':11A,53B,82C,134C 'shift':111C 'size':4A,33B,41B,104C,119C 'smuggl':8A,20B,68B,149C 'specif':114C 'state':50B,128C 'termin':136C 'transfer':37B,89C 'treat':61B 'undertow':1A,26B,44B,80C 'use':85C 'valu':109C 'web':81C 'wildfli':27B","nicknames":[],"mitigations":[],"who_affected":"Teams running Java applications on the Undertow web server, typically through WildFly or JBoss EAP, that accept HTTP requests from untrusted clients. The risk is highest where a front-end proxy and Undertow both parse requests, since smuggling depends on disagreement between them. Deployments behind no untrusted traffic path, or on a different server, can skip it.","tier":"C","verified":{},"analyst_revisit_at":null,"fix_status":"none","audience":"businesses","plain_action":null,"first_public_at":"2026-10-30T02:17:10+00:00","kev":null,"cvss_vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:L","cvss_by":"secalert@redhat.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-91920","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-91920","severity":null,"published_at":"2026-10-30T02:17:10+00:00","modified_at":"2026-10-30T02:17:10+00:00","first_seen_at":"2026-10-30T02:28:06+00:00","fetched_at":"2026-10-30T02:28:06+00:00","note":null}],"documents":[],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}