Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2022-21668-Pipenv-RCE-vulnerability — Pipenvのrequirements.txt解析における重大なRCE脆弱性CVE-2022-21668の詳細分析。バグコード、エクスプロイトの仕組み、修正の検証を含む。 | Kitploit
ツール/GitHubGitHub/sreeram281997/cve-2022-21668-pipenv-rce-vulnerability
脆弱性分析エクスプロイトウェブセキュリティサプライチェーンセキュリティ論文と研究学習と教育
GitHubsreeram281997/cve-2022-21668-pipenv-rce-vulnerability

CVE-2022-21668-Pipenv-RCE-vulnerability

Pipenvのrequirements.txt解析における重大なRCE脆弱性CVE-2022-21668の詳細分析。バグコード、エクスプロイトの仕組み、修正の検証を含む。

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
リポジトリを見る
114年前未レビュー

CVE-2022-21668-Pipenv-RCE-vulnerability

1. はじめに

この文書では、Pipenvの脆弱性(CVE-2022-21668)について詳しく説明します。以下のセクションでは、pipenv/utils.pyファイル内のバグコードについて説明し、これにより様々なRCE攻撃の扉が開かれます。また、SSL/TLS接続を検証し、信頼されたホストのリストに対してホスト名をチェックする最近の修正についても説明します。

1.1. リスト項目

Pipenv Pipenvは、プロジェクトのvirtualenvを自動的に作成・管理し、パッケージのインストール/アンインストールに伴いPipfileからパッケージを追加/削除するツールです。

詳細は こちら

1.2 requirements.txt

複雑なシステムを扱う場合には、requirements.txtファイルが必要です。このテキストファイルは、アプリケーションを別の環境に移植したい場合にも便利です。このファイルには、アプリケーションを正常に実行するために必要なすべてのパッケージ/依存関係とそのバージョン番号が含まれています。

サンプルのrequirements.txtファイル:

requirementsサンプル

画像ソース: https://www.idkrtm.com/what-is-the-python-requirements-txt/

requirements.txtファイルがない場合、パッケージバージョン間の互換性の問題が発生する可能性があるため、アプリケーションを別のシステムに正常に移植できない可能性があります。

2. CVE-2022-21668

Pipenvバージョン2018.10.9以降、バージョン2022.1.8より前のバージョンでは、pipenvのrequirementsファイルの解析における欠陥により、攻撃者がrequirements.txtファイル内の任意の場所のコメント内に特別に細工された文字列を挿入できるようになります。その結果、pipenvを使用してrequirementsファイルをインストールする被害者は、攻撃者が管理するパッケージインデックスサーバーから依存関係をダウンロードすることになります。このように非常に脆弱なシステムでは、RCE攻撃が非常に実行可能です。

cvedetailsはこの脆弱性を 重要/深刻 と評価しています。

cvedetailsからのCVSSスコア: CVSSスコア (出典: https://www.cvedetails.com/cve/CVE-2022-21668/)

3. コードのバグ

CVE-2022-21668のバグ この関数はrequirementsファイルの各行に対して反復的に呼び出され、argparseモジュールを使用して--index-url、--extra-index-url、--trusted-hostオプションを見つけて処理します。しかし、これらのオプションがコメント内に現れた場合でも無視しません。コードの問題は、ファイル内の任意の場所で"--index-url, --extra-index-url, and --trusted-host"で始まる文字列を解析してしまうことです。この機能により、より脆弱になっています。 詳細はこちら

4. RCEエクスプロイト

リモートコード実行(RCE)攻撃により、攻撃者はコンピュータ上でリモートから悪意のあるコードを実行できます。RCE脆弱性の影響は、マルウェアの実行から、攻撃者が侵害されたマシンを完全に制御できるようになるまで様々です。

攻撃者が、被害者がpipenvでインストールするrequirementsファイルに悪意のある --index-url オプションを隠すことができれば、攻撃者は悪意のあるインデックスサーバーから提供されるパッケージに任意の悪意のあるコードを埋め込み、インストール中に被害者のホスト上で実行させることができます(リモートコード実行/RCE)。この手法を使用したエクスプロイトは、Pythonの基本的な知識を持つ攻撃者にとって比較的簡単に達成できます。攻撃者はrequirementsファイルに指定された任意のパッケージのソース配布物をビルドし、setup.pyファイルに任意の悪意のあるコードを埋め込むだけでよいからです。pipがソース配布物からインストールするとき、setup.py内の任意のコードはインストールプロセスによって実行されます。

詳細はこちら

5. 修正

バージョン2022.1.8以降でこの問題は修正されました。pipenv/utils.pyファイルに新しい関数“get_host_and_port(url)”が追加されました。この関数は、requirements.txtファイルに記載されたURLのホストとポートを取得します。取得されたホストアドレスはurllib3を使用して解析され、内部的にSSL/TLS接続を検証します。ホストアドレスは、信頼されたホストアドレスのリストに対してもチェックされます。 CVE-2022-21668の修正 詳細はこちら

6. 影響

基本的な攻撃では、被害者が攻撃者の悪意のあるパッケージをインストールしたときにトリガーされる初期のRCEを利用して、被害者のホストから資格情報を盗み出したり、ホストのリソースを利用して暗号通貨を採掘したり、エクスプロイトキットやその他のマルウェアをインストールしたりする可能性があります。より高度な攻撃者は、より高度な技術を使用して被害者のホストへのアクセスを永続化したり、pipenvによって生成されたPipfileやPipfile.lock内の悪意のあるインデックスサーバーへの参照、その他の潜在的な侵害の痕跡を削除して攻撃の証拠を隠蔽・除去しようとするかもしれません。非常に高度な攻撃者は、最初に侵害されたホストからさらに多くのターゲットへとピボットしようと試みる可能性があり、侵害されたホスト環境内の露出した資格情報や、ホストに付与された暗黙の認可を利用して、ソースリポジトリやパッケージレジストリなどの他のシステムやリソースへの特権アクセスを得ようとするかもしれません。(出典:https://github.com/pypa/pipenv/security/advisories/GHSA-qc9x-gjcv-465w)

7. まとめ

  • コメントを適切に解析しないという解析エラーが、重大な脆弱性を生み出しました。

  • リスト項目 このような脆弱性を手にすれば、悪意のあるインデックスサーバーをセットアップして侵害されたパッケージバージョンを提供することは、洗練されていない攻撃者にとっても比較的簡単です。

追加リソース

  • FEDORA FEDORA-2022-508e460384
  • FEDORA FEDORA-2022-77ce20f03a
  • Merge pull request from GHSA-qc9x-gjcv-465w
  • 修正リリース
  • Pipenvのrequirements.txt解析により、コメント内での悪意のあるインデックスURLが許可される
ツールをダウンロード