Cloudanix VulnDB

CVE-2024-32039

Critical · 9.8

CVSS

9.8

EPSS

2.3%

Published

Apr 22, 2024

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A bug in remote desktop software lets attackers take over a computer when someone connects to a malicious server.

Exploitation
Remote Unauthenticated
Attacker needs
None
Complexity
Low
Impact
Remote Code Execution
Component
Library
Class
Buffer Overflow
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

Integer overflow during graphics channel processing in FreeRDP clients triggers an out-of-bounds write when /gfx is enabled, allowing memory corruption.

Why it matters to the business

Attackers can gain remote code execution on systems running vulnerable FreeRDP clients, risking compromise of user workstations and any data accessed via remote desktop sessions.

How an attack unfolds

An attacker hosts a malicious RDP server that sends crafted graphics data over the gfx channel. A vulnerable client connecting with gfx enabled processes the data, causing an integer overflow that results in an out-of-bounds write and potential code execution.

How to fix it

Upgrade FreeRDP to version 3.5.0 or 2.11.6. As a workaround, disable gfx by specifying /bpp:32 or /rfx in client options.

How to confirm the fix worked

Confirm the FreeRDP binary or package reports version 3.5.0 or 2.11.6. Test client connections to a controlled server with gfx enabled while monitoring for crashes or memory errors.

Typical attack path

  1. Attacker deploys a rogue RDP server configured to deliver malicious gfx payloads
  2. Victim launches a vulnerable FreeRDP client and initiates a connection with gfx enabled
  3. Server transmits oversized or malformed graphics data during session negotiation
  4. Client integer overflow occurs, leading to out-of-bounds write and attacker code execution

How to detect it

Search application and system logs for FreeRDP crashes or segmentation faults during graphics processing. Review network captures for unusual RDP session data volumes or malformed gfx channel traffic.

What your security team should do

  • Prioritize upgrading all FreeRDP deployments to the fixed versions
  • Apply the gfx workaround on any systems that cannot be updated immediately
  • Restrict RDP client connections to trusted servers only
  • Include FreeRDP version checks in regular vulnerability scanning

The record

FreeRDP is a free implementation of the Remote Desktop Protocol. FreeRDP based clients using a version of FreeRDP prior to 3.5.0 or 2.11.6 are vulnerable to integer overflow and out-of-bounds write. Versions 3.5.0 and 2.11.6 patch the issue. As a workaround, do not use `/gfx` options (e.g. deactivate with `/bpp:32` or `/rfx` as it is on by default).

Affected packages

Ecosystem Package Introduced Fixed
Debian:11 freerdp2 0 No fix
Debian:11 freerdp2 0 2.3.0+dfsg1-2+deb11u2
Debian:12 freerdp2 0 No fix
Debian:13 freerdp2 0 No fix
Mageia:9 freerdp 0 2.11.7-1.mga9
Red Hat:enterprise_linux:9::appstream freerdp 0 2:2.11.7-1.el9
Red Hat:enterprise_linux:9::appstream freerdp-debuginfo 0 2:2.11.7-1.el9
Red Hat:enterprise_linux:9::appstream freerdp-debugsource 0 2:2.11.7-1.el9
Red Hat:enterprise_linux:9::appstream freerdp-devel 0 2:2.11.7-1.el9
Red Hat:enterprise_linux:9::appstream freerdp-libs 0 2:2.11.7-1.el9
Red Hat:enterprise_linux:9::appstream freerdp-libs-debuginfo 0 2:2.11.7-1.el9
Red Hat:enterprise_linux:9::appstream libwinpr 0 2:2.11.7-1.el9
Red Hat:enterprise_linux:9::appstream libwinpr-debuginfo 0 2:2.11.7-1.el9
Red Hat:enterprise_linux:9::appstream libwinpr-devel 0 2:2.11.7-1.el9
Red Hat:enterprise_linux:9::crb freerdp 0 2:2.11.7-1.el9
Red Hat:enterprise_linux:9::crb freerdp-debuginfo 0 2:2.11.7-1.el9
Red Hat:enterprise_linux:9::crb freerdp-debugsource 0 2:2.11.7-1.el9
Red Hat:enterprise_linux:9::crb freerdp-devel 0 2:2.11.7-1.el9
Red Hat:enterprise_linux:9::crb freerdp-libs 0 2:2.11.7-1.el9
Red Hat:enterprise_linux:9::crb freerdp-libs-debuginfo 0 2:2.11.7-1.el9
Red Hat:enterprise_linux:9::crb libwinpr 0 2:2.11.7-1.el9
Red Hat:enterprise_linux:9::crb libwinpr-debuginfo 0 2:2.11.7-1.el9
Red Hat:enterprise_linux:9::crb libwinpr-devel 0 2:2.11.7-1.el9
Rocky Linux:9 freerdp 0 2:2.11.7-1.el9
SUSE:Linux Enterprise Module for Package Hub 15 SP5 freerdp 0 2.4.0-150400.3.29.1
SUSE:Linux Enterprise Software Development Kit 12 SP5 freerdp 0 2.1.2-12.44.1
SUSE:Linux Enterprise Workstation Extension 12 SP5 freerdp 0 2.1.2-12.44.1
SUSE:Linux Enterprise Workstation Extension 15 SP5 freerdp 0 2.4.0-150400.3.29.1
Ubuntu:16.04:LTS freerdp 0 No fix
Ubuntu:18.04:LTS freerdp 0 No fix
Ubuntu:20.04:LTS freerdp2 0 2.6.1+dfsg1-0ubuntu0.20.04.1
Ubuntu:22.04:LTS freerdp2 0 2.6.1+dfsg1-3ubuntu2.6
Ubuntu:23.10 freerdp2 0 2.10.0+dfsg1-1.1ubuntu1.2
Ubuntu:24.04:LTS freerdp2 0 No fix
Ubuntu:24.04:LTS freerdp3 0 3.5.0+dfsg1-0ubuntu1
Ubuntu:24.10 freerdp2 0 No fix
Ubuntu:24.10 freerdp3 0 3.5.0+dfsg1-0ubuntu1
Ubuntu:Pro:16.04:LTS freerdp 0 No fix
Ubuntu:Pro:18.04:LTS freerdp 0 No fix
Ubuntu:Pro:18.04:LTS freerdp2 0 No fix
Ubuntu:Pro:24.04:LTS freerdp2 0 2.11.5+dfsg1-1ubuntu0.1~esm1
openSUSE:Leap 15.5 freerdp 0 2.4.0-150400.3.29.1
openSUSE:Leap 16.0 freerdp 0 3.22.0-160000.1.1
openSUSE:Tumbleweed freerdp 0 3.5.1-1.1
openSUSE:Tumbleweed freerdp2 0 2.11.7-1.1

Related vulnerabilities