CVE-2026-90771: medium-severity vulnerability in hapijs joi
joi before 17.13.8 and 18.2.9 Prototype Pollution via messages
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 6.3epss 0.4%
joi before versions 17.13.8 and 18.2.9 contains a prototype pollution vulnerability in the messages compilation function that accepts __proto__ as an error code. Attackers can supply __proto__ keys in custom messages to replace the returned object's prototype, breaking downstream code relying on Object.prototype methods.
CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N
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-48038MEDIUMjoi: Uncaught RangeError on deeply nested input through recursive `link()` schemasEPSS 0.5%CVE-2026-118772HIGHjoi: quadratic-time split in `string().email({ multiple: true })` allows denial of serviceEPSS 0.5%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%
References
https://github.com/hapijs/joihttps://github.com/hapijs/joi/blob/v18.2.8/lib/messages.jshttps://github.com/hapijs/joi/commit/5b8333c9177e08b4ef4ed02903c2d657084e7afbhttps://github.com/hapijs/joi/issues/3150https://www.vulncheck.com/advisories/joi-before-17.13.8-and-18.2.9-prototype-pollution-via-messages