VDB
KO
MEDIUM 6.5

GHSA-33vf-4xgg-9r58

HTTP Response Splitting (Early Hints) in Puma

Details

### Impact If an application using Puma allows untrusted input in an early-hints header, an attacker can use a carriage return character to end the header and inject malicious content, such as additional headers or an entirely new response body. This vulnerability is known as [HTTP Response Splitting](https://owasp.org/www-community/attacks/HTTP_Response_Splitting).

While not an attack in itself, response splitting is a vector for several other attacks, such as cross-site scripting (XSS).

This is related to [CVE-2020-5247](https://github.com/puma/puma/security/advisories/GHSA-84j7-475p-hp8v), which fixed this vulnerability but only for regular responses.

### Patches This has been fixed in 4.3.3 and 3.12.4.

### Workarounds Users can not allow untrusted/user input in the Early Hints response header.

### For more information If you have any questions or comments about this advisory: * Open an issue in [puma](https://github.com/puma/puma) * Email us a project maintainer. [Email addresses are listed in our Code of Conduct](https://github.com/puma/puma/blob/master/CODE_OF_CONDUCT.md#enforcement).

Are you affected?

Enter the version of the package you're using.

Affected packages

RubyGems / puma
Introduced in: 0 Fixed in: 3.12.4
Fix bundle update puma
RubyGems / puma
Introduced in: 4.0.0 Fixed in: 4.3.3
Fix bundle update puma

References