MySQL2 の脆弱性 CVE-2024-21512 (CVSS:8.2) が FIX:PoC エクスプロイトも公開

CVE-2024-21512: MySQL2 Vulnerability Puts Millions of Downloads at Risk

2024/06/03 SecurityOnline — Node.js 用の MySQL クライアント・ライブラリとして人気があり、毎月 200万以上のダウンロードがある MySQL2 に、深刻な脆弱性 CVE-2024-21512 (CVSS:8.2) が発見された。この脆弱性は、プロトタイプ汚染に起因するものであり、リモート・コード実行につながる可能性が生じる。


プロトタイプ汚染は、JavaScript オブジェクトの根本的な構造を狙う攻撃の一種だ。JavaScript のオブジェクトの継承メカニズムである、プロトタイプ・チェーンを操作する攻撃者により、悪意のプロパティが注入され、壊滅的な被害を引き起こされる可能性が生じる。

MySQL2 のケースにおいて、このプロトタイプ汚染の脆弱性は nestTables 機能に存在する。不適切な入力サニタイズを悪用する攻撃者は、アプリケーションで使用されるオブジェクトのプロトタイプを変更できるようになる。この脆弱性の悪用に成功した、リモートの攻撃者は、サーバ上で任意のコードを実行し、影響を受けるアプリケーションを実質的に制御することになる。

Node.js エコシステムにおいて、MySQL2 が広く採用されていることを考えると、脆弱性 CVE-2024-21512 の潜在的な影響は大きなものになる。MySQL2 に依存している無数の Web アプリ/API/バックエンド・サービスが、この脅威にさらされる可能性がある。

すでにセキュリティ・コミュニティは迅速に反応し、PoC (proof-of-concept) エクスプロイト・コードも提供されている。そのため、開発者たちは、早急に対策を講じる必要がある。

幸いなことに、この脆弱性には、パッチが提供されている。この脆弱性に対処するために、MySQL2 バージョン 3.9.8 以降へのアップグレードが強く推奨される。開発者にとって必要なことは、このアップデートを優先し、互換性とセキュリティを確保するために徹底的なテストを行うことだ。