Low [CVE-2026-84368] @hapi/joi: joi: Prototype pollution via untrusted input in schema configuration
This low-severity Red Hat Linux advisory covers CVE-2026-84368 affecting Gatekeeper 3, Migration Toolkit for Containers, Red Hat Build of Podman Desktop.
Android app · Google Play
Monitor future Red Hat Linux CVEs from your phone.
Choose a whole vendor or a precise platform, then receive matching security advisories by phone notification, email, or both. Coverage follows 32 official vendor sources and 160+ reviewed platform categories.
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. A flaw was found in joi.
This vulnerability, known as prototype pollution, allows an attacker to inject properties into core JavaScript objects by supplying untrusted input directly into schema-construction configuration. This can lead to a consuming application taking incorrect execution paths, potentially altering its behavior in unexpected ways.
Affected products named by the advisory: Gatekeeper 3; Migration Toolkit for Containers; Red Hat Build of Podman Desktop; Red Hat Data Grid 8; and 9 more.
- 16.0.0
- 17.1.1
Official advisory · high-confidence parse· fetched 46 minutes ago·verify at source
- 17.13.6
- 18.2.5
Official advisory · high-confidence parse· fetched 46 minutes ago·verify at source
Mitigation checklist
- Upgrade to joi 17.13.6 or 18.2.5. As a workaround, ensure that only trusted, developer-controlled input is passed into joi schema configuration methods such as messages(), message(), prefs({ messages }), Joi.extend({ messages }), or rule({ message }). Do not pass user-supplied data directly into schema construction.
Official advisory · high-confidence parse· fetched 46 minutes ago·verify at source
Discussion(0)
No comments yet. Share field notes, upgrade gotchas, or questions — verify against the vendor advisory before acting on community advice.
Sign in to join the discussion.