CVE-2026-118772: joi: quadratic-time split in `string().email({ multiple: true })` allows denial of service
hapijs · joi
Affected: hapijs joi · Exploitation: unlikely (under 1%)
Not in CyberSIXT coverage yet: no article names this CVE. This page shows the public record.
Higher than 40% of scored CVEs
DescriptionCVE.org
joi is a schema description language and data validator for JavaScript. From 17.1.1 until 17.13.9 and 18.3.1, the Joi.string().email({ multiple: true }) rule uses a separator regular expression whose leading whitespace quantifier is retried at every position in a long whitespace run that contains no separator, causing quadratic work during String.prototype.split. The behavior applies to the default separator and every custom separator. Applications that validate attacker-controlled values with the multiple option and no effective prior length limit can have the Node.js event loop blocked for seconds by one request, preventing other work. A .max() rule is not sufficient when abortEarly: false allows the email rule to run after the maximum-length check fails. This vulnerability is fixed in versions 17.13.9 and 18.3.1.
Affected products2
From the CVE record. A product or version that is not listed is unknown, not unaffected.
- hapijs · joi>= 16.0.0, <= 17.1.1; >= 18.0.0, < 18.3.1
- @hapi · joi>= 16.0.0, <= 17.1.1
On the Atlas
Every published CVE is on the CyberSIXT Atlas, grouped by weakness, vendor and month.
- Exploitation
- Unlikely (under 1%). EPSS under 1%, or no score yet.
- CISA KEV
- Not listed
- Public check
- No public nuclei template
- Vendor
- hapijs
- Published
- October 2026
CoverageNo articles yet
No CyberSIXT article names CVE-2026-118772 yet, so there is no coverage timeline, action brief or change log for it. Everything on this page comes from the public CVE record, CISA KEV, EPSS and the nuclei template index. Search the archive or see the CVEs in the news.
References
- NVD entrynvd.nist.gov
- CVE recordcve.org
- Weakness CWE-1333cwe.mitre.org
- github.com/hapijs/joi/security/advisories/GHSA-4528-x5fx-h6hggithub.com
- github.com/hapijs/joi/pull/3162github.com
- github.com/hapijs/joi/pull/3163github.com
- github.com/hapijs/joi/commit/03dc1d909818503b06240dadc81e9227ed2github.com
- github.com/hapijs/joi/commit/807858d7480f5075b0610817e3e44230890github.com
- github.com/hapijs/joi/releases/tag/v17.13.9github.com
- github.com/hapijs/joi/releases/tag/v18.3.1github.com