← Vulnerability feed

Vulnerability record · CVE-2019-15605 · published 7 February 2020

CVE-2019-15605: Node.js HTTP request smuggling via malformed Transfer-Encoding

Nodejs · Node.Js

Node.js versions 10, 12 and 13 mishandle malformed Transfer-Encoding headers, allowing HTTP request smuggling. This lets an attacker desynchronize front-end and back-end HTTP parsing, so requests can be split or smuggled past intermediaries. It matters because Node.js is widely deployed as an origin or proxy component, and the flaw is remotely reachable without credentials.

9.8 CVSS 3.1 Critical EPSS 57% · top 1.0% CWE-444 · HTTP request smuggling
9.8CVSS 3.1 base score, v2 7.5
57%EPSS exploitation probability, 30 days
NoNot in CISA KEV
13Affected product versions listed by NVD
42References
17 Jun 2026Last modified by NVD

Description

HTTP request smuggling in Node.js 10, 12, and 13 causes malicious payload delivery when transfer-encoding is malformed

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

Automated analysis

Generated by VULONE's analysis model from the NVD record, CISA KEV and EPSS data on 19 September 2026. Confidence: medium.

high priorityCritical CVSS (9.8) and very high EPSS (99th percentile) on a widely deployed runtime, though not in KEV and requiring a proxy chain to exploit.

What it is

Node.js versions 10, 12 and 13 mishandle malformed Transfer-Encoding headers, allowing HTTP request smuggling. This lets an attacker desynchronize front-end and back-end HTTP parsing, so requests can be split or smuggled past intermediaries. It matters because Node.js is widely deployed as an origin or proxy component, and the flaw is remotely reachable without credentials.

Impact

An attacker can smuggle requests through an intermediary to reach the back-end server, potentially bypassing access controls, poisoning caches, or capturing other users' requests. The CVSS vector rates confidentiality, integrity and availability impact as high.

Attack surface

Reachable over the network via HTTP requests carrying a malformed Transfer-Encoding header; the CVSS vector shows no privileges required and no user interaction. Exploitation depends on a front-end/back-end HTTP chain where parsing differs, which the record does not enumerate.

Exploitation

Not listed in CISA KEV and no ransomware associations are recorded, but EPSS is 0.57132 (99th percentile), indicating high predicted likelihood of exploitation activity. References are vendor advisories, distro errata and a HackerOne report, with no public exploit tag.

What to do

  • Upgrade Node.js to the fixed releases: 10.19.0, 12.15.0 or 13.8.0, or later.
  • Apply the linked distro and vendor errata (Red Hat, Debian, Fedora, openSUSE, Oracle, Gentoo, NetApp) for packaged Node.js.
  • Normalize and reject ambiguous or malformed Transfer-Encoding and Content-Length headers at the edge proxy.
  • Ensure front-end and back-end HTTP parsers agree on request framing; avoid mixing Transfer-Encoding and Content-Length.
  • Inventory Node.js instances and embedded runtimes (including GraalVM) to confirm patched versions.

Detection

  • Inspect proxy and server logs for requests containing both Transfer-Encoding and Content-Length, or malformed Transfer-Encoding values.
  • Alert on HTTP 400/501 responses clustered around header-parsing errors from a single source.
  • Compare front-end and back-end request logs for framing mismatches or requests seen by one tier but not the other.
  • Monitor for cache poisoning or unexpected response splitting patterns following suspicious header traffic.

This assessment is produced automatically and is not human-reviewed. Verify against the vendor advisory before acting on it.

Affected products

13 vulnerable configurations from NVD's CPE data, grouped by vendor and product.

References

