Skip to content

undici before v5.8.0 vulnerable to CRLF injection in request headers

Moderate severity GitHub Reviewed Published Jul 18, 2022 in nodejs/undici • Updated Jan 27, 2023

Package

npm undici (npm)

Affected versions

< 5.8.0

Patched versions

5.8.0

Description

Impact

It is possible to inject CRLF sequences into request headers in Undici.

const undici = require('undici')

const response = undici.request("http://127.0.0.1:1000", {
  headers: {'a': "\r\nb"}
})

The same applies to path and method

Patches

Update to v5.8.0

Workarounds

Sanitize all HTTP headers from untrusted sources to eliminate \r\n.

References

https://hackerone.com/reports/409943
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-12116

For more information

If you have any questions or comments about this advisory:

References

@mcollina mcollina published to nodejs/undici Jul 18, 2022
Published by the National Vulnerability Database Jul 19, 2022
Published to the GitHub Advisory Database Jul 21, 2022
Reviewed Jul 21, 2022
Last updated Jan 27, 2023

Severity

Moderate
5.3
/ 10

CVSS base metrics

Attack vector
Network
Attack complexity
Low
Privileges required
None
User interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
Low
Availability
None
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N

Weaknesses

CVE ID

CVE-2022-31150

GHSA ID

GHSA-3cvr-822r-rqcc

Source code

Credits

Loading Checking history
See something to contribute? Suggest improvements for this vulnerability.