CWE-94
Allowed-with-ReviewImproper Control of Generation of Code ('Code Injection')
Abstraction: Base · Status: Draft
The product constructs all or part of a code segment using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the syntax or behavior of the intended code segment.
8269 vulnerabilities reference this CWE, most recent first.
GHSA-G8R4-P96J-XFXC
Vulnerability from github – Published: 2021-04-16 19:53 – Updated: 2022-08-11 00:01Impact
Twig processing of static pages can be enabled in the front matter by any administrative user allowed to create or edit pages. As the Twig processor runs unsandboxed, this behavior can be used to gain arbitrary code execution and elevate privileges on the instance.
Patches
The issue was addressed by preventing dangerous functions from being called in Twig templates. A configuration option has been added to manually allow arbitrary PHP functions (system.twig.safe_functions) and filters (system.twig.safe_filters).
Futures major versions of Grav may disable this functionality by default.
Workarounds
Blocking access to the /admin path from untrusted sources will reduce the probability of exploitation.
References
- https://portswigger.net/research/server-side-template-injection
- https://blog.sonarsource.com/grav-cms-code-execution-vulnerabilities
For more information
If you have any questions or comments about this advisory, you can contact: - The original reporters, by sending an email to vulnerability.research [at] sonarsource.com; - The maintainers, by opening an issue on this repository.
{
"affected": [
{
"database_specific": {
"last_known_affected_version_range": "\u003c= 1.7.10"
},
"package": {
"ecosystem": "Packagist",
"name": "getgrav/grav"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "1.7.11"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"aliases": [
"CVE-2021-29440"
],
"database_specific": {
"cwe_ids": [
"CWE-94"
],
"github_reviewed": true,
"github_reviewed_at": "2021-04-13T19:55:46Z",
"nvd_published_at": "2021-04-13T20:15:00Z",
"severity": "HIGH"
},
"details": "### Impact\n\nTwig processing of static pages can be enabled in the front matter by any administrative user allowed to create or edit pages. \nAs the Twig processor runs unsandboxed, this behavior can be used to gain arbitrary code execution and elevate privileges on the instance.\n\n### Patches\n\nThe issue was addressed by preventing dangerous functions from being called in Twig templates. A configuration option has been added to manually allow arbitrary PHP functions (`system.twig.safe_functions`) and filters (`system.twig.safe_filters`). \n\nFutures major versions of Grav may disable this functionality by default. \n\n### Workarounds\n\nBlocking access to the `/admin` path from untrusted sources will reduce the probability of exploitation. \n\n### References\n\n- https://portswigger.net/research/server-side-template-injection\n- https://blog.sonarsource.com/grav-cms-code-execution-vulnerabilities\n\n### For more information\n\nIf you have any questions or comments about this advisory, you can contact:\n - The original reporters, by sending an email to vulnerability.research [at] sonarsource.com;\n - The maintainers, by opening an issue on this repository.",
"id": "GHSA-g8r4-p96j-xfxc",
"modified": "2022-08-11T00:01:25Z",
"published": "2021-04-16T19:53:12Z",
"references": [
{
"type": "WEB",
"url": "https://github.com/getgrav/grav/security/advisories/GHSA-g8r4-p96j-xfxc"
},
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2021-29440"
},
{
"type": "WEB",
"url": "https://blog.sonarsource.com/grav-cms-code-execution-vulnerabilities"
},
{
"type": "WEB",
"url": "https://packagist.org/packages/getgrav/grav"
},
{
"type": "WEB",
"url": "http://packetstormsecurity.com/files/162987/Grav-CMS-1.7.10-Server-Side-Template-Injection.html"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:H/I:H/A:H",
"type": "CVSS_V3"
}
],
"summary": "Grav\u0027s Twig processing allowing dangerous PHP functions by default"
}
GHSA-G8V9-C8M3-942V
Vulnerability from github – Published: 2024-10-24 18:30 – Updated: 2024-12-19 20:17php-heic-to-jpg < 1.0.5 is vulnerable to remote code execution. An attacker who can upload heic images is able to execute code on the remote server via the file name. As a result, the CIA is no longer guaranteed. This affects php-heic-to-jpg below 1.0.5.
{
"affected": [
{
"package": {
"ecosystem": "Packagist",
"name": "maestroerror/php-heic-to-jpg"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "1.0.5"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"aliases": [
"CVE-2024-48514"
],
"database_specific": {
"cwe_ids": [
"CWE-94"
],
"github_reviewed": true,
"github_reviewed_at": "2024-10-24T21:45:54Z",
"nvd_published_at": "2024-10-24T18:15:10Z",
"severity": "HIGH"
},
"details": "php-heic-to-jpg \u003c 1.0.5 is vulnerable to remote code execution. An attacker who can upload heic images is able to execute code on the remote server via the file name. As a result, the CIA is no longer guaranteed. This affects php-heic-to-jpg below 1.0.5.",
"id": "GHSA-g8v9-c8m3-942v",
"modified": "2024-12-19T20:17:18Z",
"published": "2024-10-24T18:30:44Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2024-48514"
},
{
"type": "WEB",
"url": "https://github.com/MaestroError/php-heic-to-jpg/pull/34"
},
{
"type": "WEB",
"url": "https://advisories.gitlab.com/pkg/composer/maestroerror/php-heic-to-jpg/CVE-2024-48514"
},
{
"type": "PACKAGE",
"url": "https://github.com/MaestroError/php-heic-to-jpg"
},
{
"type": "ADVISORY",
"url": "https://github.com/advisories/GHSA-g8v9-c8m3-942v"
},
{
"type": "WEB",
"url": "https://github.com/marcoris/CVEs/tree/master/CVE-2024-48514"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H",
"type": "CVSS_V3"
},
{
"score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:U",
"type": "CVSS_V4"
}
],
"summary": "Remote code execution in php-heic-to-jpg"
}
GHSA-G8XW-M45C-JPHF
Vulnerability from github – Published: 2023-06-06 00:30 – Updated: 2024-04-04 04:32In Advantech WebAccss/SCADA v9.1.3 and prior, there is an arbitrary file overwrite vulnerability, which could allow an attacker to overwrite any file in the operating system (including system files), inject code into an XLS file, and modify the file extension, which could lead to arbitrary code execution.
{
"affected": [],
"aliases": [
"CVE-2023-32540"
],
"database_specific": {
"cwe_ids": [
"CWE-94"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2023-06-06T00:15:10Z",
"severity": "CRITICAL"
},
"details": "\nIn Advantech WebAccss/SCADA v9.1.3 and prior, there is an arbitrary file overwrite vulnerability, which could allow an attacker to overwrite any file in the operating system (including system files), inject code into an XLS file, and modify the file extension, which could lead to arbitrary code execution.\n\n",
"id": "GHSA-g8xw-m45c-jphf",
"modified": "2024-04-04T04:32:38Z",
"published": "2023-06-06T00:30:19Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2023-32540"
},
{
"type": "WEB",
"url": "https://www.cisa.gov/news-events/ics-advisories/icsa-23-152-01"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H",
"type": "CVSS_V3"
}
]
}
GHSA-G94M-GWW6-6C2Q
Vulnerability from github – Published: 2022-05-01 18:32 – Updated: 2022-05-01 18:32** DISPUTED ** PHP remote file inclusion vulnerability in preview.php in the swMenuFree (com_swmenufree) 4.6 component for Joomla! allows remote attackers to execute arbitrary PHP code via a URL in the mosConfig_absolute_path parameter. NOTE: a reliable third party disputes this issue because preview.php tests a certain constant to prevent direct requests.
{
"affected": [],
"aliases": [
"CVE-2007-5389"
],
"database_specific": {
"cwe_ids": [
"CWE-94"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2007-10-12T10:17:00Z",
"severity": "MODERATE"
},
"details": "** DISPUTED ** PHP remote file inclusion vulnerability in preview.php in the swMenuFree (com_swmenufree) 4.6 component for Joomla! allows remote attackers to execute arbitrary PHP code via a URL in the mosConfig_absolute_path parameter. NOTE: a reliable third party disputes this issue because preview.php tests a certain constant to prevent direct requests.",
"id": "GHSA-g94m-gww6-6c2q",
"modified": "2022-05-01T18:32:47Z",
"published": "2022-05-01T18:32:47Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2007-5389"
},
{
"type": "WEB",
"url": "http://osvdb.org/37903"
},
{
"type": "WEB",
"url": "http://securityreason.com/securityalert/3210"
},
{
"type": "WEB",
"url": "http://www.attrition.org/pipermail/vim/2007-October/001825.html"
},
{
"type": "WEB",
"url": "http://www.securityfocus.com/archive/1/482100/100/0/threaded"
},
{
"type": "WEB",
"url": "http://www.securityfocus.com/archive/1/482165/100/0/threaded"
}
],
"schema_version": "1.4.0",
"severity": []
}
GHSA-G957-78R7-X4W5
Vulnerability from github – Published: 2024-09-09 21:31 – Updated: 2024-09-10 00:30AutoCMS v5.4 was discovered to contain a PHP code injection vulnerability via the txtsite_url parameter at /admin/site_add.php. This vulnerability allows attackers to execute arbitrary PHP code via injecting a crafted value.
{
"affected": [],
"aliases": [
"CVE-2024-44724"
],
"database_specific": {
"cwe_ids": [
"CWE-94"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2024-09-09T20:15:05Z",
"severity": "HIGH"
},
"details": "AutoCMS v5.4 was discovered to contain a PHP code injection vulnerability via the txtsite_url parameter at /admin/site_add.php. This vulnerability allows attackers to execute arbitrary PHP code via injecting a crafted value.",
"id": "GHSA-g957-78r7-x4w5",
"modified": "2024-09-10T00:30:49Z",
"published": "2024-09-09T21:31:23Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2024-44724"
},
{
"type": "WEB",
"url": "https://github.com/Hebing123/cve/issues/68"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H",
"type": "CVSS_V3"
}
]
}
GHSA-G985-WJH9-QXXC
Vulnerability from github – Published: 2026-04-10 19:32 – Updated: 2026-04-14 21:54PraisonAI automatically imports ./tools.py from the current working directory when launching certain components. This includes call.py, tool_resolver.py, and CLI tool-loading paths.
A malicious tools.py placed in the process working directory is executed immediately, allowing arbitrary Python code execution in the host environment.
Affected Code
- call.py →
import_tools_from_file() - tool_resolver.py →
_load_local_tools() - tools.py → local tool import flow
PoC
Create tools.py in the directory where PraisonAI is launched:
# tools.py
import os
os.system("echo pwned > /tmp/pwned.txt")
Run any PraisonAI component that loads local tools, for example:
praisonai workflow run safe.yaml
Reproduction Steps
- Create a malicious tools.py in the current working directory.
- Start PraisonAI or invoke a CLI command that loads local tools.
- Verify that
/tmp/pwned.txtor the malicious command output exists.
Impact
An attacker who can place or influence tools.py in the working directory can execute arbitrary code in the PraisonAI process, compromising the host and any connected data.
Reporter: Lakshmikanthan K (letchupkt)
{
"affected": [
{
"database_specific": {
"last_known_affected_version_range": "\u003c= 1.5.139"
},
"package": {
"ecosystem": "PyPI",
"name": "praisonaiagents"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "1.5.140"
}
],
"type": "ECOSYSTEM"
}
]
},
{
"database_specific": {
"last_known_affected_version_range": "\u003c= 4.5.138"
},
"package": {
"ecosystem": "PyPI",
"name": "PraisonAI"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "4.5.139"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"aliases": [
"CVE-2026-40287"
],
"database_specific": {
"cwe_ids": [
"CWE-426",
"CWE-94"
],
"github_reviewed": true,
"github_reviewed_at": "2026-04-10T19:32:32Z",
"nvd_published_at": "2026-04-14T04:17:11Z",
"severity": "HIGH"
},
"details": "PraisonAI automatically imports `./tools.py` from the current working directory when launching certain components. This includes call.py, tool_resolver.py, and CLI tool-loading paths.\n\nA malicious tools.py placed in the process working directory is executed immediately, allowing arbitrary Python code execution in the host environment.\n\n### Affected Code\n- call.py \u2192 `import_tools_from_file()`\n- tool_resolver.py \u2192 `_load_local_tools()`\n- tools.py \u2192 local tool import flow\n- \n\n### PoC\nCreate tools.py in the directory where PraisonAI is launched:\n\n```python\n# tools.py\nimport os\nos.system(\"echo pwned \u003e /tmp/pwned.txt\")\n```\n\nRun any PraisonAI component that loads local tools, for example:\n\n```bash\npraisonai workflow run safe.yaml\n```\n\n### Reproduction Steps\n1. Create a malicious tools.py in the current working directory.\n2. Start PraisonAI or invoke a CLI command that loads local tools.\n3. Verify that `/tmp/pwned.txt` or the malicious command output exists.\n\n### Impact\nAn attacker who can place or influence tools.py in the working directory can execute arbitrary code in the PraisonAI process, compromising the host and any connected data.\n\n**Reporter:** Lakshmikanthan K (letchupkt)",
"id": "GHSA-g985-wjh9-qxxc",
"modified": "2026-04-14T21:54:23Z",
"published": "2026-04-10T19:32:32Z",
"references": [
{
"type": "WEB",
"url": "https://github.com/MervinPraison/PraisonAI/security/advisories/GHSA-g985-wjh9-qxxc"
},
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2026-40287"
},
{
"type": "PACKAGE",
"url": "https://github.com/MervinPraison/PraisonAI"
},
{
"type": "WEB",
"url": "https://github.com/MervinPraison/PraisonAI/releases/tag/v4.5.139"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H",
"type": "CVSS_V3"
}
],
"summary": "PraisonAI Vulnerable to RCE via Automatic tools.py Import"
}
GHSA-G99M-655W-J95W
Vulnerability from github – Published: 2023-10-23 15:30 – Updated: 2024-04-04 08:52Buffer overflow vulnerability in the signelf library used by Zscaler Client Connector on Linux allows Code Injection. This issue affects Zscaler Client Connector for Linux: before 1.3.1.6.
{
"affected": [],
"aliases": [
"CVE-2023-28793"
],
"database_specific": {
"cwe_ids": [
"CWE-787",
"CWE-94"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2023-10-23T14:15:09Z",
"severity": "HIGH"
},
"details": "Buffer overflow vulnerability in the signelf library used by Zscaler Client Connector on Linux allows Code Injection. This issue affects Zscaler Client Connector for Linux: before 1.3.1.6.\n\n\n",
"id": "GHSA-g99m-655w-j95w",
"modified": "2024-04-04T08:52:59Z",
"published": "2023-10-23T15:30:24Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2023-28793"
},
{
"type": "WEB",
"url": "https://help.zscaler.com/client-connector/client-connector-app-release-summary-2022?applicable_category=Linux\u0026applicable_version=1.3.1\u0026deployment_date=2022-09-19"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
"type": "CVSS_V3"
}
]
}
GHSA-G9FW-V33P-XRQ5
Vulnerability from github – Published: 2022-05-03 03:14 – Updated: 2022-05-03 03:14Firefox before 1.0.7 and Mozilla Suite before 1.7.12 allows remote attackers to modify HTTP headers of XML HTTP requests via XMLHttpRequest, and possibly use the client to exploit vulnerabilities in servers or proxies, including HTTP request smuggling and HTTP request splitting.
{
"affected": [],
"aliases": [
"CVE-2005-2703"
],
"database_specific": {
"cwe_ids": [
"CWE-94"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2005-09-23T19:03:00Z",
"severity": "MODERATE"
},
"details": "Firefox before 1.0.7 and Mozilla Suite before 1.7.12 allows remote attackers to modify HTTP headers of XML HTTP requests via XMLHttpRequest, and possibly use the client to exploit vulnerabilities in servers or proxies, including HTTP request smuggling and HTTP request splitting.",
"id": "GHSA-g9fw-v33p-xrq5",
"modified": "2022-05-03T03:14:17Z",
"published": "2022-05-03T03:14:17Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2005-2703"
},
{
"type": "WEB",
"url": "https://exchange.xforce.ibmcloud.com/vulnerabilities/22376"
},
{
"type": "WEB",
"url": "https://oval.cisecurity.org/repository/search/definition/oval%3Aorg.mitre.oval%3Adef%3A10767"
},
{
"type": "WEB",
"url": "https://oval.cisecurity.org/repository/search/definition/oval%3Aorg.mitre.oval%3Adef%3A1089"
},
{
"type": "WEB",
"url": "http://secunia.com/advisories/16911"
},
{
"type": "WEB",
"url": "http://secunia.com/advisories/16917"
},
{
"type": "WEB",
"url": "http://secunia.com/advisories/16977"
},
{
"type": "WEB",
"url": "http://secunia.com/advisories/17014"
},
{
"type": "WEB",
"url": "http://secunia.com/advisories/17026"
},
{
"type": "WEB",
"url": "http://secunia.com/advisories/17042"
},
{
"type": "WEB",
"url": "http://secunia.com/advisories/17090"
},
{
"type": "WEB",
"url": "http://secunia.com/advisories/17149"
},
{
"type": "WEB",
"url": "http://secunia.com/advisories/17263"
},
{
"type": "WEB",
"url": "http://secunia.com/advisories/17284"
},
{
"type": "WEB",
"url": "http://securitytracker.com/id?1014954"
},
{
"type": "WEB",
"url": "http://www.debian.org/security/2005/dsa-838"
},
{
"type": "WEB",
"url": "http://www.debian.org/security/2005/dsa-866"
},
{
"type": "WEB",
"url": "http://www.debian.org/security/2005/dsa-868"
},
{
"type": "WEB",
"url": "http://www.mandriva.com/security/advisories?name=MDKSA-2005:169"
},
{
"type": "WEB",
"url": "http://www.mandriva.com/security/advisories?name=MDKSA-2005:170"
},
{
"type": "WEB",
"url": "http://www.mandriva.com/security/advisories?name=MDKSA-2005:174"
},
{
"type": "WEB",
"url": "http://www.mozilla.org/security/announce/mfsa2005-58.html"
},
{
"type": "WEB",
"url": "http://www.novell.com/linux/security/advisories/2005_58_mozilla.html"
},
{
"type": "WEB",
"url": "http://www.redhat.com/archives/fedora-legacy-announce/2006-January/msg00004.html"
},
{
"type": "WEB",
"url": "http://www.redhat.com/support/errata/RHSA-2005-785.html"
},
{
"type": "WEB",
"url": "http://www.redhat.com/support/errata/RHSA-2005-789.html"
},
{
"type": "WEB",
"url": "http://www.redhat.com/support/errata/RHSA-2005-791.html"
},
{
"type": "WEB",
"url": "http://www.securityfocus.com/bid/14923"
},
{
"type": "WEB",
"url": "http://www.securityfocus.com/bid/15495"
},
{
"type": "WEB",
"url": "http://www.ubuntu.com/usn/usn-200-1"
},
{
"type": "WEB",
"url": "http://www.vupen.com/english/advisories/2005/1824"
}
],
"schema_version": "1.4.0",
"severity": []
}
GHSA-G9HC-46CQ-RX26
Vulnerability from github – Published: 2022-05-02 06:19 – Updated: 2022-05-02 06:19Atlassian JIRA 3.12 through 4.1 allows remote authenticated administrators to execute arbitrary code by modifying the (1) attachment (aka attachments), (2) index (aka indexing), or (3) backup path and then uploading a file, as exploited in the wild in April 2010.
{
"affected": [],
"aliases": [
"CVE-2010-1165"
],
"database_specific": {
"cwe_ids": [
"CWE-94"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2010-04-20T15:30:00Z",
"severity": "HIGH"
},
"details": "Atlassian JIRA 3.12 through 4.1 allows remote authenticated administrators to execute arbitrary code by modifying the (1) attachment (aka attachments), (2) index (aka indexing), or (3) backup path and then uploading a file, as exploited in the wild in April 2010.",
"id": "GHSA-g9hc-46cq-rx26",
"modified": "2022-05-02T06:19:42Z",
"published": "2022-05-02T06:19:42Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2010-1165"
},
{
"type": "WEB",
"url": "https://exchange.xforce.ibmcloud.com/vulnerabilities/57828"
},
{
"type": "WEB",
"url": "http://confluence.atlassian.com/display/JIRA/JIRA+Security+Advisory+2010-04-16"
},
{
"type": "WEB",
"url": "http://jira.atlassian.com/browse/JRA-20995"
},
{
"type": "WEB",
"url": "http://jira.atlassian.com/browse/JRA-21004"
},
{
"type": "WEB",
"url": "http://secunia.com/advisories/39353"
},
{
"type": "WEB",
"url": "http://www.openwall.com/lists/oss-security/2010/04/16/3"
},
{
"type": "WEB",
"url": "http://www.openwall.com/lists/oss-security/2010/04/16/4"
},
{
"type": "WEB",
"url": "http://www.securityfocus.com/bid/39485"
}
],
"schema_version": "1.4.0",
"severity": []
}
GHSA-G9HG-QHMF-Q45M
Vulnerability from github – Published: 2025-09-08 21:14 – Updated: 2025-09-26 17:07An XSS flaw exists in the MCP Inspector local development tool when it renders a redirect URL returned by a remote MCP server. If the Inspector connects to an untrusted server, a crafted redirect can inject script into the Inspector context and, via the built-in proxy, be leveraged to trigger arbitrary command execution on the developer machine. Version 0.16.6 hardens URL handling/validation and prevents script execution.
Thank you to the following researchers for their reports and contributions: * Raymond (Veria Labs) * Gavin Zhong, superboyzjc@gmail.com & Shuyang Wang, swang@obsidiansecurity.com.
{
"affected": [
{
"package": {
"ecosystem": "npm",
"name": "@modelcontextprotocol/inspector"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "0.16.6"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"aliases": [
"CVE-2025-58444"
],
"database_specific": {
"cwe_ids": [
"CWE-79",
"CWE-84",
"CWE-94"
],
"github_reviewed": true,
"github_reviewed_at": "2025-09-08T21:14:23Z",
"nvd_published_at": "2025-09-08T22:15:34Z",
"severity": "HIGH"
},
"details": "An XSS flaw exists in the MCP Inspector local development tool when it renders a redirect URL returned by a remote MCP server. If the Inspector connects to an untrusted server, a crafted redirect can inject script into the Inspector context and, via the built-in proxy, be leveraged to trigger arbitrary command execution on the developer machine. Version 0.16.6 hardens URL handling/validation and prevents script execution.\n\n\u003e Thank you to the following researchers for their reports and contributions:\n\u003e * Raymond (Veria Labs)\n\u003e * Gavin Zhong, \u003csuperboyzjc@gmail.com\u003e \u0026 Shuyang Wang, \u003cswang@obsidiansecurity.com\u003e.",
"id": "GHSA-g9hg-qhmf-q45m",
"modified": "2025-09-26T17:07:01Z",
"published": "2025-09-08T21:14:23Z",
"references": [
{
"type": "WEB",
"url": "https://github.com/modelcontextprotocol/inspector/security/advisories/GHSA-g9hg-qhmf-q45m"
},
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2025-58444"
},
{
"type": "WEB",
"url": "https://github.com/modelcontextprotocol/inspector/commit/650f3090d26344a672026b737d81586595bb1f60"
},
{
"type": "PACKAGE",
"url": "https://github.com/modelcontextprotocol/inspector"
},
{
"type": "WEB",
"url": "https://www.npmjs.com/package/@modelcontextprotocol/inspector/v/0.16.6"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N",
"type": "CVSS_V4"
}
],
"summary": "MCP Inspector is Vulnerable to Potential Command Execution via XSS When Connecting to an Untrusted MCP Server"
}
Mitigation
Strategy: Refactoring
Refactor your program so that you do not have to dynamically generate code.
Mitigation
- Run your code in a "jail" or similar sandbox environment that enforces strict boundaries between the process and the operating system. This may effectively restrict which code can be executed by your product.
- Examples include the Unix chroot jail and AppArmor. In general, managed code may provide some protection.
- This may not be a feasible solution, and it only limits the impact to the operating system; the rest of your application may still be subject to compromise.
- Be careful to avoid CWE-243 and other weaknesses related to jails.
Mitigation MIT-5
Strategy: Input Validation
- Assume all input is malicious. Use an "accept known good" input validation strategy, i.e., use a list of acceptable inputs that strictly conform to specifications. Reject any input that does not strictly conform to specifications, or transform it into something that does.
- When performing input validation, consider all potentially relevant properties, including length, type of input, the full range of acceptable values, missing or extra inputs, syntax, consistency across related fields, and conformance to business rules. As an example of business rule logic, "boat" may be syntactically valid because it only contains alphanumeric characters, but it is not valid if the input is only expected to contain colors such as "red" or "blue."
- Do not rely exclusively on looking for malicious or malformed inputs. This is likely to miss at least one undesirable input, especially if the code's environment changes. This can give attackers enough room to bypass the intended validation. However, denylists can be useful for detecting potential attacks or determining which inputs are so malformed that they should be rejected outright.
- To reduce the likelihood of code injection, use stringent allowlists that limit which constructs are allowed. If you are dynamically constructing code that invokes a function, then verifying that the input is alphanumeric might be insufficient. An attacker might still be able to reference a dangerous function that you did not intend to allow, such as system(), exec(), or exit().
Mitigation
Use dynamic tools and techniques that interact with the product using large test suites with many diverse inputs, such as fuzz testing (fuzzing), robustness testing, and fault injection. The product's operation may slow down, but it should not become unstable, crash, or generate incorrect results.
Mitigation MIT-32
Strategy: Compilation or Build Hardening
Run the code in an environment that performs automatic taint propagation and prevents any command execution that uses tainted variables, such as Perl's "-T" switch. This will force the program to perform validation steps that remove the taint, although you must be careful to correctly validate your inputs so that you do not accidentally mark dangerous inputs as untainted (see CWE-183 and CWE-184).
Mitigation MIT-32
Strategy: Environment Hardening
Run the code in an environment that performs automatic taint propagation and prevents any command execution that uses tainted variables, such as Perl's "-T" switch. This will force the program to perform validation steps that remove the taint, although you must be careful to correctly validate your inputs so that you do not accidentally mark dangerous inputs as untainted (see CWE-183 and CWE-184).
Mitigation
For Python programs, it is frequently encouraged to use the ast.literal_eval() function instead of eval, since it is intentionally designed to avoid executing code. However, an adversary could still cause excessive memory or stack consumption via deeply nested structures [REF-1372], so the python documentation discourages use of ast.literal_eval() on untrusted data [REF-1373].
CAPEC-242: Code Injection
An adversary exploits a weakness in input validation on the target to inject new code into that which is currently executing. This differs from code inclusion in that code inclusion involves the addition or replacement of a reference to a code file, which is subsequently loaded by the target and used as part of the code of some application.
CAPEC-35: Leverage Executable Code in Non-Executable Files
An attack of this type exploits a system's trust in configuration and resource files. When the executable loads the resource (such as an image file or configuration file) the attacker has modified the file to either execute malicious code directly or manipulate the target process (e.g. application server) to execute based on the malicious configuration parameters. Since systems are increasingly interrelated mashing up resources from local and remote sources the possibility of this attack occurring is high.
CAPEC-77: Manipulating User-Controlled Variables
This attack targets user controlled variables (DEBUG=1, PHP Globals, and So Forth). An adversary can override variables leveraging user-supplied, untrusted query variables directly used on the application server without any data sanitization. In extreme cases, the adversary can change variables controlling the business logic of the application. For instance, in languages like PHP, a number of poorly set default configurations may allow the user to override variables.