LinkTags
http://lists.opensuse.org/opensuse-security-announce/2020-03/msg00008.html Mailing ListThird Party Advisory
https://access.redhat.com/errata/RHSA-2020:0573 Third Party Advisory
https://access.redhat.com/errata/RHSA-2020:0579 Third Party Advisory
https://access.redhat.com/errata/RHSA-2020:0597 Third Party Advisory
https://access.redhat.com/errata/RHSA-2020:0598 Third Party Advisory
https://access.redhat.com/errata/RHSA-2020:0602 Third Party Advisory
https://access.redhat.com/errata/RHSA-2020:0703 Third Party Advisory
https://access.redhat.com/errata/RHSA-2020:0707 Third Party Advisory
https://access.redhat.com/errata/RHSA-2020:0708 Third Party Advisory
https://hackerone.com/reports/735748 Permissions RequiredThird Party Advisory
https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/CT3WTR4P5VAJ3GJGKPYEDUP
https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/ZLB676PDU4RJQLWQUA277YN
https://nodejs.org/en/blog/release/v10.19.0/ Release NotesVendor Advisory
https://nodejs.org/en/blog/release/v12.15.0/ Release NotesVendor Advisory
https://nodejs.org/en/blog/release/v13.8.0/ Vendor Advisory
https://nodejs.org/en/blog/vulnerability/february-2020-security-releases/ Vendor Advisory
https://security.gentoo.org/glsa/202003-48 Third Party Advisory
https://security.netapp.com/advisory/ntap-20200221-0004/ Third Party Advisory
https://www.debian.org/security/2020/dsa-4669 Third Party Advisory
https://www.oracle.com//security-alerts/cpujul2021.html PatchThird Party Advisory
https://www.oracle.com/security-alerts/cpuapr2020.html PatchThird Party Advisory
http://lists.opensuse.org/opensuse-security-announce/2020-03/msg00008.html Mailing ListThird Party Advisory
https://access.redhat.com/errata/RHSA-2020:0573 Third Party Advisory
https://access.redhat.com/errata/RHSA-2020:0579 Third Party Advisory
https://access.redhat.com/errata/RHSA-2020:0597 Third Party Advisory
https://access.redhat.com/errata/RHSA-2020:0598 Third Party Advisory
https://access.redhat.com/errata/RHSA-2020:0602 Third Party Advisory
https://access.redhat.com/errata/RHSA-2020:0703 Third Party Advisory
https://access.redhat.com/errata/RHSA-2020:0707 Third Party Advisory
https://access.redhat.com/errata/RHSA-2020:0708 Third Party Advisory
https://hackerone.com/reports/735748 Permissions RequiredThird Party Advisory
https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/CT3WTR4P5VAJ3GJGKPYEDUP
https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/ZLB676PDU4RJQLWQUA277YN
https://nodejs.org/en/blog/release/v10.19.0/ Release NotesVendor Advisory
https://nodejs.org/en/blog/release/v12.15.0/ Release NotesVendor Advisory
https://nodejs.org/en/blog/release/v13.8.0/ Vendor Advisory
https://nodejs.org/en/blog/vulnerability/february-2020-security-releases/ Vendor Advisory
https://security.gentoo.org/glsa/202003-48 Third Party Advisory
https://security.netapp.com/advisory/ntap-20200221-0004/ Third Party Advisory
https://www.debian.org/security/2020/dsa-4669 Third Party Advisory

Track CVE-2019-15605 inside VULONE

Watch it alongside the ransomware crews, C2 infrastructure and forum chatter that reference it, query it through the API and pull it into your SIEM over TAXII.

Start free Open in platform

Related vulnerabilities

Same products first, then exploited flaws of the same weakness class.

10.0CVE-2025-32433Erlang/OTP SSH server missing authentication allows remote code executionErlang/OTP SSH servers before OTP-27.3.3, OTP-26.2.5.11 and OTP-25.3.2.20 mishandle SSH protocol messages, letting an unauthenticated attacker execut…KEVEPSS 99%analysed10.0CVE-2025-24201Apple WebKit out-of-bounds write allows sandbox escapeCVE-2025-24201 is an out-of-bounds write in Apple's WebKit that was addressed with improved checks. Maliciously crafted web content may break out of …KEVEPSS 3.8%analysed10.0CVE-2021-44228Apache Log4j2 JNDI lookup remote code executionApache Log4j2 versions 2.0-beta9 through 2.15.0 (excluding 2.12.2, 2.12.3, and 2.3.1) do not protect against attacker-controlled LDAP and other JNDI …KEVEPSS 100%analysed9.8CVE-2026-24061GNU Inetutils telnetd argument injection allows remote auth bypasstelnetd in GNU Inetutils through 2.7 fails to sanitize the USER environment variable, so a value such as "-f root" is passed as an argument to login …KEVEPSS 99%analysed9.8CVE-2025-39682Linux kernel TLS zero-length record handling flaw on rx_listThe Linux kernel TLS receive path mishandles zero-length records that arrive from the rx_list, breaking the assumption that a record type change cann…KEVEPSS 2.9%analysed9.8CVE-2025-24813Apache Tomcat Default Servlet path equivalence enables RCE and file disclosureApache Tomcat mishandles path equivalence for names containing an internal dot, letting a remote unauthenticated attacker write files through the Def…KEVEPSS 100%analysed9.8CVE-2024-9680Mozilla Firefox and Thunderbird use-after-free in Animation timelinesA use-after-free flaw in Animation timelines allows an attacker to execute code in the content process of Firefox and Thunderbird. Mozilla reports ex…KEVEPSS 23%analysed9.8CVE-2024-4577PHP-CGI on Windows argument injection leads to remote code executionPHP-CGI on Windows can misinterpret characters in the command line passed to Win32 API functions when certain code pages are configured, due to Windo…KEVEPSS 100%analysed

Source: NIST National Vulnerability Database (record CVE-2019-15605), CISA KEV, FIRST EPSS (scores of 2026-09-27). This page is refreshed as NVD updates the record.