本文へ移動
情シスのミカタ
ニュース約3分で読めます

GitHub、setuptoolsに欠陥、Windowsで配置先外にファイル作成

GitHub Advisory Databaseに、setuptoolsのWindows向け処理の脆弱性が掲載されています。細工したwheelで配置先の外にファイルを作成できる問題です。対象経路と実行権限の確認点を整理します。

公開 情シスのミカタ編集部AIにより執筆チェック済み
文字
GitHub、setuptoolsに欠陥、Windowsで配置先外にファイル作成

この記事のまとめ

  • Windows上のsetuptoolsの従来型wheelインストール処理に欠陥。
  • 配置先の外に__init__.pyを作成可能。ただし内容は変更できません。
  • 対象バージョンと修正版は資料に記載がなく、利用経路と実行権限の確認が必要です。
こんな方に#20代#30代#40代#50代#60代実務

GitHub Advisory Databaseに、setuptoolsのWindows向け処理に関する脆弱性情報が掲載されています。細工したwheelを従来型の処理でインストールすると、本来の配置先の外にファイルを作成できる問題です。資料には掲載日がなく、対象バージョンや修正版も記載されていません。

Windowsの従来型インストール処理が対象

脆弱性の識別子は「GHSA-xmj3-9gf7-h52w」です。対象はWindows上のsetuptoolsによる従来型のwheelインストール処理で、問題の呼び出し経路は「Wheel.install_as_egg」から始まります。関連するソースファイルは「setuptools/wheel.py」です。

wheelは、パッケージを配布するための形式です。今回の問題では、その中にある「.dist-info/namespace_packages.txt」というメタデータが攻撃に使われます。ドライブ指定を含む絶対パスにより、本来の配置先が無視されます。

アドバイザリーによると、既存のwheel名やZIP内のパスの検査では、このメタデータを検証しません。確認すべきなのは、ファイル名の検査があるかだけではなく、該当するインストール経路を使っているかどうかです。

日本での提供は発表には書かれていません。国内環境を確認する際も、まず資料に示されたWindowsと処理経路の条件で切り分ける必要があります。

作成できるのは内容を変更できないファイル

作成されるファイル名は「init.py」です。攻撃者は作成先を左右できますが、ファイルの内容は変更できません。また、ファイル作成にはインストールを実行するプロセスの権限が使われます。

このため、配置先の問題と実行権限を分けずに確認することが重要です。インストール処理がどの権限で動くかは、書き込み可能な範囲を確認する手掛かりになります。一方、今回の資料から、任意の内容を書き込める問題と読み替えることはできません。

再現試験では、配置先の外へのファイル作成が例外なく完了しています。ただし、作成先の親ディレクトリが既に存在する必要がありました。処理がエラーなく終了したことだけでは、本来の配置先以外にファイルができていないとは判断できません。

影響する会社・しない会社

  • 影響する: Windowsでsetuptoolsの従来型wheelインストール処理を使い、Wheel.install_as_eggに至る環境がある会社です。開発担当や委託先に、利用経路の確認を依頼する必要があります。
  • 影響する: 上記の処理で外部から受け取ったwheelを扱う会社は、取得元とインストール実行権限を優先して確認する対象です。対象バージョンの範囲は発表には書かれていません。
  • 影響しない: Windows上で該当する処理を使う環境がない会社は、資料に示された発生条件には当たりません。ただし、特定のバージョンを安全と判断できる情報は資料にありません。

情シスが今日やること

  1. 今日中に、開発端末とビルド環境の資産台帳からWindows環境を洗い出します。開発責任者と委託先には、setuptoolsの有無だけでなく、従来型wheelインストール処理を使っているかを確認するよう依頼します。
  2. 該当する可能性がある環境では、ビルド設定やインストール用スクリプトを担当者と確認します。Wheel.install_as_eggに至る経路と、処理を実行するアカウント・権限を記録します。版番号だけで対象外にしないことが要点です。
  3. 次のインストール作業の前に、扱うwheelの取得元を確認します。検証担当には、通常の配置先だけでなく、その外に__init__.pyが作成されないかも確認項目へ加えるよう伝えます。
  4. 更新担当者には、識別子GHSA-xmj3-9gf7-h52wを共有し、対象版と修正版の情報を継続確認する役割を決めます。資料には更新期限も記載されていないため、社内の対応期限は、利用経路と実行権限の調査結果を踏まえて設定します。

出典・参考

このニュースは、公式発表と報道をもとに AI を使って作成し、出典と照らして確かめています。まちがいに気づいたら直し、更新日を改めます。

チェック済み。この記事は監修者によってチェックされました。(2026年10月24日)

執筆

情シスのミカタ編集部AIにより執筆

書いた AI: AI記者(ニュース)

企業・官公庁の公式発表を読み、事実を抜き出してから自分の言葉でニュースを書きます。記事には「影響する会社・しない会社」と「情シスが今日やること」を必ず入れます。書いた記事は別のAIが出典と照らして確かめ、通ったものだけを公開します。公式発表を読めない話題は、2つ以上の報道機関が伝えたものだけを「報道から」として書きます。使っているAI: OpenAI GPT-6.1 Sol。

監修

佐々木 航株式会社Game

代表取締役。工学部出身で、21歳で起業してからシステム会社の経営一筋で8期目。アプリの受託開発から始め、いまはAIを使ったシステムソリューションを手がけています。150社以上の企業とのプロジェクトで培った開発と情報システムの現場の経験と声を形にし、激動の時代を乗り越えたいと考えています。

メモ: 掲載時に自動で(しばらくの間)

記事は AI が書き、機械の検査と別の AI の校閲を通してから公開しています。人が見ているもの・見ていないものはAI の使い方に書いています。まちがいに気づいたら訂正・ご指摘からお知らせください。直したら、記事の最後に何を直したかを書きます。

役に立ったら、いいねと共有をお願いします