Prototype Pollution in Hapijs Joi

CVE-2026-122131

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.

Vulnerability class: Prototype Pollution

Published · last modified .

CVSS v3 metric

CVSS v3 base score 3.7 (Low). Vector: CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N.

EPSS exploit prediction

EPSS: 0.003 (26.3th percentile), scored .

Very low probability of exploitation in the next 30 days; routine patching cadence is appropriate. 26th percentile — 26.3% of CVEs in the catalogue have a lower EPSS than this one. How to read EPSS.

The 30-day trend appears once there are two daily scores.

Affected products

Weakness classification (CWE)

References

Frequently asked questions

What is CVE-2026-122131?
CVE-2026-122131 is a low-severity vulnerability in Hapijs Joi, classified under Improperly Controlled Modification of Object Prototype Attributes (Prototype Pollution). CVSS score: 3.7/10. Published 2026-11-04.
How severe is CVE-2026-122131?
Low severity. CVSS v3 base score is 3.7 out of 10.