{"id":"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.","aliases":["CVE-2026-90771"],"modified":"2026-10-05T23:45:08.228760837Z","published":"2026-09-13T12:31:12Z","database_specific":{"cwe_ids":["CWE-1321"],"severity":"MODERATE","github_reviewed":true,"github_reviewed_at":"2026-10-05T23:29:52Z","nvd_published_at":"2026-09-13T11:17:01Z"},"references":[{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-90771"},{"type":"WEB","url":"https://github.com/hapijs/joi/issues/3150"},{"type":"WEB","url":"https://github.com/hapijs/joi/pull/3151"},{"type":"WEB","url":"https://github.com/hapijs/joi/pull/3153"},{"type":"WEB","url":"https://github.com/hapijs/joi/commit/1d2001cad9971327a62c9fd8eb1afec20cd784d2"},{"type":"WEB","url":"https://github.com/hapijs/joi/commit/5b8333c9177e08b4ef4ed02903c2d657084e7afb"},{"type":"PACKAGE","url":"https://github.com/hapijs/joi"},{"type":"WEB","url":"https://github.com/hapijs/joi/blob/v18.2.8/lib/messages.js"},{"type":"WEB","url":"https://github.com/hapijs/joi/releases/tag/v17.13.8"},{"type":"WEB","url":"https://github.com/hapijs/joi/releases/tag/v18.2.9"},{"type":"WEB","url":"https://www.vulncheck.com/advisories/joi-before-17.13.8-and-18.2.9-prototype-pollution-via-messages"}],"affected":[{"package":{"name":"joi","ecosystem":"npm","purl":"pkg:npm/joi"},"ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"17.13.8"}]}],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/09/GHSA-wr44-6hxh-3jwq/GHSA-wr44-6hxh-3jwq.json"}},{"package":{"name":"joi","ecosystem":"npm","purl":"pkg:npm/joi"},"ranges":[{"type":"SEMVER","events":[{"introduced":"18.0.0"},{"fixed":"18.2.9"}]}],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/09/GHSA-wr44-6hxh-3jwq/GHSA-wr44-6hxh-3jwq.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N"},{"type":"CVSS_V4","score":"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"}]}