The vulnerability, CVE-2026-28368, is a form of HTTP request smuggling in Undertow. The root cause is the improper validation of characters within HTTP header names. The analysis of the commits between the last known vulnerable version (2.3.23.Final) and the next release (2.3.24.Final) revealed a patch that directly addresses this issue. The commit caf8e11340394ae39ec4394862fc3dd9f13644b2 modifies the io.undertow.server.Connectors class, specifically the isValidTokenCharacter and isValidSchemeCharacter methods.
The core of the vulnerability is in isValidTokenCharacter. Before the patch, this function directly used a byte from the request as an index into an array of allowed characters (ALLOWED_TOKEN_CHARACTERS) without any validation. This allowed an attacker to use byte values outside the expected range (e.g., negative values), which could cause the application to behave differently than a front-end proxy server that would correctly reject such a header. This discrepancy in parsing is the basis for a request smuggling attack.
The patch introduces a simple but effective bounds check to ensure that the byte value is a valid index for the array before access. This enforces stricter adherence to the HTTP specification for what constitutes a valid token character, closing the parsing loophole. A similar fix was applied to isValidSchemeCharacter, which had the same logical flaw.