CVE-2026-92599: Joi before 17.13.7 and 18.2.6 ReDoS via isoDate

Published Sep 16, 2026
·
Updated

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.

Other sources

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.

— MITRE

Affected Software

2 affected components
npm/joi>17.2.0<17.13.7, >18.0.0<18.2.6
IBM API Connect V12 OnPrem<=v12.1.0.0 - v12.1.1.2

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade joi to a version that resolves this vulnerability.

    Fixed in 17.13.7
  2. Upgrade

    Upgrade joi to a version that resolves this vulnerability.

    Fixed in 18.2.6
  3. Compensating control

    Cap the length of strings before they reach joi's Joi.string().isoDate() validation rule.

Event History

Sep 16, 2026
CVE Published
via MITRE·09:47 PM
Data Sourced
via MITRE·09:47 PM
DescriptionSeverityWeakness
Data Sourced
via NVD·10:18 PM
DescriptionSeverityWeakness
Sep 22, 2026
Data Sourced
via Red Hat·06:14 PM
DescriptionSeverityAffected Software
Oct 8, 2026
Data Sourced
via IBM·12:00 AM
DescriptionAffected Software

Parent advisories

This vulnerability appears in the following advisories.

Frequently Asked Questions

1

Which deployments are exposed to this issue?

Deployments using the npm package joi in versions >=17.2.0 and <17.13.7, or >=18.0.0 and <18.2.6, are affected if they use the Joi.string().isoDate() validation rule on attacker-controlled input.

2

What does an attacker need to exploit the vulnerability?

An attacker only needs network access to an application endpoint that passes a supplied string to an isoDate validation. A valid ISO date followed by a long sequence of fractional-second digits can cause a single request to stall the application.

3

What can be done if upgrading is not immediately possible?

Cap the input string length before it reaches joi. This limits the quadratic regex processing triggered by long runs of fractional-second digits.

4

How can I assess potential impact in my application?

Identify uses of Joi.string().isoDate() and determine whether their input can be supplied remotely or by untrusted users. Inputs approaching 64 KB of crafted digits may consume about 1.4 seconds of processing, while 256 KB may consume about 22 seconds.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203