GHSA-wr44-6hxh-3jwq
Dashboard / Vulnerabilities / GHSA-wr44-6hxh-3jwq
Summary: joi messages compilation allows prototype replacement through __proto__ error codes
Details: 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.
References: https://nvd.nist.gov/vuln/detail/CVE-2026-90771, https://github.com/hapijs/joi/issues/3150, https://github.com/hapijs/joi/pull/3151, https://github.com/hapijs/joi/pull/3153, https://github.com/hapijs/joi/commit/1d2001cad9971327a62c9fd8eb1afec20cd784d2, https://github.com/hapijs/joi/commit/5b8333c9177e08b4ef4ed02903c2d657084e7afb, https://github.com/hapijs/joi, https://github.com/hapijs/joi/blob/v18.2.8/lib/messages.js, https://github.com/hapijs/joi/releases/tag/v17.13.8, https://github.com/hapijs/joi/releases/tag/v18.2.9, https://www.vulncheck.com/advisories/joi-before-17.13.8-and-18.2.9-prototype-pollution-via-messages
Affected packages
Package
Name: joi
Purl: pkg:npm/joi
Affected ranges
Type: SEMVER
Events:
