Vulnerability · Published Sep 21, 2021 · Assigned by GitHub_M

CVE-2021-41084Response Splitting from unsanitized headers in http4s

High 8.7

In plain English

A high-severity server-side request forgery in http4s from http4s. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 1.2% (higher than 69% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.

Severity (CVSS 3.1)8.7High
Exploit odds (30 days)1.2%top 30.8% of all CVEs
Exploited in the wildNo reportsnot in CISA KEV
Attack toolingNoneno public tooling known

Official description

http4s is an open source scala interface for HTTP. In affected versions http4s is vulnerable to response-splitting or request-splitting attacks when untrusted user input is used to create any of the following fields: Header names (`Header.name`å), Header values (`Header.value`), Status reason phrases (`Status.reason`), URI paths (`Uri.Path`), URI authority registered names (`URI.RegName`) (through 0.21). This issue has been resolved in versions 0.21.30, 0.22.5, 0.23.4, and 1.0.0-M27 perform the following. As a matter of practice http4s services and client applications should sanitize any user input in the aforementioned fields before returning a request or response to the backend. The carriage return, newline, and null characters are the most threatening.

Affected packages & fixed versions

EcosystemPackageFixed inAdvisory
Mavenorg.http4s:http4s-client_2.120.21.29GHSA-5vcm-3xc3-w7x3
Mavenorg.http4s:http4s-client_2.120.22.5GHSA-5vcm-3xc3-w7x3
Mavenorg.http4s:http4s-client_2.120.23.4GHSA-5vcm-3xc3-w7x3
Mavenorg.http4s:http4s-client_2.130.21.29GHSA-5vcm-3xc3-w7x3
Mavenorg.http4s:http4s-client_2.130.22.5GHSA-5vcm-3xc3-w7x3
Mavenorg.http4s:http4s-client_2.130.23.4GHSA-5vcm-3xc3-w7x3
Mavenorg.http4s:http4s-client_30.21.29GHSA-5vcm-3xc3-w7x3
Mavenorg.http4s:http4s-client_30.22.5GHSA-5vcm-3xc3-w7x3
Mavenorg.http4s:http4s-client_30.23.4GHSA-5vcm-3xc3-w7x3
Mavenorg.http4s:http4s-server_2.10no fix listedGHSA-5vcm-3xc3-w7x3
Mavenorg.http4s:http4s-server_2.11no fix listedGHSA-5vcm-3xc3-w7x3
Mavenorg.http4s:http4s-server_2.120.21.29GHSA-5vcm-3xc3-w7x3
Mavenorg.http4s:http4s-server_2.120.22.5GHSA-5vcm-3xc3-w7x3
Mavenorg.http4s:http4s-server_2.120.23.4GHSA-5vcm-3xc3-w7x3
Mavenorg.http4s:http4s-server_2.130.21.29GHSA-5vcm-3xc3-w7x3
Mavenorg.http4s:http4s-server_2.130.22.5GHSA-5vcm-3xc3-w7x3
Mavenorg.http4s:http4s-server_2.130.23.4GHSA-5vcm-3xc3-w7x3
Mavenorg.http4s:http4s-server_2.13.0-M5no fix listedGHSA-5vcm-3xc3-w7x3
Mavenorg.http4s:http4s-server_30.22.5GHSA-5vcm-3xc3-w7x3
Mavenorg.http4s:http4s-server_30.23.4GHSA-5vcm-3xc3-w7x3

Affected products (as reported)

VendorProductVersions
http4s http4s <= 0.21.28>= 0.22.0, < 0.22.5>= 0.23.0, < 0.23.4>= 1.0.0-M1, < 1.0.0-M27

Weakness: CWE-918 · Vector: CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:N

References