{"id":"CVE-2023-30589","revision":"d4cd992ac7d24b92962d39ab47a9c1dd","records":[{"revision":"d4cd992ac7d24b92962d39ab47a9c1dd","observedAt":"2026-10-23T15:48:27.903+00:00","statement":{"source":"cve-program","id":"CVE-2023-30589","aliases":[],"title":"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).","description":"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","state":0,"publishedAt":"2023-06-30T23:39:59.161+00:00","modifiedAt":"2026-10-08T21:13:51.947+00:00","affected":[{"ecosystem":"Vendor product","name":"Node","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"product\": \"Node\",\n                    \"vendor\": \"NodeJS\",\n                    \"defaultStatus\": \"unaffected\",\n                    \"versions\": [\n                        {\n                            \"versionType\": \"semver\",\n                            \"version\": \"4.0\",\n                            \"status\": \"affected\",\n                            \"lessThan\": \"4.*\"\n                        },\n                        {\n                            \"versionType\": \"semver\",\n                            \"version\": \"5.0\",\n                            \"status\": \"affected\",\n                            \"lessThan\": \"5.*\"\n                        },\n                        {\n                            \"versionType\": \"semver\",\n                            \"version\": \"6.0\",\n                            \"status\": \"affected\",\n                            \"lessThan\": \"6.*\"\n                        },\n                        {\n                            \"versionType\": \"semver\",\n                            \"version\": \"7.0\",\n                            \"status\": \"affected\",\n                            \"lessThan\": \"7.*\"\n                        },\n                        {\n                            \"versionType\": \"semver\",\n                            \"version\": \"8.0\",\n                            \"status\": \"affected\",\n                            \"lessThan\": \"8.*\"\n                        },\n                        {\n                            \"versionType\": \"semver\",\n                            \"version\": \"9.0\",\n                            \"status\": \"affected\",\n                            \"lessThan\": \"9.*\"\n                        },\n                        {\n                            \"versionType\": \"semver\",\n                            \"version\": \"10.0\",\n                            \"status\": \"affected\",\n                            \"lessThan\": \"10.*\"\n                        },\n                        {\n                            \"versionType\": \"semver\",\n                            \"version\": \"11.0\",\n                            \"status\": \"affected\",\n                            \"lessThan\": \"11.*\"\n                        },\n                        {\n                            \"versionType\": \"semver\",\n                            \"version\": \"12.0\",\n                            \"status\": \"affected\",\n                            \"lessThan\": \"12.*\"\n                        },\n                        {\n                            \"versionType\": \"semver\",\n                            \"version\": \"13.0\",\n                            \"status\": \"affected\",\n                            \"lessThan\": \"13.*\"\n                        },\n                        {\n                            \"versionType\": \"semver\",\n                            \"version\": \"14.0\",\n                            \"status\": \"affected\",\n                            \"lessThan\": \"14.*\"\n                        },\n                        {\n                            \"versionType\": \"semver\",\n                            \"version\": \"15.0\",\n                            \"status\": \"affected\",\n                            \"lessThan\": \"15.*\"\n                        },\n                        {\n                            \"versionType\": \"semver\",\n                            \"version\": \"16.0\",\n                            \"status\": \"affected\",\n                            \"lessThan\": \"16.20.1\"\n                        },\n                        {\n                            \"versionType\": \"semver\",\n                            \"version\": \"17.0\",\n                            \"status\": \"affected\",\n                            \"lessThan\": \"17.*\"\n                        },\n                        {\n                            \"versionType\": \"semver\",\n                            \"version\": \"18.0\",\n                            \"status\": \"affected\",\n                            \"lessThan\": \"18.16.1\"\n                        },\n                        {\n                            \"versionType\": \"semver\",\n                            \"version\": \"19.0\",\n                            \"status\": \"affected\",\n                            \"lessThan\": \"19.*\"\n                        },\n                        {\n                            \"versionType\": \"semver\",\n                            \"version\": \"20.0\",\n                            \"status\": \"affected\",\n                            \"lessThan\": \"20.3.1\"\n                        }\n                    ]\n                }"}],"metrics":[],"references":["https://hackerone.com/reports/2001873","https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/VEEQIN5242K5NBE2CZ4DYTNA5B4YTYE5/","https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/UEJWL67XR67JAGEL2ZK22NA3BRKNMZNY/","https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/VKFMKD4MJZIKFQJAAJ4VZ2FHIJ764A76/","https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/HMEELCREWMRT6NS7HWXLA6XFLLMO36HE/","https://security.netapp.com/advisory/ntap-20230803-0009/","https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/VCVG4TQRGTK4LKAZKVEQAUEJM7DUACYE/","https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/IV326O2X4BE3SINX5FJHMAKVHUAA4ZYF/","https://security.netapp.com/advisory/ntap-20240621-0006/"],"sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2023-30589","license":"CVE Program Terms of Use","key":"cve-program:CVE-2023-30589","identifiers":["CVE-2023-30589"]},"retained":false,"historicalAffected":[]}],"coverage":[]}