High priorityDisclosed

Advisory · CVE-2026-110838

FreeRDP shadow server accepts keyboard input before authentication

The FreeRDP shadow server from 3.0.0 before 3.32.0 dispatches input before authentication, letting unauthenticated attackers inject keystrokes into a host session. CVSS 4.0 8.7.

Vendor
FreeRDP
Product
FreeRDP
Identifier / CWE
CVE-2026-110838
CWE-306
Action timing
Immediate
ELI5

Explain it like I’m five

The remote control starts listening to the keyboard before it checks who is holding it.

SIMPLIFIED_ATTACK_PATH04 STEPS
  1. 01Shadow server exposed

    A host runs the FreeRDP shadow server from an affected release.

  2. 02Connection negotiated

    An unauthenticated attacker negotiates a TLS-only RDP connection.

  3. 03Input sent early

    The attacker sends an input PDU during the Confirm Active state, before authentication completes.

  4. 04Keystrokes injected

    The server dispatches the input and synthetic keystrokes reach the host user X11 session.

What happened

The GitHub advisory for FreeRDP describes the shadow server in releases from 3.0.0 before 3.32.0 dispatching input PDUs during the Confirm Active state before authentication.

An unauthenticated attacker can negotiate TLS-only RDP and send an input PDU without completing that state, injecting synthetic keystrokes into the host user X11 session through XTEST.

What to do

  1. Inventory hosts running the FreeRDP shadow server, including support and remote assistance setups.
  2. Upgrade FreeRDP to 3.32.0 or later using the project advisory guidance.
  3. Restrict network access to shadow servers to trusted support networks until patched.
  4. Review session and authentication logs for connections that sent input before completing authentication.
  5. Verify the deployed version and re-test a shadow session after the upgrade.

Management note

Pre-authentication input injection is worse than a simple crash: injected keystrokes run in a logged-in desktop. Keep shadow servers off broad networks even after patching.