Vulnerabilities in pkg:npm/@aiondadotcom/mcp-ssh
PACKAGEGHSA-p4h8-56qp-hpgv is a HIGH remote code execution vulnerability (CWE-78: Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection')) affecting @aiondadotcom/mcp ssh libraries in the npm ecosystem. The issue involves ssh/scp option injection allowing local rce in @aiondadotcom/mcp-ssh. Remediation is available by upgrading affected packages to version 1.3.5.
pkg:npm/@aiondadotcom/mcp-ssh
Vulnerability advisories affecting package pkg:npm/@aiondadotcom/mcp-ssh. Select an advisory below to view technical details or fixes.
| Advisory ID | CVE / NVD | Severity | Summary |
|---|---|---|---|
| GHSA-p4h8-56qp-hpgv | - | HIGH | SSH/SCP option injection allowing local RCE in @aiondadotcom/mcp-ssh |
| GHSA-694p-3fxc-m92h | CVE-2025-9654 | MODERATE | AiondaDotCom mcp-ssh command injection vulnerability in SSH operations |
GHSA-p4h8-56qp-hpgv at a Glance
How to Fix GHSA-p4h8-56qp-hpgv
To remediate this vulnerability, upgrade all affected @aiondadotcom/mcp ssh dependencies to a patched release. Both direct and transitive dependencies should be checked, as frameworks or security libraries may pull in vulnerable versions transitively.
npm install @aiondadotcom/mcp-ssh@1.3.5
Run the following command in your project directory to verify that all resolved dependencies use the patched release:
npm ls @aiondadotcom/mcp-ssh
How to Check if You Are Affected
To determine whether your Node.js application is affected by GHSA-p4h8-56qp-hpgv, inspect your project dependencies using npm:
npm ls @aiondadotcom/mcp-ssh
Analyze the terminal output to locate any version of @aiondadotcom/mcp ssh in your dependency tree. If any resolved version matches the vulnerable ranges listed in the table below (for example, versions earlier than 1.3.5), your application is affected.
Note: The npm ls @aiondadotcom/mcp-ssh command inspects dependencies declared in your package.json and lockfile; it does not perform automated runtime dynamic scanning.
Technical Details
Vulnerability Mechanism & Technical Analysis
This vulnerability is classified under CWE-78: Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection'), where the product constructs all or part of an os command using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended os command when it is sent to a downstream component. In @aiondadotcom/mcp ssh, software state validation or input boundaries are circumvented during processing. Review the official source advisory statement below for specific affected components, classes, and reproduction details.
Source Advisory Statement
GHSA-p4h8-56qp-hpgv Affected @aiondadotcom/mcp ssh Versions
1 component(s)| Product / Package | Ecosystem | Affected Versions | Fixed Version |
|---|---|---|---|
|
@aiondadotcom/mcp-ssh
|
npm |
< 1.3.5
|
1.3.5
|
References
Frequently Asked Questions
What is GHSA-p4h8-56qp-hpgv?
Which @aiondadotcom/mcp ssh versions are affected?
What version fixes GHSA-p4h8-56qp-hpgv?
Is @aiondadotcom/mcp-ssh affected?
What CWE is associated with GHSA-p4h8-56qp-hpgv?
How can I check npm dependencies for GHSA-p4h8-56qp-hpgv?
Machine-readable OSV JSON
OSV v1.5 Schema
{
"schema_version" : "1.4.0",
"id" : "GHSA-p4h8-56qp-hpgv",
"modified" : "2026-04-14T00:04:10Z",
"published" : "2026-04-14T00:04:10Z",
"aliases" : [ ],
"summary" : "SSH/SCP option injection allowing local RCE in @aiondadotcom/mcp-ssh",
"details" : "## Impact\n\nA crafted `hostAlias` argument such as `-oProxyCommand=...` was passed to `ssh`/`scp` without an argument terminator. SSH interprets arguments starting with `-` as options regardless of position, so the option-injection caused SSH to execute the attacker-supplied `ProxyCommand` **locally** on the machine running the MCP server — before any network connection. This bypassed the documented protection of `# @password:` annotations and exposed local SSH keys, browser cookies, other MCP server credentials, and anything else readable by the server process.\n\nA second local-RCE vector existed on Windows: `spawn(..., { shell: true })` was used so that `ssh.exe`/`scp.exe` could be found via `PATH`. With `shell: true`, every argument is re-parsed by `cmd.exe`, so shell metacharacters (`&`, `|`, `^`, `>`, `\"`, `;`, …) in `hostAlias`, `command`, `localPath` or `remotePath` would have been interpreted by `cmd.exe` and could have triggered arbitrary local command execution on Windows.\n\nThe MCP server runs locally over STDIO, but the LLM driving it is not trusted: its tool arguments can be steered by **prompt injection** from any untrusted text the LLM ingests (web pages, e-mails, repository files, output of other MCP servers). The attack does not require a malicious user — only that the LLM ingests attacker-controlled text at any point during the session.\n\n## Patches\n\nFixed in **1.3.5**.\n\n- Add `--` argument terminator to all `ssh`/`scp` invocations.\n- Strict whitelist for `hostAlias` (rejects leading `-` and shell metacharacters).\n- Known-host check: every `hostAlias` must be defined in `~/.ssh/config` (including `Include` directives) or present in `~/.ssh/known_hosts`.\n- Resolve `ssh.exe`/`scp.exe` to absolute paths and use `shell: false` everywhere on Windows.\n\n## Workarounds\n\nNone. Upgrade to 1.3.5.\n\n## Credit\n\nReported by Pico (@piiiico) as part of an MCP server security audit.",
"severity" : [ {
"type" : "CVSS_V4",
"score" : "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N"
} ],
"affected" : [ {
"package" : {
"ecosystem" : "npm",
"name" : "@aiondadotcom/mcp-ssh"
},
"ranges" : [ {
"type" : "ECOSYSTEM",
"events" : [ {
"introduced" : "0"
}, {
"fixed" : "1.3.5"
} ]
} ]
} ],
"references" : [ {
"type" : "WEB",
"url" : "https://github.com/AiondaDotCom/mcp-ssh/security/advisories/GHSA-p4h8-56qp-hpgv"
}, {
"type" : "WEB",
"url" : "https://github.com/AiondaDotCom/mcp-ssh/issues/9"
}, {
"type" : "PACKAGE",
"url" : "https://github.com/AiondaDotCom/mcp-ssh"
}, {
"type" : "WEB",
"url" : "https://github.com/AiondaDotCom/mcp-ssh/releases/tag/1.3.5"
} ],
"database_specific" : {
"cwe_ids" : [ "CWE-78", "CWE-88" ],
"severity" : "HIGH",
"github_reviewed" : true,
"github_reviewed_at" : "2026-04-14T00:04:10Z",
"nvd_published_at" : null
}
}