GHSA-wr44-6hxh-3jwq
joi messages compilation allows prototype replacement through __proto__ error codes
Packages
Details
As written in the advisory (Markdown source, shown as plain text).
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
External links from the advisory. They lead to third-party sites.
- 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