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

Goal: 1000 CNY · Raised: 1336 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.

joi 是一种用于 JavaScript 的模式描述语言和数据的验证器。从 16.0.0 开始直到 17.13.6 和 18.2.5,@hapi/joi 包(截至 17.1.1)以及其后续版本 joi 包在 中存在原型污染(prototype pollution)漏洞。具体来说, 和 在复用继承对象时,会受到攻击者通过 、 、 、 或 提供的、由攻击者控制的“语言键”(language keys)的影响。 如果攻击者提供一个名为 的语言键,就可以向 写入属性;如果提供名为 的语言键,则可以向 函数的静态属性写入内容

CVSS 3.7 · Low

Possible ATT&CK Techniques 1 AI

T1190 · Exploit Public-Facing Application
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

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