Executive brief
Microsoft UFO is an open-source framework used for automating tasks across different devices and platforms. A security flaw in how the system handles command results allows an authorized user to 'squat' on or block sessions intended for other users. This can lead to a persistent denial of service where legitimate automation tasks are prevented from running, or the system's memory is exhausted by fake sessions.
Technical details
A vulnerability exists in the Microsoft UFO framework due to missing authorization checks in the COMMAND_RESULTS handler. While the TASK message path correctly enforces session ownership, the COMMAND_RESULTS path in `ufo/server/ws/handler.py` calls `get_or_create_session` without providing an `owner_client_id`. Because session IDs are predictable (derived from task names and IDs), an authenticated attacker can pre-create an 'unowned' session. When the legitimate owner later attempts to initiate the task, the system's ownership defense rejects the request because the existing session has no recorded owner. This results in a persistent denial of service (DoS) for specific tasks or general resource exhaustion through the creation of unbounded phantom sessions. The issue is resolved in version 3.0.7 by ensuring the handler only performs lookups and rejects results from non-owners.
Affected products
- Microsoft UFO < 3.0.7
Timeline
- 2026-06-12: patched: Fix committed and version 3.0.7 released.
- 2026-07-16: disclosed: Advisory published.