{"cve":"CVE-2026-90771","nvd":{"published":"2026-09-13T11:17:01.613","modified":"2026-09-24T20:44:42.207","status":"Awaiting Analysis","description":"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_v4":{"vector":"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","score":6.3},"cvss_v3":{"version":"3.1","vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N","score":3.7},"cwes":["CWE-1321"],"references":["https://github.com/hapijs/joi","https://github.com/hapijs/joi/blob/v18.2.8/lib/messages.js","https://github.com/hapijs/joi/commit/5b8333c9177e08b4ef4ed02903c2d657084e7afb","https://github.com/hapijs/joi/issues/3150","https://www.vulncheck.com/advisories/joi-before-17.13.8-and-18.2.9-prototype-pollution-via-messages"],"products":[],"source":"nvd","synced_at":"2026-10-19T22:53:43.293028046+00:00"},"epss":{"cve":"CVE-2026-90771","score":0.00389,"percentile":0.33034,"date":"2026-10-31"},"kev":null,"osv":[{"id":"GHSA-wr44-6hxh-3jwq","url":"https://osv.dev/vulnerability/GHSA-wr44-6hxh-3jwq","summary":"joi messages compilation allows prototype replacement through __proto__ error codes","modified":"2026-10-05T23:45:08.228760837Z","packages":[{"ecosystem":"npm","name":"joi","purl":"pkg:npm/joi","ranges":["<17.13.8"],"fixed":["17.13.8"]},{"ecosystem":"npm","name":"joi","purl":"pkg:npm/joi","ranges":[">=18.0.0 <18.2.9"],"fixed":["18.2.9"]}]}],"attribution":["This product uses the NVD API but is not endorsed or certified by the NVD.","EPSS scores: FIRST Exploit Prediction Scoring System, https://www.first.org/epss","Known exploited vulnerabilities: CISA Known Exploited Vulnerabilities Catalog, https://www.cisa.gov/known-exploited-vulnerabilities-catalog","Package advisories: OSV (https://osv.dev), from the GitHub Advisory Database, PyPA, Go, RustSec and other ecosystem databases, under CC-BY 4.0 or CC0","CVE records: the CVE Program's CVE List (https://www.cve.org), under its terms of use (https://www.cve.org/Legal/TermsOfUse). CVE is a registered trademark of The MITRE Corporation; this product is not affiliated with the CVE Program."]}