Severity by source
AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:H/A:L
Network-reachable MCP server (AV:N) needs only a valid API key (PR:L); injection on the host alters a separate Android device (S:C), yielding shell-user command execution (I:H, C:L, A:L).
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
5DescriptionCVE.org
Microsoft UFO is an open-source framework for intelligent automation across devices and platforms. Prior to 3.0.9, the press_key tool in ufo/client/mcp/http_servers/mobile_mcp_server.py accepts a free-form key_code parameter and passes it to adb shell input keyevent. The adb client joins the arguments into a remote command string that the Android shell reparses, allowing an authenticated Mobile MCP caller to execute additional commands as the Android shell user on an authorized connected device. Exploitation requires a valid UFO_MCP_API_KEY, adb on the host, and a reachable authorized device, and it does not establish host operating-system execution, Android root execution, or access beyond the Android shell-user privileges. This issue is fixed in version 3.0.9.
Articles & Coverage 1
AnalysisAI
Authenticated command injection in Microsoft UFO's Mobile MCP server (versions prior to 3.0.9) lets a caller who holds a valid UFO_MCP_API_KEY pass shell metacharacters through the press_key tool's free-form key_code parameter and have them executed as the Android shell user on an already-authorized, connected device. Exploitation is remote and requires adb on the UFO host plus a reachable paired device, so it is not a host OS compromise, nor does it grant Android root - impact is bounded to Android shell-user privileges on the target handset. …
Unlock full vulnerability intelligence
- Risk assessment & exploitation conditions
- Attack chain visualization
- Remediation with exact patch versions
- Threat intelligence from 22 sources
- Personal watchlist & email alerts
No credit card · 7-day full trial
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata
Vulnerability AssessmentAI
| Exploitation | Requires a valid UFO_MCP_API_KEY (authenticated Mobile MCP caller), adb installed on the UFO host, and a reachable, already-authorized connected Android device running UFO prior to 3.0.9. … Additional conditions and limiting factors are described in the full assessment. |
| Risk Assessment | The input assigns CVSS 9.1 (Critical), but that score is inflated largely by the scope change (S:C) and the network attack vector; the real-world priority is lower. … Full risk analysis with EPSS, KEV, and SSVC signal comparison available after sign-in. |
| Exploit Scenario | Full exploit scenario with step-by-step reproduction available after sign-in. |
| Remediation | Upgrade to Microsoft UFO 3.0.9 or later; the vendor fix is available as the tagged release https://github.com/microsoft/UFO/releases/tag/v3.0.9 and as upstream commit a538791043327a0c33731d5be428867a5fd71794, which applies a strict `re.fullmatch(r"[A-Z0-9_]+", key_code)` allowlist to the press_key tool before any adb invocation - this is the primary and preferred remediation and has no functional downside for legitimate key-name or numeric keycode usage. … Detailed patch versions, workarounds, and compensating controls in full report. |
Recommended ActionAI
Within 24 hours, inventory all Microsoft UFO Mobile MCP deployments and identify any instance running a version prior to 3.0.9, restrict network reachability of the MCP endpoint to trusted hosts only, rotate every UFO_MCP_API_KEY in use, and disconnect non-essential paired Android devices; note that no public exploit identified at time of analysis, so this is risk reduction rather than incident response. …
Sign in for detailed remediation steps and compensating controls.
Threat intelligence, references, and detailed analysis are available after sign-in.
Adobe Flash Player before 13.0.0.292 and 14.x through 18.x before 18.0.0.160 on Windows and OS X and before 11.2.202.466
Integer underflow in the MPEG4Extractor::parseChunk function in MPEG4Extractor.cpp in libstagefright in mediaserver in A
Android 3.0 through 4.1.x on Disney Mobile, eAccess, KDDI, NTT DOCOMO, SoftBank, and other devices does not properly imp
Integer overflow in the SampleTable::setSampleToChunkParams function in SampleTable.cpp in libstagefright in Android bef
Apktool versions 2.9.1 and prior contain a path traversal vulnerability when processing Android APK files. Malicious APK
An elevation of privilege vulnerability in the Android system (art). Rated high severity (CVSS 7.8), this vulnerability
The AES-NI implementation in OpenSSL before 1.0.1t and 1.0.2 before 1.0.2h does not consider memory allocation during a
Use-after-free vulnerability in Adobe Flash Player before 13.0.0.292 and 14.x through 18.x before 18.0.0.160 on Windows
Use-after-free vulnerability in Adobe Flash Player before 13.0.0.292 and 14.x through 18.x before 18.0.0.160 on Windows
Android 1.6 Donut through 4.2 Jelly Bean does not properly check cryptographic signatures for applications, which allows
luni/src/main/java/java/io/ObjectInputStream.java in the java.io.ObjectInputStream implementation in Android before 5.0.
The Broadcom Wi-Fi driver in the kernel in Android 4.x before 4.4.4, 5.x before 5.1.1 LMY49G, and 6.x before 2016-02-01
Same weakness CWE-78 – OS Command Injection
View allSame technique Command Injection
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-93421