Skip to main content

Microsoft UFO EUVDEUVD-2026-93405

| CVE-2026-105788 HIGH
OS Command Injection (CWE-78)
2026-10-06 security-advisories@github.com
8.8
CVSS 3.1 · Vendor: github
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate with valid Mobile MCP API key
  2. Delivery
    Call launch_app/type_text with crafted package_name/text
  3. Exploit
    ADB joins args into shell command string
  4. Execution
    Android shell reparses injected metacharacters
  5. Impact
    Execute arbitrary commands as Android shell user

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization OS command sanitization, avoid shell exec
MITRE ATT&CK

2 techniques across 1 tactic: Execution

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Requires three concrete prerequisites stated in the advisory: (1) a valid Mobile MCP API key to authenticate to the Mobile MCP server; (2) an Android device that is reachable and already authorized for ADB and connected to that server; and (3) UFO prior to 3.0.10 exposing the vulnerable type_text/launch_app tools in ufo/client/mcp/http_servers/mobile_mcp_server.py. The attacker then supplies shell metacharacters in the text or package_name parameter. Limiting factors that reduce real-world risk: authentication (API key) is mandatory, a pre-authorized ADB device must exist, and resulting execution is confined to Android shell-user privileges - it does NOT yield host OS code execution or Android root.

Impact

This is a CWE-78 command injection in Microsoft UFO's Mobile MCP server (type_text/launch_app) carrying a vendor/NVD CVSS of 8.8 (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H). The network vector and low complexity argue for easy exploitation, but PR:L is the decisive modifier: exploitation requires a valid Mobile MCP API key AND a reachable device already authorized for ADB, so this is not an unauthenticated internet-wide condition and is poorly suited to opportunistic/wormable abuse. No EPSS score was provided in the input, and the CVE is NOT in CISA KEV, so there is no confirmed active exploitation - exploitation status here is 'no public exploit identified at time of analysis,' though the fix commit's security test suite explicitly enumerates working injection payloads (e.g. 'a;id', 'a$(id)', 'com.example||id'), which materially lowers the bar for an attacker who already holds API access. The signals are consistent rather than conflicting: a genuinely high technical impact (full shell-user command execution on the device) gated behind authentication and a specific deployment (connected ADB-authorized Android device). Net: a real priority for the subset of environments actually running UFO's Mobile MCP server against live devices, but the authentication and device-authorization prerequisites make the realistic threat targeted/insider-adjacent rather than mass-exploitable. The description's note that impact is capped at the Android shell user (no host OS execution, no Android root) further bounds blast radius relative to the raw 8.8.

Exploit ScenarioDerived

An actor holding a valid Mobile MCP API key reaches the UFO Mobile MCP server (prior to 3.0.10) that is driving an ADB-authorized Android device, then calls launch_app or type_text with a package_name/text value containing shell metacharacters (e.g. 'com.example;toybox${IFS}id'). Because the parameter is joined into the adb shell command string and reparsed by the Android shell, the injected command runs as the Android shell user on the connected device. No standalone public exploit is identified, but the vendor's fix-commit test cases demonstrate the exact injection payloads.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 1.1% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 06, 2026

Authenticated command injection in Microsoft UFO's Mobile MCP server (ufo/client/mcp/http_servers/mobile_mcp_server.py) lets a caller holding a valid Mobile MCP API key smuggle shell metacharacters through the type_text text parameter and the launch_app package_name parameter; the adb client concatenates those values into a remote command string that the connected Android device re-parses, executing extra commands as the Android shell user. The issue affects UFO releases prior to 3.0.10 and, per the CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H vector (8.8), requires authentication (PR:L) plus a reachable, already ADB-authorized device, while confining impact to Android shell-user privileges rather than host OS or root execution. No public exploit identified at time of analysis. Vendor-released patch: 3.0.10.

RemediationAI

Upgrade Microsoft UFO to version 3.0.10, the exact vendor-released fix, available at https://github.com/microsoft/UFO/releases/tag/v3.0.10; the patch applies shlex quoting to type_text arguments and a strict package-name allow-list validation to launch_app, so upgrading eliminates both injection paths. If immediate upgrade is not possible, apply compensating controls with awareness of their trade-offs: bind the Mobile MCP HTTP server to localhost or a restricted management network instead of exposing it broadly (this breaks remote agent workflows that legitimately need network access to the server), rotate and tightly scope Mobile MCP API keys since a valid key is a mandatory prerequisite for exploitation (rotation invalidates existing integrations until reconfigured), and disconnect or un-authorize ADB devices that are not strictly required by the automation workflow, since the attack needs a reachable device already authorized for ADB (this reduces functionality for any legitimate device-automation use). Monitor adb invocations from the Mobile MCP server for shell metacharacters in the text/package_name parameters as a detection backstop. Note that exploitation is confined to Android shell-user privileges and does not yield host OS code execution or Android root, so host-level containment is not the primary concern; the priority is cutting off the authenticated API-key-plus-authorized-device path. Vendor advisory: https://github.com/microsoft/UFO/security/advisories/GHSA-6ppj-5886-4f26.

Affected VersionsENISA

UFO < 3.0.10

Affected Packages

euvd ufo fix: 3.0.10

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

