Advisory Database
  • Advisories
  • Dependency Scanning
  1. npm
  2. ›
  3. joi
  4. ›
  5. CVE-2026-84367

CVE-2026-84367: joi: object().rename() with a template target can set the validated object's prototype

September 8, 2026

Applications are affected only if a schema renames keys with a regular-expression source and a Joi.expression() / Joi.x() target that interpolates the pattern’s own match data, combined with { multiple: true }, for example .rename(/^x-(.+)$/, Joi.x('{#1}'), { multiple: true }). Because the target is rendered from the matched input key, an attacker who controls input keys can send x-__proto__ with an object value and make the rename target render as __proto__, which sets the prototype of the object joi returns instead of creating a key on it. The global Object.prototype is not modified, so the effect is confined to the object returned by that one validate() call.

Schemas using a static string rename target are not affected, and neither are schemas left on the default { multiple: false }.

References

  • github.com/advisories/GHSA-gg4h-3hg2-grpc
  • github.com/hapijs/joi/commit/162f367aa178d2e1ebec8dc1164e5fe16536ddf6
  • github.com/hapijs/joi/commit/172ececa192feda532b743d77bc9d3e523d19b01
  • github.com/hapijs/joi/pull/3134
  • github.com/hapijs/joi/pull/3135
  • github.com/hapijs/joi/releases/tag/v17.13.5
  • github.com/hapijs/joi/releases/tag/v18.2.4
  • github.com/hapijs/joi/security/advisories/GHSA-gg4h-3hg2-grpc
  • nvd.nist.gov/vuln/detail/CVE-2026-84367

Code Behaviors & Features

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

Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Dependency Scanning using SBOM also detects vulnerabilities from proprietary advisories that this site does not include. Learn more about Dependency Scanning using SBOM →

Affected versions

All versions starting from 16.0.0 before 17.13.5, all versions starting from 18.0.0 before 18.2.4

Fixed versions

  • 17.13.5
  • 18.2.4

Solution

Upgrade to versions 17.13.5, 18.2.4 or above.

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/joi/CVE-2026-84367.yml

Spotted a mistake? Edit the file on GitLab.

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

Page generated Sun, 08 Nov 2026 00:16:20 +0000.