
Cloud Vulnerability DB
A community-led vulnerabilities database
CVE-2026-29776 is an integer underflow vulnerability in FreeRDP's core library, specifically in the update_read_cache_bitmap_order() function located in libfreerdp/core/orders.c. A UINT16 value read from the network is stored in a UINT32 field (bitmapLength), and when 8 is subsequently subtracted without a bounds check, the result can wrap around to a very large value (e.g., 0xFFFFFFFF), potentially causing a program crash or denial of service. All FreeRDP versions prior to 3.24.0 are affected. It was disclosed on March 13, 2026, with a CVSS v3.1 base score of 3.1 (Low) (FreeRDP Advisory, Red Hat).
The root cause is an integer underflow (CWE-191) in update_read_cache_bitmap_order(): bitmapLength is declared as UINT32 in CACHE_BITMAP_ORDER but populated from a 2-byte (UINT16) wire value. When the compressed bitmap path is taken and the NO_BITMAP_COMPRESSION_HDR flag is absent, 8 bytes are read from the stream and then subtracted from bitmapLength without first verifying that bitmapLength >= 8. If the server sends a bitmapLength of 0–7, the subtraction wraps to values like 0xFFFFFFFF (4,294,967,295). The only guard (if (bitmapLength == 0) goto fail) is bypassed by the wrapped value, leading to a malloc() call with an enormous size and a subsequent Stream_Read() of up to ~4 GB, which causes a reliable denial of service. The fix (commit a9e0abf) adds a pre-subtraction check: if (cache_bitmap->bitmapLength < 8) goto fail; (FreeRDP Advisory, Fix Commit). The vulnerability is also associated with CWE-190 (Integer Overflow or Wraparound), CWE-400 (Uncontrolled Resource Consumption), and CWE-789 (Memory Allocation with Excessive Size Value).
Successful exploitation results in a denial of service condition — the FreeRDP client process crashes or becomes unresponsive due to an attempted ~4 GB memory allocation and heap over-read. There is no impact to confidentiality or data integrity; only availability is affected. The attack requires the victim to connect to a malicious or compromised RDP server, limiting the blast radius to individual client sessions rather than enabling lateral movement or data exfiltration (FreeRDP Advisory).
There is no public proof-of-concept exploit and no evidence of in-the-wild exploitation at this time. The vulnerability requires high attack complexity (a malicious or compromised RDP server) and user interaction (the victim must initiate an RDP connection), significantly limiting exploitability. The EPSS score is approximately 0.033%, reflecting a very low probability of exploitation in the near term. The vulnerability is not listed in the CISA Known Exploited Vulnerabilities catalog (FreeRDP Advisory, Red Hat).
NO_BITMAP_COMPRESSION_HDR not set, with bitmapLength set to a value between 0 and 7 (e.g., 7).bitmapLength as a UINT16 into a UINT32 field, then subtracts 8 without a bounds check, wrapping the value to 0xFFFFFFF9 (4,294,967,289).malloc(0xFFFFFFF9) and, if successful (e.g., on a 64-bit Linux system with memory overcommit), proceeds to Stream_Read() of ~4 GB, triggering an out-of-memory condition or OOM kill, crashing the FreeRDP process (FreeRDP Advisory).xfreerdp or wfreerdp process, particularly after connecting to an external or unfamiliar RDP server.dmesg or /var/log/syslog) showing the FreeRDP process killed due to memory exhaustion; entries such as Out of memory: Kill process [pid] (xfreerdp).core, xfreerdp.core) generated in the working directory or configured core dump path after a FreeRDP crash (FreeRDP Advisory).Update FreeRDP to version 3.24.0 or later, which includes the fix introduced in commit a9e0abf that adds a pre-subtraction bounds check in update_read_cache_bitmap_order(). As a workaround for systems that cannot be updated immediately, restrict users from connecting to untrusted or external RDP servers, and enforce network-level controls (e.g., firewall rules) to limit outbound RDP connections to known, trusted servers. Downstream distributions including Fedora, openSUSE, SUSE, Amazon Linux 2, and Debian have released updated packages (Red Hat Bugzilla, Fix Commit).
The vulnerability was reported by security researcher rahulhoysala and disclosed via the FreeRDP GitHub Security Advisory on March 13, 2026. Red Hat tracked the issue as low severity (Bug 2447381), consistent with the upstream CVSS score. Multiple Linux distributions (Fedora, openSUSE/SUSE, Amazon Linux 2, Debian) issued security updates, and scanner vendors Tenable (Nessus) and Qualys added detection plugins shortly after disclosure. No significant broader media coverage or notable social media discussion has been observed beyond routine vulnerability tracking (FreeRDP Advisory, Red Hat Bugzilla).
Fix availability across major Linux distributions and their releases.
bookworm
freerdp2
sid
freerdp3: 3.24.0+dfsg-1
trixie
freerdp3: 3.15.0+dfsg-2.1+deb13u2
bionic (esm-apps)
freerdp
bionic (esm-infra)
freerdp2
devel
freerdp3
focal (esm-infra)
freerdp2
jammy
freerdp2
noble
freerdp3: 3.30.0+dfsg-0ubuntu0.24.04.1
noble (esm-apps)
freerdp2
resolute
freerdp3
Source: This report was generated using AI
Free Vulnerability Assessment
Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.
Get a personalized demo
"Best User Experience I have ever seen, provides full visibility to cloud workloads."
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
"We know that if Wiz identifies something as critical, it actually is."