Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate to UFO Linux MCP server
-
ExploitCall execute_command with 'sort -o' file-output form
-
ExecutionAllow-listed binary overwrites server-writable file
-
ImpactCorrupt configuration/data and disrupt service
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Argument sanitization
|
| Exploitation Conditions | Requires an authenticated caller with access to the UFO execute_command tool on a deployed Linux MCP HTTP server (ufo/client/mcp/http_servers/linux_mcp_server.py) in a version prior to 3.0.9. The attacker supplies a free-form command using the file-output forms of allow-listed binaries - 'sort -o <file>' / 'sort --output=<file>' or the optional second operand of 'uniq <in> <out>' - which the binary opens and overwrites directly, bypassing the argument policy without shell metacharacters. LIMITING FACTORS: authentication is required (PR:L, not unauthenticated); writes are confined to paths writable by the UFO server process (not arbitrary system files); there is no confidentiality disclosure and no code execution; the Linux MCP server component must actually be enabled/exposed. |
| Impact | This is a genuine but moderate-severity integrity/availability issue, not a top-tier priority. The provided CVSS:3.1 vector (AV:N/AC:H/PR:L/UI:R/S:U/C:N/I:H/A:L, base 5.4) scores it as network-reachable but gated by authentication (PR:L), high attack complexity, and required user interaction. Critically, the 'RCE' tag CONFLICTS with the description, which explicitly states the demonstrated primitive 'does not directly disclose files or establish arbitrary code execution' - this is an argument-injection file-overwrite (CWE-88), not remote code execution. No EPSS score, no CISA KEV listing, and no public POC are present in the input, so there is no public exploit identified at time of analysis; the only exploitation evidence is the vendor's own security regression test suite added in the fix commit. The real-world ceiling is corruption of files writable by the UFO server process (config/data tampering and service disruption), not confidentiality loss or code execution. Net: a real, patch-worthy flaw for anyone running the Linux MCP server, but low widespread-exploitation risk given it requires an authenticated caller and the affected product is a niche research framework. |
| Exploit ScenarioDerived | An authenticated user of a deployed UFO Linux MCP server invokes the execute_command tool with a command such as 'sort -o /path/to/config data.txt' (or the second-operand file-output form of uniq). Because sort/uniq are allow-listed as read-only, the binary itself opens and overwrites the destination without any shell metacharacters, corrupting server-writable configuration or data and disrupting the service. No public exploit code is identified; exploitation is demonstrated only by the vendor's own regression tests. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 06, 2026
Microsoft UFO versions prior to 3.0.9 expose a file-overwrite primitive through the execute_command tool of its Linux MCP HTTP server, where the allow-list classifies 'sort' and 'uniq' as read-only but does not block their file-output forms. An authenticated caller who can reach the MCP server can pass 'sort -o <file>' / 'sort --output=<file>' or supply the optional second operand of 'uniq <in> <out>' to create or overwrite any file writable by the UFO server process, without needing shell metacharacters, because the allowed binary itself opens the destination path. Impact is confined to integrity and availability - corrupted configuration or writable data that can disrupt the service - with no file disclosure and no demonstrated code execution; no public exploit code has been identified at time of analysis and the issue is fixed in 3.0.9.
RemediationAI
Upgrade Microsoft UFO to version 3.0.9 or later, which is the vendor-released patch that fixes this issue; the release is published at https://github.com/microsoft/UFO/releases/tag/v3.0.9, the hardening commit is https://github.com/microsoft/UFO/commit/4f793622794f5d47810d54bed431c61f6a781dd6, and the accompanying change is pull request https://github.com/microsoft/UFO/pull/349, with full advisory context at https://github.com/microsoft/UFO/security/advisories/GHSA-85w2-wggf-rw49. If immediate upgrade is not possible, compensate by disabling or not exposing the Linux MCP HTTP server's execute_command tool to untrusted callers, restricting network access to the MCP endpoint to trusted clients only (trade-off: breaks legitimate remote automation workflows), and running the UFO server process under a least-privilege account whose writable paths exclude configuration directories, service units, and any data the automation depends on (trade-off: may break features that legitimately write to those locations). Because exploitation requires an authenticated caller, tightening authentication and reviewing which principals hold execute_command access reduces exposure, and monitoring for 'sort -o', 'sort --output=', or 'uniq <input> <output>' invocations in the server's command audit trail provides detection while patching is staged. Prefer upgrading over the workarounds, since the allow-list and argument-policy fixes are the only way to remove the primitive itself.
Affected VersionsENISA
Affected Packages
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
UFO is Microsoft's open-source framework for intelligent device and platform automation, and the affected component is the Linux MCP (Model Context Protocol) HTTP server at ufo/client/mcp/http_servers/linux_mcp_server.py, which exposes an execute_command tool driven by an allow-list of shell binaries plus per-command argument policies. The vulnerability is a classic CWE-88 argument-injection weakness: the allow-list reasoned about 'sort' and 'uniq' as inherently read-only, but both utilities accept file-writing operands (sort's -o/--output option and uniq's optional second output-file operand) that the list did not reject. Because the write is performed by the trusted, allow-listed binary - not by the shell - the operation requires no pipes, redirection, or shell metacharacters, so the argument policy is bypassed by an apparently benign command string. The regression tests added in the fix confirm the intended hardening: every entry in ALLOWED_SHELL_COMMANDS must have a matching argument policy, path-qualified executables (./uniq, /usr/bin/uniq) are rejected, executables are resolved only from trusted directories with symlink escape prevention, and mutating forms such as 'sort -o', 'uniq input output', 'date -s', 'hostname -F', 'file -C', and 'diff --output' are all denied. Note that the accompanying intel tag 'RCE' is not supported by the technical evidence or by the independent assessment: the demonstrated primitive produces unauthorized file writes only, not arbitrary command execution. Discovery credit and full details are in GitHub Security Advisory GHSA-85w2-wggf-rw49.
Know when the next one hits your stack
- 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
AV:N/AC:H/PR:L/UI:R/S:U/C:N/I:H/A:L
Authenticated API caller (PR:L) directly invokes the tool with no separate user interaction (UI:N) and a deterministic one-step file overwrite (AC:L); integrity high from config corruption, availability low, no confidentiality impact.
Primary rating from Vendor (github).
CVSS VectorVendor: github
Lifecycle Timeline
2DescriptionCVE.org
Microsoft UFO is an open-source framework for intelligent automation across devices and platforms. Prior to 3.0.9, the execute_command tool in ufo/client/mcp/http_servers/linux_mcp_server.py treats sort and uniq as read-only commands while the free-form command parameter can select their file-output forms. An authenticated caller can use sort -o or the optional second uniq operand to create or overwrite files writable by the UFO server process without shell metacharacters, because the allowed binary opens the destination itself and the argument policy does not reject the operation. This can corrupt configuration or other writable data and disrupt the service, but the demonstrated primitive does not directly disclose files or establish arbitrary code execution. This issue is fixed in version 3.0.9.
Threat Intelligence Overview
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.
EUVD-2026-93406
NVD
CVE.org
EPSS
Vulnrichment
GitHub
VulDB
Exploit-DB