Skip to content
Fencer Vulns
high 7.5

CVE-2017-16023 json

Regular Expression Denial of Service in decamelize

published 2018-06-04 8 y ago modified 2026-06-17 4 mo ago also GHSA-q5c4-39f5-m68j , EUVD-2018-0310

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

Summary

Decamelize is used to convert a dash/dot/underscore/space separated string to camelCase. Decamelize 1.1.0 through 1.1.1 uses regular expressions to evaluate a string and takes unescaped separator values, which can be used to create a denial of service attack.

Patch / fix

  • npm decamelize 1.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-16023 updated cvss 7.5

nodejs-decamelize: Regular expression Denial-of-Service

  • Red Hat Mobile Application Platform 4 fh-mbaas Red Hat OpenShift Enterprise 3 nodejs-decamelize Red Hat Software Collections rh-nodejs8-npm, rh-nodejs8-nodejs
    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.43% chance of exploitation in the next 30 days, higher than 73% 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 decamelize
>=1.1.0, <1.1.2
1.1.2

Affected products

  • HackerOne decamelize node module

Classification

Weakness
  • CWE-400 Uncontrolled Resource Consumption
  • CWE-20 Improper Input Validation

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.