CVE-2026-48038: medium-severity vulnerability in hapijs joi
joi: Uncaught RangeError on deeply nested input through recursive `link()` schemas
Published · Updated
E-mail alert when it lands in KEV, gets a public PoC or its score goes up.
13Vexday Risk Score
No sign of exploitation. No public exploitation artifact known so far.
ssvc Trackcvss 5.3epss 0.5%
joi is a schema description language and data validator for JavaScript. Prior to 17.13.4 and 18.2.1, denial of service is possible via an untrapped exception in services validating user-supplied JSON or object input with recursive link() schemas. When validate() is called without try/catch in a request handler, deeply nested input can trigger an unhandled RangeError and potentially crash the process; lower-impact paths using validateAsync() or try/catch produce a RangeError instead of a structured ValidationError. This issue is fixed in versions 17.13.4 and 18.2.1.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
Affected products
hapijs · joiRelated CVEs — hapijs joi
In the same product, most dangerous first.
CVE-2026-92599HIGHJoi before 17.13.7 and 18.2.6 ReDoS via isoDateEPSS 0.6%CVE-2026-118772HIGHjoi: quadratic-time split in `string().email({ multiple: true })` allows denial of serviceEPSS 0.5%CVE-2026-90771MEDIUMjoi before 17.13.8 and 18.2.9 Prototype Pollution via messagesEPSS 0.4%CVE-2026-84368LOWjoi: Prototype pollution via a `__proto__` language key in custom messagesEPSS 0.4%CVE-2026-84367LOWjoi: object().rename() with a template target can set the validated object's prototypeEPSS 0.4%