CyberRota Analysis
AI-GeneratedThe joi npm package, specifically versions 17.2.0 to 17.13.6 and 18.0.0 to 18.2.5, is vulnerable to a regular expression denial of service attack through the `Joi.string().isoDate()` validation rule. This vulnerability allows a remote attacker to exploit the unanchored regex, causing significant delays in application response times by submitting specially crafted input. Organizations using affected versions should prioritize upgrading to fixed versions 17.13.7 or 18.2.6, or implement input length restrictions as a temporary workaround.
Public Exploit Signal
A public exploit, PoC, GitHub repository or Metasploit reference was detected for this CVE.
Note: these links are listed for security research and verification purposes only.
Original 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.