CVE-2025-52573
Awaiting Analysis Awaiting Analysis - Queue
BaseFortify

Publication date: 2025-06-26

Last updated on: 2025-06-26

Assigner: GitHub, Inc.

Description
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.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2025-06-26
Last Modified
2025-06-26
Generated
2026-05-06
AI Q&A
2025-06-26
EPSS Evaluated
2026-05-05
NVD
EUVD
Affected Vendors & Products
Currently, no data is known.
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-78 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.
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?

CVE-2025-52573 is a command injection vulnerability in the ios-simulator-mcp project's MCP Server component, specifically in versions prior to 1.3.3. The vulnerability arises because the server uses Node.js's child process API 'exec' unsafely by concatenating user inputs (such as duration, udid, x, and y parameters) directly into shell commands without proper sanitization. This allows an attacker to inject shell metacharacters and arbitrary commands, which the shell then executes on the host running the MCP Server. For example, an attacker could inject commands like '; rm -rf /tmp;#' to execute destructive operations. The issue was fixed in version 1.3.3 by replacing 'exec' with 'execFile', adding strict input validation, and improving argument handling to prevent shell interpretation of user inputs. [1, 2, 3]


How can this vulnerability impact me? :

This vulnerability can allow an attacker to execute arbitrary commands on the host system running the ios-simulator-mcp MCP Server. Such unauthorized command execution can compromise the integrity and availability of the host, potentially leading to data loss, system disruption, or other malicious activities. Because the attack requires local access and user interaction, it is considered moderate severity, but the impact includes high integrity and availability risks. [2]


How can this vulnerability be detected on my network or system? Can you suggest some commands?

This vulnerability can be detected by monitoring for unusual or unexpected command executions on the host running the MCP Server, especially commands that include shell metacharacters such as ';' or '&&' in the parameters passed to the ios-simulator-mcp tools like `ui_tap`. Since the vulnerability involves command injection via user inputs (duration, udid, x, y), you can audit logs or use system monitoring tools to detect suspicious command patterns or unexpected executions of commands like `rm -rf` or other shell commands. Specific detection commands are not provided in the resources, but general approaches include checking process execution logs, using auditd or similar Linux auditing tools to track executions of the `idb` command with unusual arguments, or monitoring network traffic for suspicious payloads targeting the MCP Server interface. [2, 3]


What immediate steps should I take to mitigate this vulnerability?

The immediate mitigation step is to upgrade the ios-simulator-mcp package to version 1.3.3 or later, where the vulnerability has been fixed. The fix includes replacing the unsafe use of Node.js's `child_process.exec` with `child_process.execFile` to prevent command injection, implementing strict input validation using regex patterns for parameters such as UDID and duration, and adding a `--` separator in command invocations to prevent shell misinterpretation. Additionally, reviewing and applying the security hardening measures described in the v1.3.3 release and security advisory is recommended to ensure all vulnerable tools are patched. [1, 2, 3]


Ask Our AI Assistant
Need more information? Ask your question to get an AI reply (Powered by our expertise)
0/70
EPSS Chart