{"id":"CVE-2023-30589","details":"The llhttp parser in the http module in Node v20.2.0 does not strictly use the CRLF sequence to delimit HTTP requests. This can lead to HTTP Request Smuggling (HRS).\r\n\r\nThe CR character (without LF) is sufficient to delimit HTTP header fields in the llhttp parser. According to RFC7230 section 3, only the CRLF sequence should delimit each header-field. This impacts all Node.js active versions: v16, v18, and, v20","aliases":["BIT-node-2023-30589","BIT-node-min-2023-30589","GHSA-cggh-pq45-6h9x"],"modified":"2026-04-02T08:56:15.901013Z","published":"2023-07-01T00:15:10.293Z","related":["ALSA-2023:4330","ALSA-2023:4331","ALSA-2023:4536","ALSA-2023:4537","CGA-qmjj-5xgh-8m5x","MGASA-2023-0226","SUSE-SU-2023:2655-1","SUSE-SU-2023:2662-1","SUSE-SU-2023:2663-1","SUSE-SU-2023:2669-1","SUSE-SU-2023:2861-1","SUSE-SU-2023:3306-1","SUSE-SU-2023:3408-1","SUSE-SU-2023:3455-1","openSUSE-SU-2024:13021-1","openSUSE-SU-2024:13564-1"],"references":[{"type":"WEB","url":"https://lists.debian.org/debian-lts-announce/2024/09/msg00029.html"},{"type":"ADVISORY","url":"https://security.netapp.com/advisory/ntap-20230803-0009/"},{"type":"ADVISORY","url":"https://security.netapp.com/advisory/ntap-20240621-0006/"},{"type":"REPORT","url":"https://hackerone.com/reports/2001873"},{"type":"FIX","url":"https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/IV326O2X4BE3SINX5FJHMAKVHUAA4ZYF/"},{"type":"FIX","url":"https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/VCVG4TQRGTK4LKAZKVEQAUEJM7DUACYE/"},{"type":"ARTICLE","url":"https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/UEJWL67XR67JAGEL2ZK22NA3BRKNMZNY/"},{"type":"ARTICLE","url":"https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/VEEQIN5242K5NBE2CZ4DYTNA5B4YTYE5/"},{"type":"ARTICLE","url":"https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/HMEELCREWMRT6NS7HWXLA6XFLLMO36HE/"},{"type":"ARTICLE","url":"https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/VKFMKD4MJZIKFQJAAJ4VZ2FHIJ764A76/"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/nodejs/node","events":[{"introduced":"7162e686b18d22b4385fa5c04274fb04dbd810c7"},{"fixed":"b53c51995380b1f8d642297d848cab6010d2909c"},{"introduced":"49a77a5a996a49e8cb728eed42e55a7c1a9eef6e"},{"fixed":"8658efe376838821be7f9b4ff25c8bc2e229bb92"},{"introduced":"e7618fb5a5fc25d76b6474e2a6607f04fd6f10e0"},{"fixed":"9869bdc93d7bd8b439c4a2598607ee779483ee53"}],"database_specific":{"versions":[{"introduced":"16.0.0"},{"fixed":"16.20.1"},{"introduced":"18.0.0"},{"fixed":"18.16.1"},{"introduced":"20.0.0"},{"fixed":"20.3.1"}]}}],"versions":["v16.0.0","v16.1.0","v16.10.0","v16.11.0","v16.11.1","v16.12.0","v16.13.0","v16.13.1","v16.13.2","v16.14.0","v16.14.1","v16.14.2","v16.15.0","v16.15.1","v16.16.0","v16.17.0","v16.17.1","v16.18.0","v16.18.1","v16.19.0","v16.19.1","v16.2.0","v16.20.0","v16.3.0","v16.4.0","v16.4.1","v16.4.2","v16.5.0","v16.6.0","v16.6.1","v16.6.2","v16.7.0","v16.8.0","v16.9.0","v16.9.1","v18.0.0","v18.1.0","v18.10.0","v18.11.0","v18.12.0","v18.12.1","v18.13.0","v18.14.0","v18.14.1","v18.14.2","v18.15.0","v18.16.0","v18.2.0","v18.3.0","v18.4.0","v18.5.0","v18.6.0","v18.7.0","v18.8.0","v18.9.0","v18.9.1","v20.0.0","v20.1.0","v20.2.0","v20.3.0"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2023-30589.json","unresolved_ranges":[{"events":[{"introduced":"0"},{"last_affected":"37"}]},{"events":[{"introduced":"0"},{"last_affected":"38"}]}]}}],"schema_version":"1.7.5","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N"}]}