GHSA-mrx9-2rrp-rhpx

Suggest an improvement
Source
https://github.com/advisories/GHSA-mrx9-2rrp-rhpx
Import Source
https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/09/GHSA-mrx9-2rrp-rhpx/GHSA-mrx9-2rrp-rhpx.json
JSON Data
https://api.osv.dev/v1/vulns/GHSA-mrx9-2rrp-rhpx
Downstream
CGA (25)
Withdrawn
2026-10-05T23:30:50Z
Published
2026-09-17T00:31:27Z
Modified
2026-10-05T23:45:07Z
Severity
  • 7.5 (High) CVSS_V3 - CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H CVSS Calculator
  • 8.7 (High) CVSS_V4 - CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N CVSS Calculator
Summary
Duplicate Advisory: joi: Quadratic regular-expression backtracking in `Joi.string().isoDate()`
Details

Duplicate Advisory

This advisory has been withdrawn because it is a duplicate of GHSA-6h2x-m376-mqjq. This link is maintained to preserve external references.

Original Description

joi (npm package joi, hapi.js) versions >=17.2.0 <17.13.7 and >=18.0.0 <18.2.6 are vulnerable to regular expression denial of service in the Joi.string().isoDate() validation rule. One of the regular expressions the rule applies to the input is unanchored, so a valid ISO date followed by a long run of fractional-second digits causes the regex engine to restart its search from every position in the string, yielding time proportional to the square of the input length (about 1.4 s for 64 KB of digits and about 22 s for 256 KB). A remote attacker who can supply a string to an isoDate validation can stall the application with a single request. Fixed in 17.13.7 and 18.2.6; as a workaround, cap the length of the string before it reaches joi.

Database specific
{
    "cwe_ids":  [
        "CWE-1333"
    ],
    "github_reviewed":  true,
    "github_reviewed_at":  "2026-10-05T23:30:50Z",
    "nvd_published_at":  "2026-09-16T22:18:30Z",
    "severity":  "HIGH"
}
References

Affected packages

npm / joi

Package

Affected ranges

Type
SEMVER
Events
Introduced
18.0.0

Database specific

last_known_affected_version_range
"< 18.2.6"
source
"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/09/GHSA-mrx9-2rrp-rhpx/GHSA-mrx9-2rrp-rhpx.json"