Python Setuptools ライブラリの脆弱性 CVE-2024-6345 が FIX:PoC も公開される

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 プロジェクトをビルドする、すべてのシステムに影響を及ぼす。主なリスクは以下のとおりである:

  1. 影響を受けるパッケージ・インデックスを使用するシステムの標的化: 脆弱な “package_index” モジュールを使用して、プロジェクトを構築するシステムが、攻撃者の標的となる可能性がある。
  2. コマンドシェルへのアクセス: この脆弱性の悪用に成功した攻撃者に対して、コマンド・シェル・アクセスが許可され、侵害されたシステム上で任意のコマンド実行が可能となる。
  3. システムの完全な乗っ取り:最も深刻なリスクは、システムの完全な乗っ取りである。この脆弱性の悪用に成功した攻撃者は、機密データの操作/搾取に加えて、悪意のソフトウェアのインストールも可能になるため、通常のオペレーションの妨害にいたる恐れが生じる。

脆弱性 CVE-2024-6345 を発見/報告したセキュリティ研究者の CybrX は、詳細な技術分析と PoC エクスプロイト・コードを公開し、この問題の深刻さを強調している。

Python エコシステムにおける Setuptools はユビキタスな性質を持つため、無数のプロジェクトやシステムが、危険な状況に陥る可能性がある。Python プロジェクトをビルドするために、Setuptools のパッケージ・インデックス・システムを使用する全システムに、この脆弱性は潜んでいる。したがって、悪用に成功した攻撃者により、壊滅的な被害がもたらされる可能性がある。攻撃者はコマンドシェル・アクセスを取得し、機密データの流出/マルウェアのインストール/影響を受けたシステムの乗っ取りさえ可能になる。

Setuptools を使用している、すべてのユーザーと組織に強く推奨されるのは、バージョン 70.0 へと直ちにアップグレードすることだ。このアップデート・バージョンは、コード・インジェクションの脆弱性 CVE-2024-6345 に対処するための、修正が含まれている。