Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2026-46544

CVE-2026-46544: Microsoft UFO Auth Bypass Vulnerability

CVE-2026-46544 is an authentication bypass flaw in Microsoft UFO open-source framework that allows attackers to replay stale session results across clients. This post covers technical details, affected versions, and mitigation.

Published:

CVE-2026-46544 Overview

CVE-2026-46544 affects Microsoft UFO, an open-source framework for intelligent automation across devices and platforms. Version 3.0.1-4-ge2626659 accepts client-supplied session_id values in WebSocket task messages without verifying ownership. The server reuses any existing in-memory session object that matches the supplied identifier. An authenticated client can submit a TASK message with another user's session_id and receive that session's stored result through the send_task_end() callback. The flaw is classified as an authorization issue under [CWE-639] (Authorization Bypass Through User-Controlled Key).

Critical Impact

Authenticated clients can replay stale results from other users' completed sessions if they know or predict a valid session_id, exposing potentially sensitive automation output.

Affected Products

  • Microsoft UFO open-source framework, version 3.0.1-4-ge2626659
  • WebSocket task-handling component using send_task_end() callback
  • Deployments retaining completed session objects in memory

Discovery Timeline

  • 2026-05-27 - CVE-2026-46544 published to NVD
  • 2026-05-27 - Last updated in NVD database

Technical Details for CVE-2026-46544

Vulnerability Analysis

Microsoft UFO exposes a WebSocket interface that accepts task submissions containing a session_id field. The server treats the client-supplied identifier as a lookup key into its in-memory session table. When the identifier matches an existing session, the server re-enters that session object instead of creating a new one.

Completed sessions remain in memory along with their populated result data. A new TASK message referencing such a session triggers the normal completion path. The send_task_end() callback then transmits the stale stored result to the requesting client. The attacker does not need to be the session's original owner, only an authenticated user of the same instance.

Root Cause

The root cause is an authorization gap. The server validates that the requester is authenticated but does not verify that the requester owns or is authorized to access the referenced session_id. This pattern matches [CWE-639], where a user-controlled key drives a sensitive lookup without ownership enforcement.

Attack Vector

Exploitation requires network access to the WebSocket endpoint, valid authentication, and knowledge or prediction of a live or recently completed session_id. The attacker connects, sends a crafted TASK message containing the target identifier, and reads the replayed result. The high attack complexity reflects the need to obtain or guess a valid session identifier within its in-memory lifetime.

No verified exploit code is available. See the GitHub Security Advisory for the technical description.

Detection Methods for CVE-2026-46544

Indicators of Compromise

  • Multiple WebSocket TASK messages referencing the same session_id from different authenticated principals or source addresses.
  • send_task_end() callback invocations where the receiving client identity differs from the session's original creator.
  • Authenticated sessions submitting session_id values they did not previously create within the same connection lifecycle.

Detection Strategies

  • Instrument the UFO server to log every TASK message with session_id, authenticated principal, source address, and timestamp.
  • Correlate session creation events with later task submissions and flag any mismatch in originating identity.
  • Audit application logs for repeated access to long-lived in-memory sessions after their original completion.

Monitoring Recommendations

  • Forward UFO application and WebSocket logs to a centralized log platform for cross-user correlation.
  • Alert on any single session_id accessed by more than one authenticated identity.
  • Monitor for sequential or enumerative session_id submission patterns indicating identifier guessing.

How to Mitigate CVE-2026-46544

Immediate Actions Required

  • Inventory all deployments of Microsoft UFO at version 3.0.1-4-ge2626659 and restrict network access to the WebSocket endpoint.
  • Limit framework access to trusted authenticated users only, and review user accounts with active or recently issued credentials.
  • Reduce session retention by clearing completed session objects from memory as soon as results are delivered.

Patch Information

Review the Microsoft UFO GitHub Security Advisory GHSA-29gc-vqjp-7fqf for vendor-provided fix guidance and updated releases. Upgrade to a version that binds each session_id to its creating principal and rejects mismatched lookups.

Workarounds

  • Apply a server-side check that ties every session_id to the authenticating principal that created it and rejects cross-client lookups.
  • Generate session_id values using cryptographically random identifiers of sufficient length to resist prediction.
  • Expire and purge completed sessions immediately after send_task_end() delivery to eliminate the replay window.
  • Place the WebSocket endpoint behind a reverse proxy that enforces per-user authorization on task submissions.
bash
# Configuration example
# Restrict access to the UFO WebSocket endpoint at the network layer
# until an authorization-aware build is deployed.
iptables -A INPUT -p tcp --dport 5000 -s 10.0.0.0/24 -j ACCEPT
iptables -A INPUT -p tcp --dport 5000 -j DROP

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.