概要
Black は Python の 著名 な コード フォーマッタ です。Black が 提供 する GitHub Action に は use_pyproject: true オプション が あり、リポジトリ の pyproject.toml から 使用 する Black の バージョン を 読み取ります。
悪意 ある PR が pyproject.toml を 編集 し、正規 の PyPI パッケージ では なく 外部 リポジトリ へ の ダイレクト URL 参照 を 指定 する こと で、GitHub Action の コンテキスト で 任意 コード を 実行 できる 状態 でした。これ に より、ワークフロー に 設定 された シークレット や パーミッション が 攻撃者 に 漏洩 する リスク が ありました。
CVSS ベクトル
| 項目 | 値 |
|---|---|
| CVSSスコア | 9.8 (Critical) |
| 攻撃元区分 | ネットワーク |
| 攻撃条件の複雑さ | 低 |
| 必要な特権レベル | なし |
| ユーザ関与 | なし |
| 機密性への影響 | 高 |
| 完全性への影響 | 高 |
| 可用性への影響 | 高 |
| CWE | CWE-20 (不適切な入力検証) |
影響 を 受ける ソフトウェア
| 製品 | ベンダー | 影響バージョン |
|---|---|---|
| Black GitHub Action | PSF (Python Software Foundation) | v26.3.0 未満 |
修正 バージョン と 回避策
- 修正: Black v26.3.0 で pyproject.toml から の URL 参照 を 検証 する よう 修正 されて います
- 推奨対策: Black GitHub Action を 使用 して いる 場合 は v26.3.0 以降 に アップデート して ください。
use_pyproject: trueを 使用 して いない 場合 は 影響 を 受けません - 一般的 な 対策: 外部 PR に 対して ワークフロー を 実行 する 場合、
pull_request_targetの 使用 に は 十分 な 注意 が 必要 です
関連リンク
データソース: NVD (NIST), GitHub Advisory Database AI解説は Claude API により自動生成されています。正確性については原文をご確認ください。
