Skip to content
OpenAdvisories
Medium · 6.5 CVE-2020-5249 EUVD-2020-0325GHSA-33vf-4xgg-9r58

HTTP Response Splitting (Early Hints) in Puma

Published Mar 2, 2020 · Updated Aug 4, 2024 · Assigned by GitHub_M

Description

In Puma (RubyGem) before 4.3.3 and 3.12.4, 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. 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, which fixed this vulnerability but only for regular responses. This has been fixed in 4.3.3 and 3.12.4.

Affected products

VendorProductAffectedFixed
puma Puma < 3.12.4, >= 4.0.0, < 4.3.3 —

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 14 puma 3.12.4-1 —
Debian 13 puma 3.12.4-1 —
Debian 12 puma 3.12.4-1 —
ReleasePackageFixed inAdvisory
SLES 15 SP2 rmt-server 2.6.5-3.3.1 SUSE-SU-2020:3036-1
SLES 15 SP1 rmt-server 2.6.5-3.18.1 SUSE-SU-2020:3160-1
SLES 15 rmt-server 2.6.5-3.34.1 SUSE-SU-2020:3147-1
Show 2 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
SLES for SAP 15 rmt-server 2.6.5-3.34.1 SUSE-SU-2020:3147-1
SLE HPC 15 rmt-server 2.6.5-3.34.1 SUSE-SU-2020:3147-1
ReleasePackageFixed inAdvisory
openSUSE Leap 15.2 rmt-server 2.6.5-lp152.2.3.1 openSUSE-SU-2020:1993-1
openSUSE Leap 15.1 rmt-server 2.6.5-lp151.2.18.2 openSUSE-SU-2020:2000-1

Affected packages

EcosystemPackageAffectedFixedRecord
RubyGems puma < 3.12.4 3.12.4 GHSA-33vf-4xgg-9r58
RubyGems puma >= 4.0.0, < 4.3.3 4.3.3 GHSA-33vf-4xgg-9r58

Advisories 5

References