Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessPlace inbound SIP call with malicious Caller ID name
-
DeliveryLet call ring monitored extension unanswered
-
Exploitmissedcallnotify.php builds unescaped INSERT
-
ExecutionInjected SQL executes on FreePBX database
-
PersistModify administrator account record
-
ImpactLog in and seize PBX control
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Parameterized queries, prepared statements
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Persistence The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires that the FreePBX 'missedcall' module be installed and that the target system can receive an inbound SIP call which reaches a monitored extension; the attacker must control the Caller ID name (SIP From-header display name), which is trivial to spoof on many SIP trunks. The specific trigger is that the call must go UNANSWERED so the missed-call notification path (agi-bin/missedcallnotify.php) executes the vulnerable INSERT. No authentication is required (CVSS PR:N confirms unauthenticated). Limiting factors: the injection does not fire on answered calls, the missedcall module must be present and configured with at least one monitored extension, only affected versions (16.0.0-16.0.10, 17.0.0-17.0.3) are vulnerable, and the attacker needs a route to deliver a SIP call with an arbitrary From display name to the PBX. |
| Impact | This is a genuine high-priority issue rather than an inflated high-CVSS score. The CVSS 4.0 vector AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H (9.3) indicates fully remote, low-complexity, unauthenticated exploitation with high confidentiality, integrity, and availability impact on the vulnerable system, and the description independently corroborates this - an unauthenticated caller triggers the flaw simply by placing a call. The one nuance limiting fully automated mass exploitation is the trigger condition: the injection fires only when a monitored extension goes unanswered, so an attacker must place a call that rings out rather than hitting an endpoint directly. No EPSS score, KEV entry, or published POC is present in the provided data, so exploitation is currently theoretical-but-straightforward; the public fixing commits materially lower the bar to weaponization by disclosing the exact vulnerable sink. Absence of EPSS/KEV data means real-world exploitation prevalence is unknown, not zero - treat as urgent given the low skill required and the stated outcome of administrator account takeover. |
| Exploit ScenarioDerived | An attacker places an inbound SIP call to the target FreePBX system with a maliciously crafted Caller ID name (SIP From display name) containing SQL syntax, and lets the call ring a monitored extension until it goes unanswered. When missedcallnotify.php logs the missed call, the injected SQL executes against the FreePBX database, allowing the attacker to modify an administrator account and subsequently log into the web GUI for full control. No authentication or user interaction is required (AV:N/AC:L/PR:N/UI:N), though no public POC is identified at time of analysis. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 13, 2026
SQL injection in the FreePBX missedcall module (versions 16.0.0 through 16.0.10 and 17.0.0 through 17.0.3) lets an unauthenticated caller inject SQL via a crafted SIP From-header Caller ID name that is written unescaped into the missedcalllog INSERT in agi-bin/missedcallnotify.php. When a monitored extension goes unanswered, the injected payload executes against the FreePBX database, enabling corruption of records and modification of administrator accounts to gain unauthorized remote admin access. Rated CVSS 4.0 9.3; no public exploit identified at time of analysis, though the fixing commits are public and clearly reveal the vulnerable code path.
RemediationAI
Vendor-released patch: upgrade the FreePBX missedcall module to version 16.0.11 (for the 16.x branch) or 17.0.4 (for the 17.x branch), which replace the vulnerable string-concatenated INSERT with a parameterized prepared statement; the fixes are in commits https://github.com/FreePBX/missedcall/commit/4ada1d6b280fc246e74babc8d52f4cd1509eff24 and https://github.com/FreePBX/missedcall/commit/710acdf51968db507b3f9c47ce3db006846cf44c, and the advisory is at https://github.com/FreePBX/security-reporting/security/advisories/GHSA-g27h-xf3q-h3rm. If immediate patching is not possible, compensating controls include disabling or uninstalling the missedcall module (trade-off: loss of missed-call notification functionality), restricting inbound SIP trunks to trusted providers and enforcing strict Caller ID name validation/normalization at the SIP ingress or SBC to strip SQL metacharacters from the From-header display name (trade-off: may alter legitimate display names), and placing the PBX behind an SBC/firewall so untrusted callers cannot reach monitored extensions (trade-off: does not protect against calls routed through legitimate trunks). Because the outcome is admin account takeover, also audit FreePBX administrator accounts and the missedcalllog table for tampering after patching.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
FreePBX is an open-source PHP-based web GUI and configuration layer for the Asterisk IP PBX. The affected component is the standalone 'missedcall' module, specifically the AGI (Asterisk Gateway Interface) script agi-bin/missedcallnotify.php that Asterisk invokes when a call to a monitored extension is not answered. This is a classic CWE-89 (SQL Injection) defect: the script interpolates the caller-supplied calleridname value directly into an INSERT statement string ('...VALUES('\$mcexten','\$mcname',...)') with neither escaping nor parameter binding. Because the Caller ID name originates from the SIP From header of the inbound call, it is fully attacker-controlled data that reaches the SQL layer of the FreePBX MySQL/MariaDB database. The CPE cpe:2.3:a:freepbx:missedcall:*:*:*:*:*:*:*:* confirms the missedcall module as the vulnerable product. The vendor fix (commits 4ada1d6 and 710acdf) replaces the string-concatenated query with a prepared statement using bound parameters via \$freepbx->Database->prepare()->execute().
Know when Freepbx gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
Unauthenticated remote caller controls the SIP From name reaching the SQL sink (AV:N/PR:N/UI:N); low complexity as no special evasion is needed, and SQLi yields full DB read/write leading to admin takeover (C/I/A:H).
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
FreePBX is an open source IP PBX. From 16.0.0 until 16.0.11 and 17.0.4, the FreePBX missedcall module places the inbound Caller ID name from crafted SIP From headers into the missedcalllog INSERT in agi-bin/missedcallnotify.php without escaping or bound parameters. An unauthenticated caller can inject SQL when a monitored extension goes unanswered, corrupting the database and modifying FreePBX administrator accounts to obtain unauthorized remote access. This issue is fixed in versions 16.0.11 and 17.0.4.
Executive ViewAI
A critical SQL injection vulnerability in FreePBX missedcall module versions 16.0.0-16.0.10 and 17.0.0-17.0.3 allows unauthenticated attackers to compromise database integrity and escalate to unauthorized administrative access via inbound SIP calls. Any organization running affected versions faces immediate risk of voice system takeover, administrative credential theft, and unauthorized modifications to call routing or user access controls. Without urgent mitigation, an attacker can silently corrupt call records, create or modify administrator accounts, and gain complete control over the PBX system.
No vendor-released patch identified at time of analysis. Interim mitigations: (1) Restrict inbound SIP access to a whitelist of trusted networks or implement rate-limiting on anonymous SIP connections; (2) Deploy Web Application Firewall rules or database input validation filters to block SQL injection patterns in SIP From-header Caller ID fields; (3) Enable comprehensive audit logging for all database write operations, particularly missedcalllog and administrative account tables; (4) Conduct immediate audit of all administrative account credentials and restrict access to administrative functions; (5) Monitor system logs and database activity for suspicious patterns including failed SQL statements, unauthorized account modifications, or unexpected database record changes.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
SQL injection exploits the way applications construct database queries by mixing user input directly into SQL statements.
FreePBX 15, 16, and 17 contain SQL injection vulnerabilities enabling unauthenticated access to the administrator interf
The callme_startcall function in recordings/misc/callme_page.php in FreePBX 2.9, 2.10, and earlier allows remote attacke
admin/libraries/view.functions.php in FreePBX 2.9 before 2.9.0.14, 2.10 before 2.10.1.15, 2.11 before 2.11.0.23, and 12
htdocs_ari/includes/login.php in the ARI Framework module/Asterisk Recording Interface (ARI) in FreePBX before 2.9.0.9,
Authenticated arbitrary file upload in the FreePBX Endpoint Manager module (FreePBX 16 before 16.0.92 and FreePBX 17 bef
Authenticated SQL injection in the FreePBX Endpoint Manager module allows a user holding a valid, known FreePBX username
Authentication bypass in the FreePBX Endpoint Manager module lets remote, unauthenticated attackers impersonate any targ
Sangoma FreePBX 115.0.16.26 and below, 14.0.13.11 and below, 13.0.197.13 and below have Incorrect Access Control. Rated
Sangoma Technologies FreePBX before cdr 15.0.18, 16.0.40, 15.0.16, and 16.0.17 was discovered to contain an access contr
FreePBX 10.13.66-32bit and 14.0.1.24 (SNG7-PBX-64bit-1712-2) allow post-authentication SQL injection via the order param
Multiple cross-site scripting (XSS) vulnerabilities in FreePBX 2.9 and earlier allow remote attackers to inject arbitrar
An issue was discovered in Manager 13.x before 13.0.2.6 and 15.x before 15.0.6 before FreePBX 14.0.10.3. Rated medium se
EUVD-2026-58486
NVD
CVE.org
EPSS
Vulnrichment
GitHub
VulDB
Exploit-DB