Security Flaw CVE-2024-6345 in Setuptools Exposes Python Projects to RCE
2024/07/15 SecurityOnline — Python プロジェクトのパッケージ化/配布/インストールにおいて、広範に使用されるライブラリ Setuptools に、深刻な脆弱性が発見された。この脆弱性 CVE-2024-6345 (CVSS:8.8) は、”package_index” モジュールに存在するものであり、システム上で RCE を引き起こす恐れがある。

PyPI などのパッケージ・インデックス・サーバとの通信を効率化する、Setuptools の “package_index” モジュールは、そのダウンロード関数を経由したコード・インジェクション攻撃に対して脆弱である。これらの関数は、指定された URL からパッケージを取得/インストールする重要なものである。ただし、ユーザーから提供される URL や、PyPI などの HTML ページから自動的に抽出される URL により、悪用される可能性は否定できない。
この脆弱性の影響は広範囲に及び、侵害されたバージョンの Setuptools を使用して Python プロジェクトをビルドする、すべてのシステムに影響を及ぼす。主なリスクは以下のとおりである:
- 影響を受けるパッケージ・インデックスを使用するシステムの標的化: 脆弱な “package_index” モジュールを使用して、プロジェクトを構築するシステムが、攻撃者の標的となる可能性がある。
- コマンドシェルへのアクセス: この脆弱性の悪用に成功した攻撃者に対して、コマンド・シェル・アクセスが許可され、侵害されたシステム上で任意のコマンド実行が可能となる。
- システムの完全な乗っ取り:最も深刻なリスクは、システムの完全な乗っ取りである。この脆弱性の悪用に成功した攻撃者は、機密データの操作/搾取に加えて、悪意のソフトウェアのインストールも可能になるため、通常のオペレーションの妨害にいたる恐れが生じる。
脆弱性 CVE-2024-6345 を発見/報告したセキュリティ研究者の CybrX は、詳細な技術分析と PoC エクスプロイト・コードを公開し、この問題の深刻さを強調している。
Python エコシステムにおける Setuptools はユビキタスな性質を持つため、無数のプロジェクトやシステムが、危険な状況に陥る可能性がある。Python プロジェクトをビルドするために、Setuptools のパッケージ・インデックス・システムを使用する全システムに、この脆弱性は潜んでいる。したがって、悪用に成功した攻撃者により、壊滅的な被害がもたらされる可能性がある。攻撃者はコマンドシェル・アクセスを取得し、機密データの流出/マルウェアのインストール/影響を受けたシステムの乗っ取りさえ可能になる。
Setuptools を使用している、すべてのユーザーと組織に強く推奨されるのは、バージョン 70.0 へと直ちにアップグレードすることだ。このアップデート・バージョンは、コード・インジェクションの脆弱性 CVE-2024-6345 に対処するための、修正が含まれている。
文中では PyPI を例にして説明されていますが、さまざまなリポジトリなどと連携する、あらゆる Python プロジェクトに影響が及ぶという、かなり深刻な状況となっています。この種の脆弱性を原因とする侵害が生じると、プロジェクトやリポジトリの汚染へとつながるため、その後の対応がとても厄介になります。すでに PoC も公開されています。ご利用のチームは、十分に ご注意ください。よろしければ、Python で検索も、ご利用ください。
You must be logged in to post a comment.