Skip to content

Inconsistent Interpretation of HTTP Requests ('HTTP Request/Response Smuggling') in puma

Moderate
nateberkopec published GHSA-68xg-gqqm-vgj8 Aug 18, 2023

Package

bundler puma (RubyGems)

Affected versions

<= 6.3.0, <= 5.6.6

Patched versions

6.3.1, 5.6.7

Description

Impact

Prior to version 6.3.1, puma exhibited incorrect behavior when parsing chunked transfer encoding bodies and zero-length Content-Length headers in a way that allowed HTTP request smuggling.

The following vulnerabilities are addressed by this advisory:

  • Incorrect parsing of trailing fields in chunked transfer encoding bodies
  • Parsing of blank/zero-length Content-Length headers

Patches

The vulnerability has been fixed in 6.3.1 and 5.6.7.

Workarounds

No known workarounds.

References

HTTP Request Smuggling

For more information

If you have any questions or comments about this advisory:

Open an issue in Puma
See our security policy

Severity

Moderate

CVE ID

CVE-2023-40175

Weaknesses

Inconsistent Interpretation of HTTP Requests ('HTTP Request/Response Smuggling')

The product acts as an intermediary HTTP agent (such as a proxy or firewall) in the data flow between two entities such as a client and server, but it does not interpret malformed HTTP requests or responses in ways that are consistent with how the messages will be processed by those entities that are at the ultimate destination. Learn more on MITRE.

Credits