Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain FreePBX account with API-module authorization
-
DeliverySend GraphQL doc-generator request with malicious host param
-
ExploitInjected shell metacharacters bypass unescaped host handling
-
ExecutionCommands execute as asterisk service user
-
ImpactFull PBX host compromise
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization OS command sanitization, avoid shell exec
MITRE ATT&CK
2 techniques across 1 tactic: Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires an authenticated FreePBX account that is specifically authorized to access the GraphQL API module interface - the description states 'Authenticated access to the api module is required,' so this is not remotely exploitable by anonymous users. The exploitable feature is the PBX API module's documentation generator, which passes an attacker-controlled 'host' parameter into a shell command without validation or escaping (OAuth token validation occurs but does not restrict host). Limiting factors: the attacker must already hold API-module authorization (PR:H) and the GraphQL API module must be enabled/exposed; installations that do not grant API access to untrusted users or that run only vetted operators materially reduce exposure. Affected versions are prior to 17.0.9; patched in 17.0.9. |
| Impact | This is a genuine authenticated RCE (CWE-78) in FreePBX's PBX/GraphQL API documentation generator, but its real-world risk is moderated by the privilege requirement. The vendor CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:H/UI:N, VC/VI/VA:H) scores 8.6 and correctly reflects that no user interaction is needed and impact is full compromise, but PR:H means the attacker must already hold an account authorized to reach the API module - not an anonymous internet attacker. No EPSS score, no CISA KEV listing, and no public POC were provided, so there is no public exploit identified at time of analysis and no evidence of active exploitation; this reads as a real but not urgent, priority-2 issue rather than a high-CVSS-but-low-risk theoretical bug. The technical impact is high (arbitrary shell command execution as the asterisk service user), and automatability is plausible once credentials exist, but the PR:H gate keeps it from mass, opportunistic exploitation. Note a metadata caveat: the affected-product CPE (cpe:2.3:a:freepbx:security-reporting) and the 'Security Reporting' tag reference the GitHub advisory repository name, not the vulnerable PBX API/GraphQL component - verify the affected component against the vendor advisory. |
| Exploit ScenarioDerived | An attacker with valid FreePBX credentials authorized to use the GraphQL API module (or a lower-privilege user who has escalated to such access) invokes the API documentation generator and supplies a crafted 'host' parameter containing shell metacharacters. Because the code validates the OAuth access token but never escapes or validates 'host', the injected commands execute as the asterisk web/PBX service user. No public exploit code was identified at time of analysis. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 28, 2026
Authenticated command injection in FreePBX prior to 17.0.9 allows a user who is authorized to access the GraphQL API module interface to execute arbitrary shell commands on the PBX host, running as the web/PBX service account (typically 'asterisk'). The flaw sits in the PBX API module's documentation generator, which accepts a caller-supplied 'host' parameter and interpolates it into a shell command; the code validates the generated OAuth access token before execution but never validates or escapes the host value. Exploitation requires a pre-existing, privileged account with API-module authorization (CVSS:4.0 PR:H, our assessment CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H), which materially limits exposure; no public exploit code or confirmed active exploitation was identified at time of analysis, and the vendor-released fix is version 17.0.9.
RemediationAI
Upgrade FreePBX to version 17.0.9 or later, the vendor-released patch for this command injection; refer to the advisory at https://github.com/FreePBX/security-reporting/security/advisories/GHSA-79rg-3xp6-rqq6 for the authoritative module-level fix. If immediate upgrade is not possible, apply compensating controls that match the actual attack path: disable or uninstall the PBX API / GraphQL API module if it is not required (trade-off: any integrations or automation relying on the API stop working), and where the module is required, remove API-module authorization from all accounts that are not trusted administrators, since exploitation requires PR:H credentials. Additionally, restrict network reachability of the GraphQL API endpoint to trusted management networks via firewall or reverse-proxy allow-listing (trade-off: legitimate remote API clients must be re-homed or tunneled), and review logs for unexpected OAuth token generation paired with documentation-generator requests carrying shell metacharacters in the 'host' parameter. Rotating credentials and tokens for any account with API-module access is advisable if suspicious activity is detected, and because the command executes as the 'asterisk' service user, verify PBX configuration integrity and outbound network activity after any suspected compromise. No vendor-released patch alternative is documented beyond upgrading to 17.0.9, and no public exploit code was identified at time of analysis, so aggressive monitoring plus privilege reduction and endpoint restriction are the most effective interim measures.
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
The root cause is OS command injection (CWE-78) in FreePBX, an open-source PHP-based IP PBX built on Asterisk. The vulnerable component is the PBX API module's documentation generator reachable through the GraphQL API interface: the generator takes an authenticated 'host' parameter supplied by the caller and uses it to build a shell command. Although an OAuth access token is generated and validated before the command is executed, that control only gates access to the code path - it does not sanitize the 'host' value, so shell metacharacters in the parameter are interpreted by the underlying shell. Successful injection yields arbitrary command execution in the security context of the FreePBX web/PBX service user, typically 'asterisk', which on standard installations has read/write access to PBX configuration and call-routing data. Version 17.0.9 is the first release containing the fix. Note that the supplied CPE string maps the affected component to cpe:2.3:a:freepbx:security-reporting:*:*:*:*:*:*:*:* and the advisory is published under the FreePBX security-reporting repository (GHSA-79rg-3xp6-rqq6), so the exact module packaging should be confirmed against the vendor advisory when scoping inventory.
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:H/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
Network-reachable API with low complexity and no user interaction, but requires an account authorized to the API module (PR:H); command execution as the service user yields full C/I/A with unchanged scope.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
FreePBX is an open source IP PBX. Prior to version 17.0.9, authenticated users who are authorized to access the GraphQL api module interface of FreePBX are able to execute arbitrary shell commands. Authenticated access to the api module is required. The PBX API module's documentation generator accepts an authenticated host parameter and uses it to build a shell command. The code path validates the generated OAuth access token before execution, but it does not validate or escape host. Compromise results in authenticated arbitrary shell command execution as the FreePBX web/PBX service user (typically asterisk.). This issue has been patched in version 17.0.9.
Technical POC Analysis
CWE-78 (Improper Neutralization of Special Elements used in an OS Command).
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
A command injection flaw in FreePBX, the open-source PBX platform used widely for organizational voice and contact-center services, lets a user who already holds an API-authorized account run arbitrary commands on the PBX host under the web/PBX service account. Because a compromised PBX can expose call recordings, voicemail, extension credentials and PSTN connectivity, the potential blast radius extends to telephony integrity and sensitive communications data, not just a single server. Exploitation is constrained by the prerequisite of a pre-existing privileged API account, and no public exploit or active exploitation has been identified, so this is a manageable but urgent hardening priority rather than an emergency incident.
No vendor-released patch confirmed in the vulnerability data at time of analysis, although the advisory references FreePBX 17.0.9 as the fixed version - verify and deploy that release where available. Interim mitigations: revoke or tightly limit GraphQL API-module authorization so only essential privileged accounts retain it; require MFA and strong unique credentials for those accounts; restrict API and administrative interfaces to trusted management networks or VPN rather than internet exposure; monitor PBX host logs and the asterisk service account for unexpected process execution; and take a verified backup of PBX configuration before any change.
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
OS command injection occurs when an application passes unsanitized user input directly into system shell commands.
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-88391
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB