Vulnerability · Published Sep 13, 2026 · Assigned by VulnCheck
CVE-2026-90771joi before 17.13.8 and 18.2.9 Prototype Pollution via messages
Low 3.7
In plain English
A low-severity prototype pollution in joi from hapijs. Proof-of-concept exploit code is public. The chance it is exploited in the next 30 days is estimated at 0.4% (higher than 33% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.
Severity (CVSS 3.1)3.7Low
Exploit odds (30 days)0.4%top 66.8% of all CVEs
Exploited in the wildNo reportsCISA SSVC: poc
Attack toolingNoneno public tooling known
Official 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.
Affected packages & fixed versions
| Ecosystem | Package | Fixed in | Advisory |
|---|---|---|---|
| npm | joi | 17.13.8 | GHSA-wr44-6hxh-3jwq |
| npm | joi | 18.2.9 | GHSA-wr44-6hxh-3jwq |
Affected products (as reported)
Weakness: CWE-1321 · Vector: CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N
References
- GitHub Issue #3150 issue-tracking
- https://github.com/hapijs/joi product
- https://github.com/hapijs/joi/blob/v18.2.8/lib/messages.js technical-description
- https://github.com/hapijs/joi/commit/5b8333c9177e08b4ef4ed02903c2d657084e7afb patch
- VulnCheck Advisory: joi before 17.13.8 and 18.2.9 Prototype Pollution via messages third-party-advisory