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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Primary rating from GitHub Advisory · only source for this CVE.
CVSS VectorGitHub Advisory
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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Lifecycle Timeline
3DescriptionGitHub Advisory
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.
AnalysisAI
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.
Technical ContextAI
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.
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.
sapi/cgi/cgi_main.c in PHP before 5.3.12 and 5.4.x before 5.4.2, when configured as a CGI script (aka php-cgi), does not
(1) boardData102.php, (2) boardData103.php, (3) boardDataJP.php, (4) boardDataNA.php, and (5) boardDataWW.php in Netgear
ProjectSend versions prior to r1720 are affected by an improper authentication vulnerability. Rated critical severity (C
Roundcube Webmail contains a critical PHP object deserialization vulnerability (CVE-2025-49113, CVSS 9.9) that allows au
Util/PHP/eval-stdin.php in PHPUnit before 4.8.28 and 5.x before 5.6.3 allows remote attackers to execute arbitrary PHP c
Palo Alto Networks PAN-OS management web interface contains an authentication bypass allowing unauthenticated attackers
Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re
Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re
The get_referers function in /opt/ws/bin/sblistpack in Sophos Web Appliance before 3.7.9.1 and 3.8 before 3.8.1.1 allows
The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1
NetAlertX (formerly PiAlert) versions 23.01.14 through 24.x before 24.10.12 allow unauthenticated command injection thro
The GiveWP - Donation Plugin and Fundraising Platform plugin for WordPress is vulnerable to PHP Object Injection in all
Same weakness CWE-98 – PHP Remote File Inclusion
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-33297