prototype汚染攻撃
#Node.js
#セキュリティ
#Deno
各種ランタイムでの対応
Deno
Deno
ではデフォルトで
Object.prototype.__proto__
が削除されています (
runtime/js/99_main.js
)
--unstable-unsafe-proto
でこの挙動は無効化可能です (ただし、推奨はされません)
パッケージ
bourne
JSON.parse() drop-in replacement with prototype poisoning protection
fastify
が利用している。
各種パッケージにおける対応
deno_std/dotenv
fix(dotenv): prevent prototype pollution during parsing (#6661)
参考
Object.prototype.__proto__
JavaScript Prototype Poisoning Vulnerabilities in the Wild
JavaScriptのプロトタイプ汚染攻撃対策は難しい
ECMAScript Annex B と型定義、ついでに ES2022 __proto__