CVE-2026-85089: FreeRDP before 3.31.0 Information Disclosure via uninitialized heap memory

Published Sep 3, 2026
·
Updated

FreeRDP versions 3.0.0 through 3.30.0 (before 3.31.0) transmit uninitialized heap memory in Save Session Info PDU reserved padding fields. Three PDU writers in libfreerdp/core/info.c (rdpwritelogoninfov2, rdpwritelogoninfoplain, and rdpwritelogoninfoex) use StreamSeek instead of StreamZero for reserved pad bytes (up to 576 bytes), leaving previously freed heap contents in the outgoing PDU. Because the send buffer is allocated with malloc (not zeroed), stale heap data — which may include cleartext credentials from prior sessions — can be sent to the receiving peer. FreeRDP-based servers using rdpUpdate::SaveSessionInfo and freerdp-proxy (which forwards these PDUs) are affected, allowing disclosure of server/proxy process memory to a downstream client.

Affected Software

1 affected component
FreeRDP freerdp<3.31.0

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade FreeRDP to a version that resolves this vulnerability.

    Fixed in 3.31.0
  2. Compensating control

    If using a FreeRDP-based server (rdpUpdate::SaveSessionInfo) or freerdp-proxy that forwards Save Session Info PDUs, restrict/limit which downstream clients can connect so disclosed server/proxy process memory is not exposed to untrusted parties.

Event History

Sep 3, 2026
CVE Published
via MITRE·01:04 AM
Data Sourced
via MITRE·01:04 AM
DescriptionSeverityWeakness

Frequently Asked Questions

1

Which deployments are exposed to this disclosure?

FreeRDP-based servers that use rdpUpdate::SaveSessionInfo and freerdp-proxy instances that forward Save Session Info PDUs are affected. The disclosed data is sent to the downstream client receiving the PDU.

2

What does an attacker need to do to obtain leaked memory?

An attacker needs low-privileged access as a client or other downstream peer able to receive the affected Save Session Info PDUs. No user interaction is required.

3

Could the leaked data include credentials?

Yes. The uninitialized padding can contain stale heap contents from the server or proxy process, which may include cleartext credentials from prior sessions.

4

What versions should be treated as affected?

FreeRDP versions 3.0.0 through 3.30.0 are affected. Version 3.31.0 is identified as the first version not affected.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203