CVE-2026-122131 PUBLISHED

Joi 17.13.6 before 17.13.9 and 18.2.5 before 18.3.1 Prototype Replacement via __proto__ Language Key

Assigner: VulnCheck
Reserved: 04.11.2026 Published: 04.11.2026 Updated: 04.11.2026

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.

Metrics

CVSS Vector: 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
CVSS Score: 6.3

Product Status

Vendor hapijs
Product joi
Versions Default: unaffected
  • affected from 17.13.6 to 17.13.9 (excl.)
  • affected from 18.2.5 to 18.3.1 (excl.)

Credits

  • Zachariah Mithani (AploSec) finder
  • Marsup remediation developer

References

Problem Types

  • Improperly Controlled Modification of Object Prototype Attributes ('Prototype Pollution') CWE