Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1359 CNY

100%

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

Quick assessment

Affected
hapijs joi
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

hapi.js joi是hapi.js团队的一款JavaScript对象模式验证库。 hapi.js joi 16.0.0至17.13.6之前版本和18.0.0至18.2.5之前版本存在输入验证错误漏洞,该漏洞源于lib/messages.js中exports.compile()和exports.merge()重用继承对象,对攻击者控制的语言键处理不当,可能导致原型污染,使依赖继承属性判断的应用程序作出错误决策。

CVSS 3.7 · Low EPSS 0.39% · P32

Possible ATT&CK Techniques 1 AI

T1190 · Exploit Public-Facing Application

Affected Version Matrix 3

VendorProduct Version RangeStatus
hapijs joi >= 16.0.0, <= 17.1.1 affected
>= 17.2.0, < 17.13.6 affected
>= 18.0.0, < 18.2.5 affected
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2026-84368

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
joi: Prototype pollution via a `__proto__` language key in custom messages
Source: CVE Program / CVE List V5
Vulnerability Description
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.
Source: CVE Program / CVE List V5
CVSS Information
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N
Source: CVE Program / CVE List V5
Vulnerability Type
CWE-1321
Source: CVE Program / CVE List V5
Vulnerability Title
hapi.js joi 输入验证错误漏洞
Source: CNNVD (China National Vulnerability Database)
Vulnerability Description
hapi.js joi是hapi.js团队的一款JavaScript对象模式验证库。 hapi.js joi 16.0.0至17.13.6之前版本和18.0.0至18.2.5之前版本存在输入验证错误漏洞,该漏洞源于lib/messages.js中exports.compile()和exports.merge()重用继承对象,对攻击者控制的语言键处理不当,可能导致原型污染,使依赖继承属性判断的应用程序作出错误决策。
Source: CNNVD (China National Vulnerability Database)
CVSS Information
N/A
Source: CNNVD (China National Vulnerability Database)
Vulnerability Type
N/A
Source: CNNVD (China National Vulnerability Database)

Affected Products

Vendor Product Affected Versions CPE Subscribe
hapijs joi >= 16.0.0, <= 17.1.1 -

II. Public POCs for CVE-2026-84368

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2026-84368

请登录查看更多情报信息。

Patches & Fixes for CVE-2026-84368 (4)

Vendor Advisories for CVE-2026-84368 (1)

IV. Related Vulnerabilities

V. Comments for CVE-2026-84368

No comments yet


Leave a comment