CVE-2017-16014: http-proxy denial of service via insufficient error handling

CVE-2017-16014 · Severity: low · CVSS 3.1 · Published 2018-11-09

http-proxy is a popular Node.js library used to forward HTTP requests between servers. A denial-of-service vulnerability allows an attacker to crash the proxy server by triggering an unhandled error condition, causing service disruption and potential downtime for applications relying on the proxy.

Quick answers

Is CVE-2017-16014 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2017-16014 being exploited in the wild.
How severe is CVE-2017-16014?
Low severity, with a CVSS score of 3.1, published 9 November 2018.
Which products and versions are affected?
Http-Proxy SEMVER:introduced=0,fixed=0.7.0.
Is there a fix for CVE-2017-16014?
Yes. Http-Proxy: upgrade to 0.7.0 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2017-16014 attacked?
It is attacked over the network.
Am I affected by CVE-2017-16014?
Check whether you run Http-Proxy at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

How to fix

  • Http-Proxy: upgrade to 0.7.0 or later

Technical details

The vulnerability exists in http-proxy's error handling logic, classified as CWE-703 (Improper Check or Handling of Exceptional Conditions). When certain error conditions are triggered in middleware execution, the library fails to handle them gracefully and instead throws an uncaught exception, causing the server process to crash. An attacker can remotely craft requests that trigger these error conditions without authentication. The fix involves improving error propagation and providing event-based error handling to allow applications to respond to errors rather than crash. The vulnerability was patched in version 0.7.0 and later.

Affected products

  • http-party http-proxy before 0.7.0

Identifiers

  • CVE-2017-16014
  • GHSA-9xw9-pvgv-6p76

Timeline

  • 2018-11-09: disclosed: Vulnerability published on GitHub Advisory Database
  • 2011-09-01: patched: Fix merged in GitHub pull request #101; version 0.7.0 and later contain the fix
  • 2017: other: CVE-2017-16014 assigned

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.