Skip to content
Fencer Vulns
high 7.5

CVE-2017-16118 json

Regular Expression Denial of Service in forwarded

published 2018-06-07 8 y ago modified 2026-06-17 4 mo ago also GHSA-mpcf-4gmh-23w8 , EUVD-2018-0298

cvss
7.5
version 3.0, NVD
cisa kev
Not listed
not in CISA's catalog
epss
1.9%
EPSS 1.9% chance of exploitation in 30 days, percentile 79%
public exploits
0
none known

Summary

The forwarded module is used by the Express.js framework to handle the X-Forwarded-For header. It is vulnerable to a regular expression denial of service when it's passed specially crafted input to parse. This causes the event loop to be blocked causing a denial of service condition.

Patch / fix

  • npm forwarded 0.1.2
  • forwarded_project forwarded 0.1.2

Vendor advisories

What the vendors themselves say about their products: affected, fixed or not affected, and what to do.

red hat product security vex CVE-2017-16118 updated cvss 7.5

nodejs-forwarded: regular expression denial of service when parsing crafted user input

  • Red Hat Mobile Application Platform 4 nodjs-forwarded Red Hat OpenShift Enterprise 3 nodejs-forwarded
    not affected: vulnerable code not present

Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf

Exploit prediction

1.85% chance of exploitation in the next 30 days, higher than 79% of all scored CVEs (FIRST EPSS, 2026-11-08).

CVSS scores

assigned by version score vector
NVD 3.0 7.5 CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
NVD 2.0 5.0 AV:N/AC:L/Au:N/C:N/I:N/A:P
GitHub 3.0 7.5 CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

Affected packages

ecosystem package affected fixed in
npm forwarded
<0.1.2
0.1.2

Affected products

  • HackerOne forwarded node module

Classification

Weakness
  • CWE-400 Uncontrolled Resource Consumption

References

Sources

Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.