fkie_cve-2025-52573
Vulnerability from fkie_nvd
Published
2025-06-26 14:15
Modified
2025-06-26 18:57
Severity ?
Summary
iOS Simulator MCP Server (ios-simulator-mcp) is a Model Context Protocol (MCP) server for interacting with iOS simulators. Versions prior to 1.3.3 are written in a way that is vulnerable to command injection vulnerability attacks as part of some of its MCP Server tool definition and implementation. The MCP Server exposes the tool `ui_tap` which relies on Node.js child process API `exec` which is an unsafe and vulnerable API if concatenated with untrusted user input. LLM exposed user input for `duration`, `udid`, and `x` and `y` args can be replaced with shell meta-characters like `;` or `&&` or others to change the behavior from running the expected command `idb` to another command. When LLMs are tricked through prompt injection (and other techniques and attack vectors) to call the tool with input that uses special shell characters such as `; rm -rf /tmp;#` and other payload variations, the full command-line text will be interepted by the shell and result in other commands except of `ps` executing on the host running the MCP Server. Version 1.3.3 contains a patch for the issue.
References
Impacted products
| Vendor | Product | Version |
|---|
{
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "iOS Simulator MCP Server (ios-simulator-mcp) is a Model Context Protocol (MCP) server for interacting with iOS simulators. Versions prior to 1.3.3 are written in a way that is vulnerable to command injection vulnerability attacks as part of some of its MCP Server tool definition and implementation. The MCP Server exposes the tool `ui_tap` which relies on Node.js child process API `exec` which is an unsafe and vulnerable API if concatenated with untrusted user input. LLM exposed user input for `duration`, `udid`, and `x` and `y` args can be replaced with shell meta-characters like `;` or `\u0026\u0026` or others to change the behavior from running the expected command `idb` to another command. When LLMs are tricked through prompt injection (and other techniques and attack vectors) to call the tool with input that uses special shell characters such as `; rm -rf /tmp;#` and other payload variations, the full command-line text will be interepted by the shell and result in other commands except of `ps` executing on the host running the MCP Server. Version 1.3.3 contains a patch for the issue."
},
{
"lang": "es",
"value": "iOS Simulator MCP Server (ios-simulator-mcp) es un servidor de protocolo de contexto de modelo (MCP) para interactuar con simuladores de iOS. Las versiones anteriores a la 1.3.3 est\u00e1n escritas de forma vulnerable a ataques de vulnerabilidad de inyecci\u00f3n de comandos como parte de la definici\u00f3n e implementaci\u00f3n de la herramienta del servidor MCP. El servidor MCP expone la herramienta `ui_tap`, que se basa en la API `exec` del proceso secundario de Node.js, que es una API insegura y vulnerable si se concatena con entradas de usuario no confiables. La entrada de usuario expuesta por LLM para los argumentos `duration`, `udid` y `x` e `y` se puede reemplazar con metacaracteres de shell como `;` o `\u0026amp;\u0026amp;` u otros para cambiar el comportamiento de ejecutar el comando esperado `idb` a otro comando. Cuando se enga\u00f1a a los LLM mediante la inyecci\u00f3n de prompt (y otras t\u00e9cnicas y vectores de ataque) para llamar a la herramienta con una entrada que usa caracteres de shell especiales como `;` rm -rf /tmp;#` y otras variaciones del payload, el texto completo de la l\u00ednea de comandos ser\u00e1 interpretado por el shell y provocar\u00e1 la ejecuci\u00f3n de otros comandos, excepto `ps`, en el host que ejecuta el servidor MCP. La versi\u00f3n 1.3.3 incluye un parche para este problema."
}
],
"id": "CVE-2025-52573",
"lastModified": "2025-06-26T18:57:43.670",
"metrics": {
"cvssMetricV31": [
{
"cvssData": {
"attackComplexity": "HIGH",
"attackVector": "LOCAL",
"availabilityImpact": "HIGH",
"baseScore": 6.0,
"baseSeverity": "MEDIUM",
"confidentialityImpact": "NONE",
"integrityImpact": "HIGH",
"privilegesRequired": "LOW",
"scope": "UNCHANGED",
"userInteraction": "REQUIRED",
"vectorString": "CVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:U/C:N/I:H/A:H",
"version": "3.1"
},
"exploitabilityScore": 0.8,
"impactScore": 5.2,
"source": "security-advisories@github.com",
"type": "Secondary"
}
]
},
"published": "2025-06-26T14:15:30.577",
"references": [
{
"source": "security-advisories@github.com",
"url": "https://github.com/joshuayoes/ios-simulator-mcp/blob/main/src/index.ts#L166-L207"
},
{
"source": "security-advisories@github.com",
"url": "https://github.com/joshuayoes/ios-simulator-mcp/commit/eb53a4f2cc8bbeb13e8d6d930f00167befcdb809"
},
{
"source": "security-advisories@github.com",
"url": "https://github.com/joshuayoes/ios-simulator-mcp/releases/tag/v1.3.3"
},
{
"source": "security-advisories@github.com",
"url": "https://github.com/joshuayoes/ios-simulator-mcp/security/advisories/GHSA-6f6r-m9pv-67jw"
}
],
"sourceIdentifier": "security-advisories@github.com",
"vulnStatus": "Awaiting Analysis",
"weaknesses": [
{
"description": [
{
"lang": "en",
"value": "CWE-78"
}
],
"source": "security-advisories@github.com",
"type": "Secondary"
}
]
}
Loading…
Loading…
Sightings
| Author | Source | Type | Date |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
- Confirmed: The vulnerability is confirmed from an analyst perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
- Patched: This vulnerability was successfully patched by the user reporting the sighting.
- Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
- Not confirmed: The user expresses doubt about the veracity of the vulnerability.
- Not patched: This vulnerability was not successfully patched by the user reporting the sighting.
Loading…
Loading…