CVE-2026-23530: FreeRDP has heap-buffer-overflow in planar_decompress_plane_rle
FreeRDP is a free implementation of the Remote Desktop Protocol. Prior to version 3.21.0,`freerdp_bitmap_decompress_planar` does not validate `nSrcWidth`/`nSrcHeight` against `planar->maxWidth`/`maxHeight` before RLE decode. A malicious server can trigger a client‑side heap buffer overflow, causing a crash (DoS) and potential heap corruption with code‑execution risk depending on allocator behavior and surrounding heap layout. Version 3.21.0 contains a patch for the issue.
Security readout for executives and security teams
Plain-English summary
FreeRDP clients before 3.21.0 can be crashed by a malicious RDP server during bitmap decompression. The bug is a heap buffer overflow, so the main confirmed impact is denial of service, with possible code-execution risk depending on memory layout. The source bundle says 3.21.0 contains the fix.
Executive priority
Treat as high priority for endpoint and administrator workstations using FreeRDP. The strongest business risk is disruption from client crashes; memory corruption adds uncertainty and justifies timely patching even without confirmed exploitation.
Technical view
The issue is in freerdp_bitmap_decompress_planar: nSrcWidth and nSrcHeight were not validated against planar->maxWidth and maxHeight before planar RLE decoding. That can overflow a heap buffer in planar_decompress_plane_rle. The CVSS 4.0 score is 7.7 high, with network attack vector and no privileges required.
Likely exposure
Exposure is most likely on systems running FreeRDP clients or software embedding FreeRDP before 3.21.0, especially where users connect to unfamiliar, external, or compromised RDP servers. Downstream Linux packages may have separate vendor-fixed versions.
Exploitation context
The provided bundle does not show CISA KEV listing or confirmed active exploitation. The threat model is a malicious server triggering client-side memory corruption. Public details identify the vulnerable code path and fixed release, but the bundle does not provide weaponized exploit evidence.
Researcher notes
Focus validation on planar bitmap decompression and bounds checks before RLE decode. The advisory names CWE-122 and affected versions before 3.21.0. The source bundle supports DoS and potential heap corruption risk, but not reliable remote code execution or active exploitation.
Mitigation direction
Upgrade FreeRDP to 3.21.0 or a vendor-fixed downstream package.
Prioritize clients connecting to external, third-party, or unmanaged RDP servers.
Apply relevant Red Hat errata where FreeRDP is supplied by Red Hat.
Restrict FreeRDP use to trusted servers until patched.
Check vendor guidance for any distribution-specific backports or mitigations.
Validation and detection
Inventory FreeRDP client installations and embedded FreeRDP dependencies.
Confirm installed versions are 3.21.0 or vendor-fixed builds.
Review package advisories for Red Hat or other downstream distributions.
Identify users or services connecting to untrusted RDP servers.
Document remaining exceptions and compensating controls.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cwe · low confidence lookup
CWE-122: Exact CWE lookup
Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
CWE-122 · source CWE mapping
Heap-based Buffer Overflow
Heap-based Buffer Overflow represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.