CVE-2026-35394: @mobilenext/mobile-mcp: Arbitrary Android Intent Execution via mobile_open_url
Summary The mobileopenurl tool in mobile-mcp passes user-supplied URLs directly to Android's intent system without any scheme validation, allowing execution of arbitrary Android intents, including USSD codes, phone calls, SMS messages, and content provider access. Details The vulnerable code passes URLs directly to adb shell am start -a android.intent.action.VIEW -d without checking the URL scheme.
Published Apr 4, 2026 · Updated Apr 6, 2026
Affected packages
@mobilenext/mobile-mcp
- Ecosystem
- npm
- Affected
- < 0.0.50
- Fixed in
- 0.0.50
- Check
npm ls @mobilenext/mobile-mcp
Advisory details
From the GitHub Advisory Database (CC BY 4.0).
Summary
The mobile_open_url tool in mobile-mcp passes user-supplied URLs directly to Android's intent system without any scheme validation, allowing execution of arbitrary Android intents, including USSD codes, phone calls, SMS messages, and content provider access.
Details
The vulnerable code passes URLs directly to adb shell am start -a android.intent.action.VIEW -d <url> without checking the URL scheme. This can enable malicious schemes such as tel:, sms:, mailto:, content://, and market:// to be executed.
Since MCP servers are designed to be operated by AI agents, which are vulnerable to prompt injection attacks, a malicious document or website could inject instructions that cause the AI to execute dangerous intents on a connected mobile device.
Impact
An attacker via prompt injection can:
- Execute USSD codes (e.g.,
tel:*#06#to display IMEI - confirmed on Pixel 7a, behavior varies by device; or device-specific factory reset codes) - Initiate phone calls to premium rate numbers
- Draft SMS messages with attacker-controlled content
- Access content providers (contacts, SMS, call logs)
- Open app installation prompts
Proof of Concept
{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"mobile_open_url","arguments":{"device":"<id>","url":"tel:*#06#"}}}Result: IMEI displayed on device.
{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"mobile_open_url","arguments":{"device":"<id>","url":"sms:1234567890?body=HACKED"}}}Result: SMS app opens with a pre-filled message.
Remediation
Upgrade to version 0.0.50 or later, which restricts mobile_open_url to http:// and https:// schemes by default. Users who require other URL schemes can opt in by setting MOBILEMCP_ALLOW_UNSAFE_URLS=1.
Credited to manthanghasadiya.
References
How this page is made: the data panel comes from the GitHub Advisory Database, CISA’s KEV catalog, the NVD and FIRST EPSS, and updates twice a day. No analysis has been written for this entry yet. Methodology
More Other MCP servers and tools vulnerabilities
All Other MCP servers and tools entriesCVE-2026-77361
obsidian-tc : Symlink read-ACL scope bypass via lexical path checks
medium4.7Oct 23, 2026CVE-2026-114126
Storybook dev server vulnerable to code injection from the local network
high8.7Oct 22, 2026CVE-2026-113731
djust: Arbitrary absolute-path file read in the find_handlers_for_template MCP tool
low3.3Oct 21, 2026CVE-2026-114125
Storybook: Missing origin validation in Storybook preview allows code injection from malicious websites
critical9.4Oct 21, 2026CVE-2026-111770
MCP TypeScript server SDK: Shared transport or server instances delivered one HTTP client's messages to another
high7.7Oct 20, 2026GHSA-953h-535j-jg2v
agent-router: MCP session resume does not verify the embedded anti-hijacking subject; default Helm seed makes session IDs forgeable
medium6.8Oct 19, 2026
