PT-2026-84506 · Npm · Joi+1

CVE-2026-84368

·

Published

2026-09-01

·

Updated

2026-09-08

CVSS v3.1

3.7

Low

VectorAV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N
Name of the Vulnerable Software and Affected Versions joi versions 16.0.0 through 17.13.5 joi versions 18.0.0 through 18.2.4 @hapi/joi versions 16.0.0 through 17.1.1
Description A prototype pollution issue exists in lib/messages.js where the exports.compile() and exports.merge() functions reuse inherited objects when processing attacker-controlled language keys. These keys can be supplied via messages(), message(), prefs({ messages }), Joi.extend({ messages }), or rule({ message }). Specifically, a language key named proto allows writing properties to Object.prototype, while constructor allows writing to the Object function's static properties. This can cause applications that rely on the presence of inherited properties to execute incorrect logic branches for all inspected objects. This flaw is only reachable if an application feeds untrusted input directly into the schema-construction configuration and cannot be triggered by data that joi validates.
Recommendations Update joi to version 17.13.6. Update joi to version 18.2.5. At the moment, there is no information about a newer version that contains a fix for this vulnerability for @hapi/joi.

Exploit

Fix

Prototype Pollution

Found an issue in the description? Have something to add? Feel free to write us 👾

Weakness Enumeration

Related Identifiers

CVE-2026-84368
GHSA-6W3J-5FW6-R9VR

Affected Products

@Hapi/Joi
Joi