Advisory Database
  • Advisories
  • Dependency Scanning
  1. npm
  2. ›
  3. @hapi/joi
  4. ›
  5. CVE-2026-84368

CVE-2026-84368: joi: Prototype pollution via a `__proto__` language key in custom messages

September 8, 2026

An application that passes attacker-controlled data into joi’s custom message configuration (messages(), message(), prefs({ messages }), Joi.extend({ messages }) or rule({ message })) lets the attacker write properties onto Object.prototype, where every object in the process then inherits them. A key named __proto__ was treated as a language name, and the code reused the object it found at that key, which resolves to the prototype rather than to a new own property; a key named constructor did the same to the Object function’s statics. A consuming application that gates on the mere presence of a property (if (user.isAdmin)) can be made to take the wrong branch for every object it inspects.

This is not reachable from data that joi validates. Custom messages are schema-construction configuration, normally written by the application developer. Exploitation therefore requires an application that feeds untrusted input straight into schema construction.

References

  • github.com/advisories/GHSA-6w3j-5fw6-r9vr
  • github.com/hapijs/joi/commit/8d0b808f3e874d28f9078f61b7742290989afb36
  • github.com/hapijs/joi/commit/90d07571923c90e3432a328fc041d1cda03d30fa
  • github.com/hapijs/joi/pull/3138
  • github.com/hapijs/joi/pull/3139
  • github.com/hapijs/joi/security/advisories/GHSA-6w3j-5fw6-r9vr
  • nvd.nist.gov/vuln/detail/CVE-2026-84368

Code Behaviors & Features

Detect and mitigate CVE-2026-84368 with GitLab Dependency Scanning

Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →

Affected versions

All versions starting from 16.0.0 up to 17.1.1

Solution

Unfortunately, there is no solution available yet.

Impact 3.7 LOW

CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N

Learn more about CVSS

Weakness

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

Source file

npm/@hapi/joi/CVE-2026-84368.yml

Spotted a mistake? Edit the file on GitLab.

  • Site Repo
  • About GitLab
  • Terms
  • Privacy Statement
  • Contact

Page generated Wed, 09 Sep 2026 12:22:06 +0000.