Open actionable advisories and recorded vendor fixes. This public package view has no inventory attached and cannot establish whether your deployment is affected. A vendor fix never resolves your finding; verify your installed version and the source guidance.
Open advisories
5 actionable advisories, newest first. Withdrawn advisories and news are excluded. Coverage is partial.
fixRequestBody() is the library's documented helper for re-emitting a request body that was already consumed by a body parser. When the outgoing Content-Type is multipart/form-data, it rebuilds the body with handlerFormDataBodyData(), which interpolates each req.body key and value directly into the multipart wire format without neutralizing CR/LF: A \r\n inside a value (or key) lets an attacker close the current part and inject an entirely new form part. Because the proxy's own body parser saw a single opaque value, any gateway-side policy or validation performed on req.body is evaluated against a different set of fields than the upstream backend ultimately parses a request/parameter desynchronization across the trust boundary. By contrast, the sibling output branches are safe: application/json uses JSON.stringify (escapes control chars) and application/x-www-form-urlencoded uses querystring.stringify (percent-encodes). Only the multipart branch lacks escaping. Preconditions…
Recommended action: Upgrade to 4.1.1 or 3.0.7 by release line, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.
http-proxy-middleware documents router proxy-table entries as host, path, or host+path selectors, but the host+path implementation uses unanchored substring matching on attacker-controlled request metadata. As a result, a crafted Host header that is only a superstring match for a configured host+path key can still route a request to an unintended backend. Details Tested code state: - validated on tag v4.0.0-beta.5 - corresponding commit: 339f09ede860197807d4fd99ed9020fa5d0bd358 Relevant code locations: - src/router.ts - src/http-proxy-middleware.ts Affected public API: - createProxyMiddleware({ router: { 'host/path': 'http://target' } }) Code explanation: When a proxy-table router key contains /, getTargetFromProxyTable() concatenates attacker-controlled req.headers.host and req.url into a single hostAndPath string, then accepts the route if: That is a substring test, not an exact host match plus intended path match. In the validated PoC, the configured router key is: but the…
Recommended action: Upgrade to 4.1.0, 3.0.6 or 2.0.10 by release line, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.
In http-proxy-middleware before 2.0.9 and 3.x before 3.0.5, fixRequestBody proceeds even if bodyParser has failed.
Recommended action: Upgrade to 3.0.5 or 2.0.9 by release line, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.
In http-proxy-middleware before 2.0.8 and 3.x before 3.0.4, writeBody can be called twice because "else if" is not used.
Recommended action: Upgrade to 3.0.4 or 2.0.8 by release line, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.
Versions of the package http-proxy-middleware before 2.0.7, from 3.0.0 and before 3.0.3 are vulnerable to Denial of Service (DoS) due to an UnhandledPromiseRejection error thrown by micromatch. An attacker could kill the Node.js process and crash the server by making requests to certain paths.
Recommended action: Upgrade to 3.0.3 or 2.0.7 by release line, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.