CVE-2026-26331
yt-dlp: --netrc-cmd オプション使用時の任意コマンドインジェクション
- 公開済み
- 2026/02/24
- 更新済み
- 2026/02/24
- CNA の割り当て
- GitHub_M
- 観察された証拠
- 2026/08/25
プライマリ CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H低 · 今後 30 日間
- パーセンタイル
- 74.2%
- モデルの日付
- 2026/09/21
EPSS は統計的な推定値であり、確実性や影響の尺度ではありません。 CVSS、KEV ステータス、暴露、環境と組み合わせます。
概要
yt-dlp は、コマンドラインで動作する音声・動画ダウンローダーです。バージョン 2023.06.21 以降、バージョン 2026.02.21 より前のバージョンにおいて、yt-dlp の `--netrc-cmd` コマンドラインオプション(または Python API パラメータ `netrc_cmd`)を使用している場合、悪意を持って細工された URL によって、攻撃者がユーザーのシステム上で任意のコマンドインジェクションを引き起こす可能性があります。yt-dlp のメンテナは、コマンドや設定ファイルで `--netrc-cmd` を使用するユーザー、または Python スクリプトで `netrc_cmd` を使用するユーザーにとって、この脆弱性の影響は大きいと想定しています。悪意を持って細工された URL 自体は多くのユーザーにとって非常に怪しく見えるかもしれませんが、一見無害な URL を持つ悪意のあるウェブページが HTTP リダイレクトを介してこの脆弱性をこっそりと悪用することは容易です。引数に `--netrc-cmd` を含まないユーザーや、スクリプトに `netrc_cmd` を含まないユーザーは影響を受けません。このエクスプロイトが実際に悪用されたという証拠は見つかっていません。yt-dlp バージョン 2026.02.21 では、すべての netrc の "machine" 値を検証し、予期しない入力があった場合にエラーを発生させることでこの問題を修正しています。回避策として、アップグレードできないユーザーは、`--netrc-cmd` コマンドラインオプション(または Python API パラメータ `netrc_cmd`)の使用を避けるか、少なくとも `--netrc-cmd` 引数にプレースホルダー(`{}`)を渡さないようにする必要があります。
ソース
1概念実証コード。yt-dlpの`--netrc-cmd`オプションを介した任意のコマンドインジェクションを実証し、影響を受けるバージョンにおいてURL内のシェルメタ文字を悪用してコマンドを実行します。
責任ある使用
脆弱性情報は、自分が所有しているシステム、またはテストを許可されているシステムでのみ使用してください。 Kitploit は公開研究メタデータにリンクしており、エクスプロイト コードや悪意のあるペイロードは保存しません。