CVE-2026-122131 json
Joi 17.13.6 before 17.13.9 and 18.2.5 before 18.3.1 Prototype Replacement via __proto__ Language Key
published 5d ago modified 4d ago also EUVD-2026-117085
- cvss
- 3.7
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.3%
- EPSS 0.3% chance of exploitation in 30 days, percentile 26%
- public exploits
- 0
- none known
Summary
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.
Patch / fix
- hapijs joi 17.13.9, 18.3.1
- github.com/hapijs/joi@76f5771 commit
- github.com/hapijs/joi@dae9467 commit
- github.com/hapijs/joi#3164 pull request
Is CVE-2026-122131 in your stack? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerVendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2026-122131 updated cvss 3.7
joi: joi: Prototype pollution via untrusted message configuration
-
Red Hat Hardened Images grafana13.1 13.1.8-0.6.hum1, grafana13.2 13.2.4-0.6.hum1, grafana12.4 12.4.13-0.6.hum1not affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- partial
- Assessed
- 4d ago
Exploit prediction
0.33% chance of exploitation in the next 30 days, higher than 26% of all scored CVEs (FIRST EPSS, 2026-11-09).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 4.0 | 6.3 | 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 |
| CNA | 3.1 | 3.7 | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N |
| CNA | 4.0 | 6.3 | 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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
Affected products
- hapijs joi
Classification
- Weakness
-
- CWE-1321 Improperly Controlled Modification of Object Prototype Attributes
References
-
github.com
/hapijs/joi/commit/76f5771e1afe527cfda24be0e1a920ffa54888d6
patch
-
github.com
/hapijs/joi/commit/dae9467cec27e787bfdea8b276595177d52d28ec
patch
-
github.com
/hapijs/joi/pull/3164
patch, issue-tracking
-
github.com
/hapijs/joi/security/advisories/GHSA-6w3j-5fw6-r9vr
related, vendor-advisory
-
github.com
/hapijs/joi
product
-
github.com
/hapijs/joi/blob/v18.3.0/lib/messages.js#L64-L67
technical-description
-
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
third-party-advisory
Sources
- CVE List CVE-2026-122131
- NVD CVE-2026-122131
Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.