プラットフォーム
nodejs
コンポーネント
defu
修正版
6.1.6
6.1.5
CVE-2026-35209 は、JavaScript ライブラリ defu におけるプロトタイプ汚染の脆弱性です。この脆弱性は、信頼できないソースからの未検証のユーザー入力を defu() 関数に渡した場合に発生し、攻撃者がデフォルト値を上書きする可能性があります。影響を受けるバージョンは defu 6.1.5 より前のバージョンです。6.1.5 以降のバージョンで修正されています。
Prototype pollution occurs when an attacker can modify the prototype of JavaScript objects, effectively altering the behavior of all objects inheriting from that prototype. In the context of defu, an attacker can inject a proto key into user-supplied data (like JSON request bodies or configuration files) and pass it to the defu() function. This allows them to override intended default values, potentially granting unauthorized access or modifying application logic. For example, an attacker could set isAdmin: true to bypass access controls. The blast radius extends to any part of the application relying on the defu function and its default values, making it a significant security concern.
This vulnerability was publicly disclosed on 2026-04-04. While no active exploitation campaigns have been publicly reported, the ease of exploitation and the potential impact make it a high-priority concern. The vulnerability is not currently listed on CISA KEV. Public proof-of-concept code is likely to emerge, increasing the risk of widespread exploitation.
Applications built with Node.js that utilize the defu package for managing configuration or default values are at risk. This includes web applications, APIs, and backend services. Specifically, applications that parse user-supplied JSON data or load configuration files from untrusted sources are particularly vulnerable.
• nodejs / server:
npm audit defu• nodejs / supply-chain:
find . -name 'package.json' -print0 | xargs -0 grep '"defu": ["^6.1.5"']• generic web: Inspect application logs for unusual object properties or unexpected behavior after processing user input. Look for instances where default values are being unexpectedly overridden.
disclosure
エクスプロイト状況
EPSS
0.04% (12% パーセンタイル)
CISA SSVC
The primary mitigation for CVE-2026-35209 is to upgrade to defu version 6.1.5 or later, which includes a fix for the vulnerability. If upgrading is not immediately feasible, implement strict input sanitization on any user-supplied data passed to defu(). This involves validating and filtering input to prevent the injection of malicious proto payloads. Consider using a dedicated input validation library to ensure comprehensive protection. Additionally, review application code that utilizes defu to identify potential areas where prototype pollution could be exploited. After upgrading, confirm the fix by attempting to trigger the prototype pollution vulnerability with a crafted payload and verifying that the default values are not overridden.
Actualiza la librería 'defu' a la versión 6.1.5 o superior para mitigar la vulnerabilidad de contaminación de prototipos. Esto se soluciona reemplazando `Object.assign({}, defaults)` con object spread (`{ ...defaults }`), que evita la invocación del setter `__proto__`.脆弱性分析と重要アラートをメールでお届けします。
CVE-2026-35209 は、JavaScript ライブラリ defu におけるプロトタイプ汚染の脆弱性です。攻撃者は、悪意のある JSON ペイロードを使用して、defu() 関数によって設定されるデフォルト値を上書きできます。
defu のバージョンが 6.1.5 より前の場合は、この脆弱性によって影響を受ける可能性があります。プロジェクトで使用している defu のバージョンを確認し、必要に応じてアップデートしてください。
この脆弱性は、defu 6.1.5 以降のバージョンで修正されています。プロジェクトで使用している defu を 6.1.5 以降のバージョンにアップデートしてください。
CVSS ベクトル