This is a CWE-78 OS command injection rooted in the way Android's adb client handles arguments. When ufo's mobile MCP server invokes adb for the type_text and launch_app tools, arguments are passed into adb shell positions that the adb client joins into a single remote command string before sending it over the ADB transport; the Android device's shell then re-parses that string, so any embedded metacharacters (;, |, ||, &, &&, backticks, $(...), ${IFS}, newlines, carriage returns, tabs, redirection operators, quotes) are interpreted as shell syntax rather than literal input data. The upstream fix in 3.0.10 hardens both call sites: type_text arguments are quoted with shlex so that characters such as ;, |, &, $(), backticks, whitespace, and quotes survive as literals (verified by a shlex.split round-trip test), and a NUL byte in the text is rejected before adb is ever invoked. For launch_app, the package_name is validated against a strict allow-list grammar that rejects semicolons, pipes, ampersands, backticks, substitutions, newlines/tabs, redirection characters, leading dashes (option injection), surrounding whitespace, leading/trailing or doubled dots, glob characters, NUL, and Unicode homoglyph domains before any adb subprocess is spawned. The vulnerable surface is specifically the authenticated Mobile MCP HTTP server exposing the type_text and launch_app tools.

Know when Android gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (github) PRIMARY 8.8 HIGH
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
vuln.today AI 8.8 HIGH

Network-reachable MCP tool, low complexity, but a valid API key is required so PR:L (not PR:N); full shell-user command execution on the device gives C:H/I:H/A:H.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (github).

CVSS VectorVendor: github

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

2
Patch available
Oct 06, 2026 - 15:03 EUVD
CVE Published
Oct 06, 2026 - 14:17 cve.org
HIGH 8.8

DescriptionCVE.org

Microsoft UFO is an open-source framework for intelligent automation across devices and platforms. Prior to 3.0.10, the type_text and launch_app tools in ufo/client/mcp/http_servers/mobile_mcp_server.py pass the authenticated caller-controlled text and package_name parameters into adb shell command argument positions without comprehensive validation. The adb client joins those arguments into a remote command string that the Android shell reparses, allowing shell metacharacters to execute additional commands on an authorized connected device as the Android shell user. Exploitation requires a valid Mobile MCP API key and a reachable device authorized for ADB, 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.10.

Technical POC Analysis

CWE-78 (OS Command Injection), with the advisory also citing CWE-88 (Argument Injection).

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

A command injection flaw in Microsoft UFO's Mobile MCP server (releases prior to 3.0.10) allows anyone holding a valid Mobile MCP API key to run arbitrary commands as the Android shell user on any ADB-connected device reachable through that server. Because access requires a legitimate API key plus an already-authorized device, exposure is limited to teams running UFO-based mobile automation in shared or internet-reachable environments - but where those conditions are met, an insider or a leaked key could silently pivot across connected test and employee devices. Leadership should care because the affected component sits inside an AI-driven automation platform increasingly used in engineering pipelines, and the fix is a routine version upgrade rather than a design change.

Business Impact: Medium
Compensating Controls

Vendor-released patch: 3.0.10. Until upgraded, disable or network-isolate the Mobile MCP server, rotate and tightly scope Mobile MCP API keys to trusted callers only, revoke unnecessary ADB authorizations on connected devices, and monitor for anomalous adb or shell activity on ADB-connected Android endpoints.

Threat Intelligence Overview

EPSS Score
1.1%
Top 37% exploitable
Prevalence
Low
niche open-source AI-automation research framework, limited production deployment footprint
Data Quality
6 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GitHub VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 1.1%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact
Medium
Technical Impact
Total

Priority Score

45
Low Medium High Critical
KEV: 0
EPSS: +1
CVSS: +44
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

OS command injection occurs when an application passes unsanitized user input directly into system shell commands.

CVE-2015-3105 CRITICAL POC
10.0 Jun 10

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

CVE-2015-3864 CRITICAL POC
10.0 Oct 01

Integer underflow in the MPEG4Extractor::parseChunk function in MPEG4Extractor.cpp in libstagefright in mediaserver in A

CVE-2013-4710 CRITICAL POC
9.3 Mar 03

Android 3.0 through 4.1.x on Disney Mobile, eAccess, KDDI, NTT DOCOMO, SoftBank, and other devices does not properly imp

CVE-2015-1538 CRITICAL POC
10.0 Oct 01

Integer overflow in the SampleTable::setSampleToChunkParams function in SampleTable.cpp in libstagefright in Android bef

CVE-2024-21633 HIGH POC
7.8 Jan 03

Apktool versions 2.9.1 and prior contain a path traversal vulnerability when processing Android APK files. Malicious APK

CVE-2017-13156 HIGH POC
7.8 Dec 06

An elevation of privilege vulnerability in the Android system (art). Rated high severity (CVSS 7.8), this vulnerability

CVE-2016-2107 MEDIUM POC
5.9 May 05

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

CVE-2015-3106 CRITICAL POC
10.0 Jun 10

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

CVE-2015-3107 CRITICAL POC
10.0 Jun 10

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

CVE-2013-4787 CRITICAL POC
9.3 Jul 09

Android 1.6 Donut through 4.2 Jelly Bean does not properly check cryptographic signatures for applications, which allows

CVE-2014-7911 HIGH
7.2 Dec 15

luni/src/main/java/java/io/ObjectInputStream.java in the java.io.ObjectInputStream implementation in Android before 5.0.

CVE-2016-0801 CRITICAL POC
9.8 Feb 07

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

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy