REDHAT-BUG-2272325: Red Hat Undertow vulnerability

Published Mar 30, 2024
·
Updated

Description: Product Security received a report that Undertow might incorrectly re-use an HTTP request header value from a previous stream for a request associated with a subsequent stream on the same HTTP/2 connection. The issue is linked to the readHpackString method and its interaction with the stringBuilder field. While such behavior typically results in an error followed by the termination of the HTTP/2 connection, it presents a potential vector for information leakage between requests.

The original reporter referenced a similar issue in Apache Tomcat (CVE-2020-17527). In the patch for that vulnerability (https://github.com/apache/tomcat/commit/8d2fe6894d6e258a6d615d7f786acca80e6020cb) a StringBuilder field was improperly reused across multiple requests, leading to this issue. In the io.undertow.protocols.http2.HpackDecoder class of Undertow, within the readHpackString method, there is a code pattern identical to the one mentioned:

for (int i = 0; i < length; ++i) { stringBuilder.append((char) buffer.get()); } String ret = stringBuilder.toString(); stringBuilder.setLength(0); if (ret.isEmpty()) { //return the interned empty string, rather than allocating a new one each time return ""; }

Steps to reproduce: No reproducers or PoC were provided, this issue was identified through static testing.

Affected versions: 2.2.x, 2.3.x, and 3.x

Affected Software

1 affected component
Red Hat Undertow>=2.2.0<2.3.0, >=2.3.0<3.0.0, >=3.0.0<4.0.0

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Operational

    Inventory deployments to determine whether you are running Undertow in the affected series: 2.2.x, 2.3.x, or 3.x. Identify all services and containers that include Undertow in those version ranges.

  2. Operational

    Inspect and modify the implementation of io.undertow.protocols.http2.HpackDecoder.readHpackString to eliminate reuse of a shared StringBuilder (the stringBuilder field). Ensure the StringBuilder is not reused across requests/streams (for example, make it a method-local StringBuilder or otherwise prevent cross-stream reuse), rebuild Undertow with the change, and redeploy the fixed binaries.

  3. Operational

    If you detect any occurrences of this bug, or otherwise suspect information leakage between requests, rotate any credentials or secrets that may have been exposed and remediate affected sessions before placing the instance back into production.

Event History

Mar 30, 2024
Data Sourced
via Red Hat·09:52 PM
DescriptionSeverityAffected Software
Free Weekly Intel

Don't miss critical vulnerabilities

Join thousands of security professionals who receive our weekly digest of trending CVEs, zero-days, and exploited vulnerabilities.

No spam. Unsubscribe anytime.

Frequently Asked Questions

1

What is the severity of REDHAT-BUG-2272325?

The vulnerability REDHAT-BUG-2272325 is classified as a high severity issue.

2

How do I fix REDHAT-BUG-2272325?

To fix REDHAT-BUG-2272325, update Undertow to a version above 3.0.0 or apply the appropriate security patches provided by Red Hat.

3

What specific component of Undertow is affected by REDHAT-BUG-2272325?

The vulnerability REDHAT-BUG-2272325 affects the readHpackString method in Undertow, which may incorrectly reuse HTTP request header values.

4

What versions of Undertow are impacted by REDHAT-BUG-2272325?

Undertow versions between 2.2.0 and 3.0.0 are affected by vulnerability REDHAT-BUG-2272325.

5

Can REDHAT-BUG-2272325 lead to information disclosure?

Yes, REDHAT-BUG-2272325 could potentially lead to unintended information disclosure through the reuse of HTTP request header values.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203