Skip to main content

Freepbx CVE-2026-40520

| EUVDEUVD-2026-24086 HIGH
OS Command Injection (CWE-78)
2026-04-21 VulnCheck GHSA-h2vx-h73q-6q6w
8.6
CVSS 4.0 · Vendor: VulnCheck
Share

Severity by source

Vendor (VulnCheck) PRIMARY
8.6 HIGH
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/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 Vendor (VulnCheck) · only source for this CVE.

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Privileges Required
High
User Interaction
None
Scope
X

Lifecycle Timeline

7
Re-analysis Queued
Apr 21, 2026 - 16:22 vuln.today
cvss_changed
Analysis Generated
Apr 21, 2026 - 13:33 vuln.today
CVSS changed
Apr 21, 2026 - 13:22 NVD
7.2 (HIGH) 8.6 (HIGH)
EUVD ID Assigned
Apr 21, 2026 - 13:15 euvd
EUVD-2026-24086
Analysis Generated
Apr 21, 2026 - 13:15 vuln.today
Patch released
Apr 21, 2026 - 13:15 nvd
Patch available
CVE Published
Apr 21, 2026 - 12:41 nvd
HIGH 8.6

DescriptionCVE.org

FreePBX api module version 17.0.8 and prior contain a command injection vulnerability in the initiateGqlAPIProcess() function where GraphQL mutation input fields are passed directly to shell_exec() without sanitization or escaping. An authenticated user with a valid bearer token can send a GraphQL moduleOperations mutation with backtick-wrapped commands in the module field to execute arbitrary commands on the underlying host as the web server user.

AnalysisAI

Command injection in FreePBX API module 17.0.8 and earlier allows authenticated attackers with valid bearer tokens to execute arbitrary operating system commands as the web server user via malicious GraphQL mutations. The initiateGqlAPIProcess() function passes unsanitized GraphQL moduleOperations mutation input directly to shell_exec(), enabling backtick-wrapped command execution. While requiring high privileges (PR:H), the vulnerability provides complete system compromise within the web server context (CVSS 8.6). Vendor patch available via GitHub commit 5f194e39. No public exploit code or active exploitation confirmed at time of analysis.

Technical ContextAI

FreePBX is an open-source web-based GUI for managing Asterisk PBX systems. The vulnerability resides in the API module's GraphQL implementation, specifically in the initiateGqlAPIProcess() function within ApiGqlHelper.class.php. This function accepts GraphQL mutation input for module operations and passes field values directly to PHP's shell_exec() without input validation, escaping, or sanitization. The CWE-78 (OS Command Injection) flaw occurs when the module field containing backtick-enclosed commands is interpolated into shell commands. The affected CPE (cpe:2.3:a:freepbx:api:*:*:*:*:*:*:*:*) indicates all versions through 17.0.8 of the FreePBX API module contain this flaw. GraphQL's flexible mutation syntax combined with bearer token authentication creates an authenticated remote code execution primitive that bypasses traditional web application firewalls focused on REST API patterns.

RemediationAI

Apply the vendor-released patch available in GitHub commit 5f194e39a47e5481e8947f9694304d32724175f6 (https://github.com/FreePBX/api/commit/5f194e39a47e5481e8947f9694304d32724175f6). This commit addresses the command injection by implementing proper input sanitization in the initiateGqlAPIProcess() function. Upgrade to FreePBX API module version 17.0.9 or later once a tagged release incorporating this fix is published. As interim mitigation if patching is delayed: (1) restrict network access to the FreePBX GraphQL API endpoint to trusted management networks only via firewall rules or reverse proxy ACLs - this reduces attack surface but does not eliminate insider threat risk, (2) audit and rotate all bearer tokens with API access, implementing short token lifetimes and principle of least privilege, (3) enable audit logging for all GraphQL mutation operations to detect exploitation attempts via unusual moduleOperations patterns, (4) consider disabling the GraphQL API functionality entirely if not operationally required (note: this may break dependent FreePBX modules or integrations). Review web server and application logs for GraphQL requests containing backtick characters or shell metacharacters in module fields as potential indicators of compromise.

CVE-2025-57819 CRITICAL POC
10.0 Aug 28

FreePBX 15, 16, and 17 contain SQL injection vulnerabilities enabling unauthenticated access to the administrator interf

CVE-2012-4869 HIGH POC
7.5 Sep 06

The callme_startcall function in recordings/misc/callme_page.php in FreePBX 2.9, 2.10, and earlier allows remote attacke

CVE-2014-1903 HIGH POC
7.5 Feb 18

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

CVE-2014-7235 CRITICAL POC
10.0 Oct 07

htdocs_ari/includes/login.php in the ARI Framework module/Asterisk Recording Interface (ARI) in FreePBX before 2.9.0.9,

CVE-2019-19006 CRITICAL POC
9.8 Nov 21

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

CVE-2023-43336 HIGH POC
8.8 Nov 02

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

CVE-2018-6393 HIGH POC
7.2 Jan 29

FreePBX 10.13.66-32bit and 14.0.1.24 (SNG7-PBX-64bit-1712-2) allow post-authentication SQL injection via the order param

CVE-2012-4870 MEDIUM POC
4.3 Sep 06

Multiple cross-site scripting (XSS) vulnerabilities in FreePBX 2.9 and earlier allow remote attackers to inject arbitrar

CVE-2019-16967 MEDIUM POC
6.1 Oct 21

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

CVE-2026-73663 CRITICAL
9.3 Aug 13

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 unaut

CVE-2026-46376 CRITICAL POC
9.3 May 29

Authentication bypass in FreePBX User Control Panel (UCP) versions 15.0.42 through 16.0.44 and 17.0.0 through 17.0.6 all

CVE-2026-72578 HIGH
8.8 Aug 10

Cross-site request forgery in FreePBX Framework 17.0 permits an unauthenticated remote attacker to execute arbitrary adm

Share

CVE-2026-40520 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy