PoC Exploit for 7-Zip Vulnerabilities that Allows Remote Code Execution
2025/10/18 CyberSecurityNews — 人気ファイル・アーカイバ 7-Zip の深刻な脆弱性2件に対する、PoC エクスプロイトが公開された。この脆弱性を悪用する攻撃者は、細工された ZIP ファイルを介して、リモートで任意のコードを実行する可能性を得る。これらの脆弱性 CVE-2025-11001/CVE-2025-11002 (CVSS v3.0:7.0) は、2025年10月7日に Zero Day Initiative (ZDI) により公開された。Windows システムにおける ZIP 解凍時のシンボリック・リンクの不適切な処理に起因するものであり、当初の低リスク評価とは裏腹に、深刻な影響を与え得ることが明らかになった。

これらの問題が影響を及ぼす範囲は、7-Zip のバージョン 21.02~24.09 であり、シンボリック・リンク変換プロセスの欠陥によりパス・トラバーサル攻撃を引き起こすとされる。
7-Zip が Linux 形式のシンボリック・リンクを処理し、十分な保護策を講じずに Windows 形式のシンボリック・リンクへと変換する方法を、攻撃者は悪用できるという。
GMO Flatt Security の Ryota Shiga が発見した脆弱性に対して、セキュリティ専門家 pacbypass が共有した詳細な分析によると、これらのバグは ArchiveExtractCallback.cpp モジュールで、特に IsSafePath/CLinkLevelsInfo::Parse といった関数で発生するという。
シンボリック・リンクの脆弱性の解明
この問題の根本は、7-Zip の解凍ロジックがシンボリック・リンクのターゲットを適切に検証しない点にある。”C:\Users” のような Windows 絶対パスを指す、Linux シンボリック・リンクを含む ZIP ファイルを解凍する際に、この問題が発生する。具体的に言うと、Linux/WSL 環境向けに設計された絶対パス・チェックに問題が発生し、相対パスとして誤認識されてしまう。その結果として、IsSafePath の安全チェックが回避され、解凍ディレクトリ外でシンボリック・リンクが解決されるという可能性が生じる。
さらに SetFromLinkPath でのシンボリック・リンク作成時に、7-Zip はターゲットに解凍フォルダのパスを接頭辞として付加するため、検証を回避する相対パスが生成される。その後の CloseReparseAndFile チェックでは、非ディレクトリに対するディレクトリ固有の精査が省略されるため、シンボリック・リンクが任意の場所を指すことが可能となる。これらの脆弱性を解消するバージョン 25.00 のパッチでは、isWSL フラグ付きの新規 IsSafePath オーバーロードと絶対パスを正しく検出するための、解析機能の改良が導入されている。
上記の分析は、GitHub 上のバージョン 24.09/25.00 の差分に基づいており、シンボリック・リンク・サポートの再設計が確認されている。1つ目の CVE では直接的なパス・トラバーサルが標的化される可能性が高い。2つ目の CVE は、UNC パスのシンボリック・リンクに関連するものであり、ネットワーク接続された環境でのリスクを増大させる。
これらの脆弱性を悪用する前提として、最初にシンボリック・リンクを展開する必要がある。その後に、デスクトップ/システム・ディレクトリなどの機密性の高い場所へと、悪意のファイルをリダイレクトする ZIP を作成する必要がある。
たとえば、悪意のアーカイブ・シナリオとして挙げられるのは、link というシンボリック・リンクを作成し、それにより “C:\Users%Username%\Desktop” を指すようにした後に、calc.exe のようなペイロードを配置するという流れである。解凍後の 7-Zip が、リンクをたどって実行ファイルをターゲットへ書き込み、ユーザーに実行させるとコード実行の可能性が生じる。
pacbypass の GitHub リポジトリに公開されている PoC は、シンボリック・リンクを逆参照するディレクトリ構造を展開することで、任意のファイル書き込みが可能であることを実証している。なお、この脆弱性を悪用するには、昇格された権限/開発者モード/昇格されたサービス・コンテキストが必要であり、その攻撃手法は、広範なフィッシング乱発ではなく標的型攻撃に限定される。この PoC の動作環境は Windows のみであり、Linux/macOS では機能しない。
緩和策
ユーザーに対して強く推奨されるのは、これらの問題を包括的に修正した、7-Zip バージョン 25.00 へと速やかにアップデートすることだ。回避策として挙げられるのは、解凍時におけるシンボリック・リンク・サポートの無効化および、ウイルス対策ツールによるアーカイブ・スキャンとなる。
これまでの 7-Zip は、ディレクトリ・トラバーサルなどの脆弱性に脅かされ、アーカイブ・ハンドラにおける継続的なリスクを浮き彫りにしてきた。PoC が公開されたことで、フィッシングを初期アクセスに用いる攻撃者が、この脆弱性を悪用する可能性が高まっている。7-Zip を一括解凍に利用する組織が強化すべきは、ワークフローと異常なファイル書き込みの検出である。
今回の 7-Zip 脆弱性ですが、シンボリック・リンク処理の検証不足に原因があります。Linux 形式のリンクを Windows 形式に変換する際に、絶対パスと相対パスの扱いが誤認され、IsSafePath/CLinkLevelsInfo::Parse/SetFromLinkPath といった処理で安全性チェックが回避されてしまうようです。さらに CloseReparseAndFile 側でのディレクトリ/非ディレクトリ判定の省略が重なり、解凍時に意図しないパス解決や外部への書き込みが可能になってしまうと、この記事は指摘しています。ご利用のチームは、ご注意ください。よろしければ、7-Zip で検索を、ご参照ください。
You must be logged in to post a comment.