Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain low-privileged FreePBX web credentials
-
DeliveryAuthenticate to Dashboard module
-
ExploitSend AJAX request to getcontent with traversal payload in rawname
-
ExecutionPHP include() resolves ../ sequences and loads target .class.php
-
PersistTop-level PHP in included file executes in FreePBX context
-
ImpactRead SIP/PBX configuration and pivot to toll fraud or call interception
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V5 - File Handling File inclusion prevention, allowlisting
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Command and Control The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires (1) network reachability to the FreePBX web administration interface, (2) a valid authenticated session at low privilege (PR:L in the CVSS vector - an unauthenticated request will not reach the vulnerable handler), (3) the Dashboard module being installed and enabled (it is enabled by default on standard FreePBX installs), and (4) the presence of a .class.php file on the filesystem whose top-level PHP code is useful to the attacker - this is the AT:P 'attack requirements present' factor and is almost always satisfied on a stock FreePBX server because of the many bundled module class files. Limiting factors: the PR:L requirement means anonymous internet scanners cannot exploit this directly, and the .class.php suffix appended by the include statement constrains which files can be targeted, so pure /etc/passwd-style disclosure is not the goal - the realistic outcome is PHP code execution by chaining traversal to an existing class file. |
| Impact | The CVSS 4.0 vector (AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:H/VA:N) yields a 7.6 score reflecting a network-reachable, low-complexity attack that requires low privileges and no user interaction, with high confidentiality and integrity impact but no availability impact - consistent with arbitrary file inclusion leading to information disclosure and code execution within the web tier rather than service crash. EPSS and KEV signals are not supplied for this CVE, and there is no public exploit identified at time of analysis, so this should be treated as a real but not-yet-mass-exploited priority. The PR:L requirement materially limits the blast radius - an attacker needs at least a low-privileged FreePBX user session - but this is a meaningful concern for any FreePBX instance with self-service or operator accounts, weak credentials, or internet-exposed admin GUIs, which is unfortunately common. The AT:P (attack requirements present) flag suggests successful exploitation depends on the presence of suitable .class.php files reachable via traversal, which on a standard FreePBX install is almost certainly satisfied. A conflict to flag: the description's emphasis on file inclusion implies practical RCE potential, but the CVSS vector marks VA:N (no availability impact), so defenders should not assume DoS resilience automatically rules out destructive follow-on actions. |
| Exploit ScenarioDerived | An attacker with any low-privileged FreePBX web account (for example, a basic operator login obtained via phishing, credential stuffing against an internet-exposed GUI, or a shared tenant account) sends a crafted POST to the Dashboard getcontent AJAX endpoint with rawname set to '../../../../path/to/attacker_controlled.class.php' or a writable system path. PHP resolves the traversal and include()s the target file, executing its top-level code in the FreePBX process before the class-not-found error surfaces, yielding arbitrary PHP execution and likely full read access to PBX configuration, SIP credentials, and call records. No public POC is currently identified, but the bug class is trivial to weaponize once an attacker locates a writable or attacker-influenced .class.php on the target. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – May 29, 2026
Local file inclusion in FreePBX versions prior to 16.0.22 and 17.0.5 allows authenticated remote attackers to include arbitrary .class.php files from the filesystem via path traversal in the Dashboard module's getcontent AJAX handler. The unsanitized $_REQUEST['rawname'] parameter is concatenated into a PHP include() call, and any included file's top-level code executes before the subsequent class instantiation fails. No public exploit identified at time of analysis and the issue is not listed in CISA KEV, but CWE-98 PHP file inclusion bugs are historically high-value targets in PBX systems exposed to the internet.
RemediationAI
Vendor-released patch: upgrade to FreePBX 16.0.22 or 17.0.5 (or later) per the GitHub Security Advisory at https://github.com/FreePBX/security-reporting/security/advisories/GHSA-hw7v-v2jp-wc4v, which removes the unsanitized include in the Dashboard module's getcontent handler. If patching cannot be applied immediately, compensating controls include restricting access to the FreePBX administrative web UI behind a VPN or IP allowlist so the AJAX endpoint is not reachable from untrusted networks, tightening web-user account hygiene (rotate credentials, disable unused low-privileged accounts since exploitation requires PR:L), and adding a WAF or reverse-proxy rule that blocks requests to the dashboard getcontent endpoint containing '../' or encoded traversal sequences in the rawname parameter - note this rule may break legitimate dashboard widgets that pass module names, so test before enforcing. Disabling the Dashboard module is a heavier mitigation that removes the attack surface entirely but degrades the operator experience and is generally only viable for headless deployments.
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 a widely deployed open-source web GUI built on top of Asterisk for managing IP PBX deployments, written predominantly in PHP. The vulnerability resides in the Dashboard module's getcontent AJAX endpoint, which constructs a dynamic include path by appending a '.class.php' suffix to user-supplied input from $_REQUEST['rawname'] without canonicalization or whitelist validation. This is a textbook CWE-98 (Improper Control of Filename for Include/Require Statement in PHP Program) issue: because '../' sequences are not stripped, an attacker can traverse outside the intended class directory and force PHP to require() any file on disk whose name ends in .class.php, with that file's top-level statements running in the FreePBX process context. The fix lines (16.0.22 and 17.0.5) and the CPE identifier cpe:2.3:a:freepbx:security-reporting indicate the patch landed through the FreePBX security-reporting repository, with the upstream advisory tracked at GHSA-hw7v-v2jp-wc4v.
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:P/PR:L/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N
Primary rating from Vendor (GitHub_M) · only source for this CVE.
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
FreePBX is an open source IP PBX. Prior to 16.0.22 and 17.0.5, the Dashboard module's getcontent AJAX handler includes PHP files based on user-supplied input without path sanitization. The $_REQUEST['rawname'] parameter is concatenated into an include() call with a .class.php suffix, allowing path traversal via ../ sequences to include arbitrary .class.php files from the filesystem. The included file's PHP code executes before the subsequent class instantiation error occurs. This vulnerability is fixed in 16.0.22 and 17.0.5.
Executive ViewAI
FreePBX versions prior to 16.0.22 and 17.0.5 contain a file inclusion vulnerability in the Dashboard module that allows authenticated attackers to execute arbitrary code on the telephony system. Organizations running affected versions face risk of unauthorized system access and call infrastructure compromise, with potential business continuity impact on voice communications.
No vendor-released patch identified at time of analysis. Interim mitigations: segment Dashboard module access through network controls and VPN authentication; implement strong authentication (multi-factor if available) for administrative accounts; enable detailed logging and alerting on PHP file inclusion patterns in web server and application logs; apply principle of least privilege to FreePBX service account permissions; disable Dashboard module if operationally feasible pending patch availability.
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
Local File Inclusion vulnerabilities occur when an application accepts user-controlled input to specify which file should be loaded or executed, typically through functions like PHP's `include()`, `require()`, or `fopen()`.
Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.
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-33297
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB