Skip to content
Threat Feed
low advisory

joi: Regular expression denial of service in email validation (CVE-2026-118772)

The joi JavaScript validation library is vulnerable to a Regular Expression Denial of Service (ReDoS) attack when processing inputs via the email() rule with the multiple option enabled.

CVE search metadata

CVE search record: CVE-2026-118772. Severity: high. CVSS: 7.5. KEV: no. Product: joi (17.1.1-17.13.8), joi (18.0.0-18.3.0). Brief: joi: Regular expression denial of service in email validation (CVE-2026-118772). Brief link: https://feed.craftedsignal.io/briefs/2026-10-joi-redos/

Triage facts

Revision 1
Applicability
joi (17.1.1-17.13.8), joi (18.0.0-18.3.0)
Evidence
Unknown
Severity
Low
Action
Elevated
Sources
1 public source
Freshness
Revision 1Oct 29, 20:40 UTC
Vulnerabilities
1 CVE
Source quality
A1Likely

A Regular Expression Denial of Service (ReDoS) vulnerability exists in the joi library when using the 'Joi.string().email({ multiple: true })' validation rule. The flaw stems from a regular expression used for separator handling, which exhibits quadratic time complexity when processing strings containing long sequences of whitespace without valid separators. This can lead to event loop blocking in Node.js applications, resulting in a denial of service. The vulnerability is present in versions 17.1.1 through 17.13.8, and 18.0.0 through 18.3.0.

Impact

Successful exploitation allows an attacker to block the Node.js event loop for several seconds per request. Because the vulnerability can bypass existing string length limitations (such as .max() when abortEarly is set to false), it enables resource exhaustion via a single, specially crafted HTTP request.

Recommendation

  • Update the joi package to version 17.13.9 or 18.3.1 immediately to remediate the vulnerable regular expression logic.
  • Audit application code using 'Joi.string().email({ multiple: true })' to ensure input length is constrained prior to validation.
  • Monitor Node.js event loop lag and request processing times as indicators of potential exploitation attempts.

Immediate actions

Update joi dependency to 17.13.9 or 18.3.1

IT Operations 48h

Threat Hunt

Identify long-running HTTP request execution times in Node.js application logs

T1499 medium medium confidence hunt now

Data: Web server request duration (latency), Request body size

Mitigations

Upgrade joi library to 17.13.9 or 18.3.1

immediate Application Security

CVE-2026-118772