Description
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.
Problem types
CWE-122: Heap-based Buffer Overflow
Product status
References
github.com/...reeRDP/security/advisories/GHSA-r4hv-852m-fq7p
github.com/...cfbcec279033f8394468/libfreerdp/codec/planar.c
github.com/...cfbcec279033f8394468/libfreerdp/codec/planar.c
github.com/...cfbcec279033f8394468/libfreerdp/codec/planar.c
github.com/FreeRDP/FreeRDP/releases/tag/3.21.0