Read the docs
TI-2026-67327 Aliases GHSA-6h2x-m376-mqjq

joi: Quadratic regular-expression backtracking in `Joi.string().isoDate()`

Priority LOW 38CWE-1333Published · Updated

Key facts

Attack vector
—
Privileges required
—
User interaction
—
Attack complexity
—
Impact type
Denial of service
Confidentiality · integrity · availability
—
Fix status
Fixed

No CVSS vector from any source. Fix status from GitHub. Impact type from CWE-1333.

Summary

### 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.

Why it matters now

Fix Fixed joi (npm): 17.13.7, 18.2.6

SSVC decision points

Not available: CISA has not published SSVC decision points for this record.

Affected products

VendorProductAffected versionsFixed inStatusSource
—joi (npm)17.2.0 to before 17.13.717.13.7Patch availableGHSA-6h2x-m376-mqjq
—joi (npm)18.0.0 to before 18.2.618.2.6Patch availableGHSA-6h2x-m376-mqjq
  • joi (npm) Vendor— Affected 17.2.0 to before 17.13.7 Fixed in 17.13.7 Patch available GHSA-6h2x-m376-mqjq
  • joi (npm) Vendor— Affected 18.0.0 to before 18.2.6 Fixed in 18.2.6 Patch available GHSA-6h2x-m376-mqjq

Remediation

  • Fix · GHSA-6h2x-m376-mqjq joi (npm) Fixed in 17.13.7 Advisory →
  • Fix · GHSA-6h2x-m376-mqjq joi (npm) Fixed in 18.2.6 Advisory →

Timeline

  1. 2026-10-03 Threatist record created from GHSA-6h2x-m376-mqjq

References

Sources

This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences