Python packages are also vulnerable to the Node2Shell Brotli flaw (CVE-2026-111497)
【なぜ重要か】 Node.jsで発見されたBrotliデコーダーの脆弱性(CVE-2026-111497、通称Node2Shell)は、PythonのPyPIパッケージ「Brotli」および「brotlicffi」にも同様に影響する。月間8,280万ダウンロードを誇るBrotliは、requestsやhttpxなどの主要HTTPクライアントが自動的に利用するため、自分のコードでBrotliを直接イ...
【なぜ重要か】 Node.jsで発見されたBrotliデコーダーの脆弱性(CVE-2026-111497、通称Node2Shell)は、PythonのPyPIパッケージ「Brotli」および「brotlicffi」にも同様に影響する。月間8,280万ダウンロードを誇るBrotliは、requestsやhttpxなどの主要HTTPクライアントが自動的に利用するため、自分のコードでBrotliを直接インポートしていないプロジェクトも影響を受ける可能性がある。CVSSスコアは4.0基準で9.2と高く、メモリ安全性に関わる欠陥であるため、早急な対応が求められる。
【ポイント】
DecodeBlockTypeAndLength()関数が返す真偽値では「不正なストリーム」と「入力待ち」を区別できず、細工されたBrotliストリームにより境界外書き込み(CWE-787)が発生しうる。Content-Encoding: brで圧縮されたインバウンドリクエストボディをアプリが処理する場合。Accept-Encoding: brを除去・Content-Encoding: brを拒否する方法もあるが、悪意あるサーバーはリクエストヘッダーに関わらずBrotliレスポンスを返せるため、アウトバウンド通信に対しては完全な保護にならない。【まとめ】
Pythonを利用しているすべての環境(ラップトップ・CIランナー・サーバー・コンテナ)で、pip show Brotli brotlicffiによるバージョン確認とpip install -Uによる即時アップグレードを実施し、コンテナイメージも再ビルドすること。自動スキャンツールでは現時点で検出されないため、手動での確認が必須。
原文を読む
Aikido Security Blog
英語で詳細な技術情報を確認