Read the docs
TI-2026-57979 Aliases CVE-2026-84368GHSA-6w3j-5fw6-r9vr

joi: Prototype pollution via a `__proto__` language key in custom messages

Priority LOW 18CWE-1321Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
None
Attack complexity
High
Impact type
—
Confidentiality · integrity · availability
None · Low · None
Fix status
Partial Red Hat: 12 without a fix

Attack profile from CVSS 3.1 · CNA. Fix status from CNA, GitHub and Red Hat.

Summary

joi is a schema description language and data validator for JavaScript. From 16.0.0 until 17.13.6 and 18.2.5, the @hapi/joi package through 17.1.1 and the successor joi package contain prototype pollution in lib/messages.js, where exports.compile() and exports.merge() reuse inherited objects for attacker-controlled language keys supplied through messages(), message(), prefs({ messages }), Joi.extend({ messages }), or rule({ message }). A language key named __proto__ writes properties onto Object.prototype, and constructor writes to the Object function's static properties. A consuming application that gates on the presence of an inherited property can take the wrong branch for every inspected object. The flaw is not reachable from data that joi validates and requires an application to feed untrusted input directly into schema-construction configuration. This issue is fixed in joi versions 17.13.6 and 18.2.5; no fixed @hapi/joi version is available.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00389 33rd percentileScored 2026-11-07
Fix Partial joi (hapijs): 17.13.6, 18.2.5joi (npm): 17.13.6, 18.2.5Red Hat: 12 without a fix

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
None
Automatable
No
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
hapijsjoi16.0.0 – 17.1.1; 17.2.0 to before 17.13.6; 18.0.0 to before 18.2.517.13.6, 18.2.5Patch availableCNA
—joi (npm)17.2.0 to before 17.13.617.13.6Patch availableGHSA-6w3j-5fw6-r9vr
—@hapi/joi (npm)16.0.0 – 17.1.1—No fix listedGHSA-6w3j-5fw6-r9vr
—joi (npm)18.0.0 to before 18.2.518.2.5Patch availableGHSA-6w3j-5fw6-r9vr
  • joi Vendorhapijs Affected 16.0.0 – 17.1.1; 17.2.0 to before 17.13.6; 18.0.0 to before 18.2.5 Fixed in 17.13.6, 18.2.5 Patch available CNA
  • joi (npm) Vendor— Affected 17.2.0 to before 17.13.6 Fixed in 17.13.6 Patch available GHSA-6w3j-5fw6-r9vr
  • @hapi/joi (npm) Vendor— Affected 16.0.0 – 17.1.1 Fixed in — No fix listed GHSA-6w3j-5fw6-r9vr
  • joi (npm) Vendor— Affected 18.0.0 to before 18.2.5 Fixed in 18.2.5 Patch available GHSA-6w3j-5fw6-r9vr

Remediation

  • Fix · CNA joi (hapijs) Fixed in 17.13.6, 18.2.5
  • Fix · GHSA-6w3j-5fw6-r9vr joi (npm) Fixed in 17.13.6 Advisory →
  • Fix · GHSA-6w3j-5fw6-r9vr joi (npm) Fixed in 18.2.5 Advisory →

Vendor assessments

Red Hat

Red Hat rating: Low. Red Hat's page for this CVE →

ProductStatusPlan or fix
Gatekeeper 3AffectedNo fix yet: Fix deferred
Migration Toolkit for ContainersAffectedNo fix yet: Fix deferred
Red Hat Build of Podman DesktopAffectedNo fix yet: Fix deferred
Red Hat Data Grid 8AffectedNo fix yet: Fix deferred
Red Hat Enterprise Linux 10AffectedNo fix yet: Fix deferred
Red Hat Enterprise Linux 8AffectedNo fix yet: Fix deferred
Red Hat Enterprise Linux 9AffectedNo fix yet: Fix deferred
Red Hat Fuse 7AffectedNo fix planned: Out of support scope
Red Hat OpenShift AI (RHOAI)AffectedNo fix yet: Fix deferred
Red Hat OpenShift Container Platform 4AffectedNo fix yet: Fix deferred
Red Hat OpenShift Container Platform 5AffectedNo fix yet: Fix deferred
Red Hat OpenShift Dev SpacesAffectedNo fix yet: Fix deferred
Not affected: 1 product
  • Red Hat Hardened Images

Timeline

  1. 2026-10-02 Threatist record created from CVE-2026-84368
  2. 2026-10-03 Alias added: GHSA-6w3j-5fw6-r9vr
  3. 2026-11-07 Affected versions changed · Red Hat

References

  • TI-2026-82752 Quadratic-time parsing in @hapi/content allows denial of service CVSS 3.1HIGH 7.5
  • TI-2026-82716 Quadratic-time split in joi email rule allows denial of service CVSS 3.1HIGH 7.5
  • TI-2026-61678 joi before 17.13.8 and 18.2.9 Prototype Pollution via messages CVSS 4.0MEDIUM 6.3
  • TI-2018-02726 Prototype pollution in @hapi hoek node module CVSS 3.0HIGH 8.8
  • TI-2026-79747 Regular expression denial of service in @hapi/content disposition parsing CVSS 4.0HIGH 8.7
  • TI-2026-62455 Joi before 17.13.7 and 18.2.6 ReDoS via isoDate CVSS 4.0HIGH 8.7
See all 21 →

Sources