Home

Description

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.

PUBLISHED Reserved 2026-04-13 | Published 2026-04-21 | Updated 2026-04-21 | Assigner VulnCheck




HIGH: 8.6CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

HIGH: 7.2CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H

Problem types

CWE-78 Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection')

Product status

Default status
unaffected

Any version
affected

5f194e39a47e5481e8947f9694304d32724175f6 (git)
unaffected

Credits

M. Cory Billington of theyhack.me reporter

References

github.com/...ommit/5f194e39a47e5481e8947f9694304d32724175f6 patch

github.com/...a47e5481e8947f9694304d32724175f6/Api.class.php related

github.com/...8947f9694304d32724175f6/ApiGqlHelper.class.php related

www.vulncheck.com/...pi-module-command-injection-via-graphql third-party-advisory

cve.org (CVE-2026-40520)

nvd.nist.gov (CVE-2026-40520)

Download JSON