
CVE-2026-21436の概念実証エクスプロイト。Solus OSのeopkgパッケージマネージャーにおけるパストラバーサルを実証し、パッケージインストール中に任意のファイル書き込みを可能にします。
Solus OSのパッケージマネージャーであるeopkg <= 4.3.4は、.eopkg拡張子のパッケージをインストールする際、パッケージ内容に含まれる絶対パスを持つファイルを、指定されたディレクトリに直接書き込みます。
パッケージを特定のディレクトリにインストールするために使用される--destdirパラメータを使用しても、パッケージ内の../(トラバーサル)文字によってこの制限を回避でき、攻撃者が作成したファイルをシステム上の任意のディレクトリに書き込むことができます。eopkgツールはパッケージのインストール時にroot権限で動作するため、システム上の既存ファイルへの上書きも可能です。
脆弱性が発生する原因は、eopkgがパッケージを展開する際にPythonの.extract()メソッドでfilterパラメータを使用していないこと、または何らかの方法でファイルパスを検証していないことです。
$ git clone https://github.com/osmancanvural/CVE-2026-21436/
$ cd CVE-2026-21436
.eopkg拡張子のファイルをダウンロードします。install.tar.xzアーカイブの内容をフォルダに展開します。tarcontent$ python3 archiveCreator.py
malicious-install.tar.xzファイルの名前をinstall.tar.xzに変更し、元のパッケージ内のファイルと置き換えます。/tmp/hello.txtファイルが作成されていることを確認できます。注: ターゲットディレクトリとファイルの内容を変更するには、archiveCreator.pyファイルとtarcontentフォルダを編集できます。