← CVE Radar
CVE-2026-122131Joi 17.13.6 before 17.13.9 and 18.2.5 before 18.3.1 Prototype Replacement via __proto__ Language Key
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.
6.3 MEDIUMEPSS 0.33%Not in KEVNVD: Received
Overview
Severity
| Score | Severity | Version | Vector String |
|---|---|---|---|
| 6.3 | MEDIUM | 4.0VulnCheck (CNA) | 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 |
| 3.7 | LOW | 3.1VulnCheck (CNA) | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N |
Details
- CVE ID
- CVE-2026-122131
- Status
- Received
- Assigner (CNA)
- VulnCheck
- Published
- Nov 4, 2026
- Last modified
- 2026-11-05 20:17 UTC
- Weaknesses
- CWE-1321 · Improperly Controlled Modification of Object Prototype Attributes ('Prototype Pollution')
Affected Products
As published by the CNA in the CVE record.
hapijsjoi2 version ranges
- 17.13.6 before 17.13.9
- 18.2.5 before 18.3.1
References
- github.com https://github.com/hapijs/joi
- github.com https://github.com/hapijs/joi/blob/v18.3.0/lib/messages.js#L64-L67
- github.com https://github.com/hapijs/joi/commit/76f5771e1afe527cfda24be0e1a920ffa54888d6
- github.com https://github.com/hapijs/joi/commit/dae9467cec27e787bfdea8b276595177d52d28ec
- github.com https://github.com/hapijs/joi/pull/3164
- github.com https://github.com/hapijs/joi/security/advisories/GHSA-6w3j-5fw6-r9vr
- vulncheck.com https://www.vulncheck.com/advisories/joi-17.13.6-before-17.13.9-and-18.2.5-before-18.3.1-prototype-replacement-via-proto-language-key