Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
{
"schema_version": "1.4.0",
"id": "GHSA-h3x5-r9c2-qm47",
"modified": "2026-04-20T00:00:00Z",
"published": "2026-04-20T00:00:00Z",
"aliases": [],
"summary": "hexstrike-ai: Unauthenticated Remote Code Execution via /api/command endpoint",
"details": "hexstrike-ai contains a critical vulnerability in its Flask REST API server (hexstrike_server.py). The /api/command endpoint accepts arbitrary shell commands via a JSON POST request and executes them using subprocess.Popen() with shell=True. No authentication or authorization is required.\n\nAn attacker can achieve full Remote Code Execution on the server by sending a simple HTTP request:\n\n```\ncurl -X POST http://<host>:5000/api/command -H \"Content-Type: application/json\" -d '{\"command\":\"id\"}'\n```\n\nThe vulnerable code at line 6868:\n```python\nprocess = subprocess.Popen(command, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)\n```\n\nRoot cause: Direct execution of user-supplied input via shell=True with zero authentication (CWE-78, CWE-306).",
"severity": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"
}
],
"affected": [
{
"package": {
"ecosystem": "PyPI",
"name": "hexstrike-ai"
},
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
]
}
],
"references": [
{
"type": "WEB",
"url": "https://github.com/0x4m4/hexstrike-ai"
}
],
"database_specific": {
"cwe_ids": [
"CWE-78",
"CWE-306"
],
"severity": "CRITICAL",
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": null
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
{
"schema_version": "1.4.0",
"id": "GHSA-v7p8-c4f6-jw32",
"modified": "2026-04-20T00:00:00Z",
"published": "2026-04-20T00:00:00Z",
"aliases": [],
"summary": "hexstrike-ai: Command Injection in multiple /api/tools/* endpoints via unsanitized parameters",
"details": "hexstrike-ai contains command injection vulnerabilities in multiple tool endpoints of its Flask REST API server (hexstrike_server.py). Endpoints such as /api/tools/nmap, /api/tools/dig, /api/tools/whois, and 10+ other tool endpoints construct shell commands using Python f-strings with user-supplied input, then execute them via subprocess.Popen() with shell=True.\n\nNo authentication is required. An attacker can inject arbitrary shell commands via the tool parameters.\n\nExample exploitation via /api/tools/nmap:\n\n```\ncurl -X POST http://<host>:5000/api/tools/nmap -H \"Content-Type: application/json\" -d '{\"target\": \"127.0.0.1; id > /tmp/pwned.txt\"}'\n```\n\nVulnerable pattern (repeated across 10+ endpoints):\n```python\ncommand = f\"nmap {flags} {target}\"\nprocess = subprocess.Popen(command, shell=True, ...)\n```\n\nRoot cause: Unsanitized user input concatenated into shell commands (CWE-78).",
"severity": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"
}
],
"affected": [
{
"package": {
"ecosystem": "PyPI",
"name": "hexstrike-ai"
},
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
]
}
],
"references": [
{
"type": "WEB",
"url": "https://github.com/0x4m4/hexstrike-ai"
}
],
"database_specific": {
"cwe_ids": [
"CWE-78"
],
"severity": "CRITICAL",
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": null
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
{
"schema_version": "1.4.0",
"id": "GHSA-w2k9-m5g4-xr86",
"modified": "2026-04-20T00:00:00Z",
"published": "2026-04-20T00:00:00Z",
"aliases": [],
"summary": "hexstrike-ai: Path Traversal in /api/files/* endpoints allows arbitrary file read/write/delete",
"details": "hexstrike-ai contains a path traversal vulnerability in its file management API endpoints (hexstrike_server.py). The /api/files/create, /api/files/modify, /api/files/delete, and /api/files/list endpoints accept file paths from user input without any path normalization, sanitization, or directory confinement checks.\n\nNo authentication is required. An attacker can read, write, modify, or delete arbitrary files on the server filesystem (subject to the process user's permissions).\n\nExample exploitation:\n\n```\ncurl -X POST http://<host>:5000/api/files/create -H \"Content-Type: application/json\" -d '{\"path\": \"../../../../tmp/malicious.txt\", \"content\": \"pwned\"}'\n\ncurl -X POST http://<host>:5000/api/files/list -H \"Content-Type: application/json\" -d '{\"path\": \"../../../../etc/\"}'\n```\n\nRoot cause: No path normalization or directory confinement on user-supplied file paths (CWE-22, CWE-306).",
"severity": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"
}
],
"affected": [
{
"package": {
"ecosystem": "PyPI",
"name": "hexstrike-ai"
},
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
]
}
],
"references": [
{
"type": "WEB",
"url": "https://github.com/0x4m4/hexstrike-ai"
}
],
"database_specific": {
"cwe_ids": [
"CWE-22",
"CWE-306"
],
"severity": "CRITICAL",
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": null
}
}