In breve
- CVE-2026-92599 è una vulnerabilità ALTO (CVSS 7.5) che riguarda joi.
- Probabilità di sfruttamento nei prossimi 30 giorni (EPSS): 0.58%, superiore al 47.8% delle vulnerabilità.
- Correzione: aggiornare a 17.13.7, 18.2.6 o successiva.
| Package | Affected versions | Patched versions |
|---|
| joi npm | ≥ 17.2.0, < 17.13.7≥ 18.0.0, < 18.2.6
| 17.13.718.2.6
|
Description
Impact
Any application that validates a user-supplied string with Joi.string().isoDate() can be stalled by a single request. One of the regular expressions the rule runs over the input was unanchored, so a valid ISO date followed by a long run of fractional-second digits made the regex engine restart its search from every position in the string, costing time proportional to the square of the input length. 64 KB of digits costs about 1.4 s and 256 KB about 22 s.
Patches
Upgrade to version 17.13.7 or 18.2.6 depending on your current major version.
Workarounds
None except capping the length of the string before it reaches joi.
NVD 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.
Running one of these products? Scan your site to see whether it exposes a vulnerable version.
Scan my site free