Cloudanix VulnDB

CVE-2024-32040

High · 8.1

CVSS

8.1

EPSS

1.9%

Published

Apr 22, 2024

CISA due date

—

Cloudanix analysis

Monitor only SSVC: Track

A bug in remote desktop software can let attackers seize control of a computer when users connect to certain servers using a specific image compression method.

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

What it actually does

Integer underflow in NSC codec processing allows out-of-bounds memory access in FreeRDP clients prior to 3.5.0 or 2.11.6 when connecting to servers advertising the NSC codec.

Why it matters to the business

Successful exploitation can result in remote code execution or denial of service against systems using FreeRDP for remote access, potentially exposing sensitive data or disrupting operations that rely on RDP connectivity.

How an attack unfolds

An attacker hosts a malicious RDP server configured to offer the NSC codec; a vulnerable client initiates a connection, triggering the integer underflow during codec negotiation and data handling, which can be leveraged for memory corruption and arbitrary code execution.

How to fix it

Upgrade FreeRDP to version 3.5.0 or 2.11.6 (commit dee7e7e7c609c5192273cf8c20540c729ddcb3b0 or later); as a temporary mitigation disable the NSC codec with the -nsc flag or equivalent configuration.

How to confirm the fix worked

Verify installed FreeRDP version is 3.5.0 or newer; test client connections to non-NSC servers and confirm absence of crashes or unexpected behavior during codec negotiation.

Typical attack path

  1. Attacker deploys a rogue RDP server advertising NSC codec support
  2. Victim client connects using a vulnerable FreeRDP version
  3. Server sends crafted NSC-encoded data triggering the underflow
  4. Memory corruption occurs enabling payload execution or crash

How to detect it

Review client logs for NSC codec negotiation failures or crashes in freerdp processes; inspect network traffic for unexpected RDP sessions offering NSC; correlate process crashes with RDP connection attempts.

What your security team should do

  • Immediately upgrade all FreeRDP installations to the fixed versions
  • Audit configurations to ensure NSC codec is disabled where upgrades are delayed
  • Monitor for new FreeRDP releases and integrate version checks into patch management

The record

FreeRDP is a free implementation of the Remote Desktop Protocol. FreeRDP based clients that use a version of FreeRDP prior to 3.5.0 or 2.11.6 and have connections to servers using the `NSC` codec are vulnerable to integer underflow. Versions 3.5.0 and 2.11.6 patch the issue. As a workaround, do not use the NSC codec (e.g. use `-nsc`).

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