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.
Problem types
CWE-78 Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection')
Product status
Any version
5f194e39a47e5481e8947f9694304d32724175f6 (git)
Credits
M. Cory Billington of theyhack.me
References
github.com/...ommit/5f194e39a47e5481e8947f9694304d32724175f6
github.com/...a47e5481e8947f9694304d32724175f6/Api.class.php
github.com/...8947f9694304d32724175f6/ApiGqlHelper.class.php
www.vulncheck.com/...pi-module-command-injection-via-graphql