Vulnerability · Published Nov 4, 2026 · Assigned by VulnCheck
CVE-2026-122131Joi 17.13.6 before 17.13.9 and 18.2.5 before 18.3.1 Prototype Replacement via __proto__ Language Key
Low 3.7
In plain English
A low-severity prototype pollution in joi from hapijs. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 0.3% (higher than 26% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.
Official description
Joi 17.13.6 before 17.13.9 and 18.2.5 before 18.3.1 contains a prototype pollution vulnerability in lib/messages.js compile() and merge() that fails to reject a __proto__ language key. Attackers supplying untrusted message configuration via any().messages(), prefs, validate options or Joi.extend can replace the compiled messages prototype, altering or breaking validation error rendering and dependent logic.
Affected packages & fixed versions
| Ecosystem | Package | Fixed in | Advisory |
|---|---|---|---|
| npm | @hapi/joi | no fix listed | GHSA-6w3j-5fw6-r9vr |
| npm | joi | 17.13.6 | GHSA-6w3j-5fw6-r9vr |
| npm | joi | 18.2.5 | GHSA-6w3j-5fw6-r9vr |
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
- Patch Commit patch
- https://github.com/hapijs/joi product
- https://github.com/hapijs/joi/commit/dae9467cec27e787bfdea8b276595177d52d28ec patch
- https://github.com/hapijs/joi/pull/3164 patch, issue-tracking
- GitHub Security Advisory (GHSA-6w3j-5fw6-r9vr) related, vendor-advisory
- https://github.com/hapijs/joi/blob/v18.3.0/lib/messages.js#L64-L67 technical-description
- VulnCheck Advisory: Joi 17.13.6 before 17.13.9 and 18.2.5 before 18.3.1 Prototype Replacement via __proto__ Language Key third-party-advisory