
CVE-2025-11001 用エクスプロイト
本リポジトリでは、CVE-2025-11001に関する私の簡単な調査結果を提示します。エクスプロイトはPythonとastral uvプロジェクトマネージャで記述されています。
いくつか:
このセキュリティ上の欠陥の技術的詳細には深く立ち入りません。もし詳しく知りたい方は、pacbypassによる優れた根本原因分析を読み、GitHub上の修正差分を確認してください。以下は簡単な説明です。
問題はシンボリックリンクの処理メカニズムにあります。LinuxのシンボリックリンクをWindowsの絶対パス(例:C:\)に渡すと、そのリンクは相対パスとして扱われます。そのため、ファイルを展開するフォルダへの相対パスが、シンボリックリンクのパスの前に付加され、宛先パストラバーサルが可能になります。これにより、7-zipが書き込みを許可されている任意のファイルに書き込むことができます。
エクスプロイトは非常に単純です。対象ディレクトリを指すシンボリックリンクを追加し、ペイロードファイルを追加するだけです。リンクが最初に展開され、その後にペイロードファイルがそのシンボリックリンクに書き込まれ、任意のファイル書き込みが可能になります。
[!CAUTION] このPoCエクスプロイトの取り扱いには注意してください!出力アーカイブの解凍はテスト環境でのみ行ってください。
使用するには、まずexploit/resources/config.tomlを更新します:
[path]
# 出力パス(ターゲットzipファイル)
output = 'resource/output/result.zip'
# アーカイブに追加するファイルが入ったディレクトリ
source = 'path/to/some/dir'
# ターゲットディレクトリ(置き換えるファイルがあるディレクトリ)
target = 'C:\Windows\System32'
# ペイロード(元のファイルの代わりに配置されるファイル)
payload = 'C:\Windows\System32\calc.exe'
その後、以下を実行します:
uv run src/main.py
結果のzipファイルを確認してください。
脆弱な7-Zipビルド(ビルド < 25.0)を使用してWindows上でアーカイブを解凍すると、ターゲットファイルがペイロードに置き換えられます。アーカイブは正常に展開されますが、その中に隠し.zipフォルダ(悪意のあるリンクを含む)が含まれます。
I3r1h0n 制作。