CVE-2026-45700 Heap-buffer-overflow write in planar bitmap decoder
An attacker can trigger a heap buffer overflow in FreeRDP's planar bitmap decoder, potentially leading to arbitrary code execution.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- A user has to click or open something
- Fix
- Available
What is CVE-2026-45700?
CVE-2026-45700 is a high-severity memory corruption vulnerability in Freerdp Freerdp, published on 29 May 2026. An attacker can exploit it over the internet without logging in, and only if a user opens a file or follows a link.
Official description
FreeRDP is a free implementation of the Remote Desktop Protocol. Prior to 3.26.0, FreeRDP's planar bitmap decoder has an out-of-bounds heap write when decoding RLE planar data. In libfreerdp/codec/planar.c, freerdp_bitmap_decompress_planar() validates the X destination coordinate nXDst against the caller-provided destination stride (nDstStep) even when it is writing into the internal temp buffer pTempData. An attacker can bypass the check with a large nDstStep and a large nXDst, causing planar_decompress_plane_rle() to write past the end of pTempData. This vulnerability is fixed in 3.26.0.
Weakness: CWE-787
Which versions are affected by CVE-2026-45700?
It affects 1 product.
Linux distribution packages (40)
freerdp AlmaLinux:8 | All versions | 2:2.11.7-10.el8_10 |
freerdp-devel AlmaLinux:8 | All versions | 2:2.11.7-10.el8_10 |
freerdp-libs AlmaLinux:8 | All versions | 2:2.11.7-10.el8_10 |
libwinpr AlmaLinux:8 | All versions | 2:2.11.7-10.el8_10 |
libwinpr-devel AlmaLinux:8 | All versions | 2:2.11.7-10.el8_10 |
freerdp AlmaLinux:9 | All versions | 2:2.11.7-7.el9_8.4 |
freerdp-devel AlmaLinux:9 | All versions | 2:2.11.7-7.el9_8.4 |
freerdp-libs AlmaLinux:9 | All versions | 2:2.11.7-7.el9_8.4 |
libwinpr AlmaLinux:9 | All versions | 2:2.11.7-7.el9_8.4 |
libwinpr-devel AlmaLinux:9 | All versions | 2:2.11.7-7.el9_8.4 |
freerdp Red Hat:enterprise_linux:8::appstream | All versions | 2:2.11.7-10.el8_10 |
freerdp-debuginfo Red Hat:enterprise_linux:8::appstream | All versions | 2:2.11.7-10.el8_10 |
freerdp-debugsource Red Hat:enterprise_linux:8::appstream | All versions | 2:2.11.7-10.el8_10 |
freerdp-libs Red Hat:enterprise_linux:8::appstream | All versions | 2:2.11.7-10.el8_10 |
freerdp-libs-debuginfo Red Hat:enterprise_linux:8::appstream | All versions | 2:2.11.7-10.el8_10 |
libwinpr Red Hat:enterprise_linux:8::appstream | All versions | 2:2.11.7-10.el8_10 |
libwinpr-debuginfo Red Hat:enterprise_linux:8::appstream | All versions | 2:2.11.7-10.el8_10 |
libwinpr-devel Red Hat:enterprise_linux:8::appstream | All versions | 2:2.11.7-10.el8_10 |
freerdp-debuginfo Red Hat:enterprise_linux:8::crb | All versions | 2:2.11.7-10.el8_10 |
freerdp-debugsource Red Hat:enterprise_linux:8::crb | All versions | 2:2.11.7-10.el8_10 |
freerdp-devel Red Hat:enterprise_linux:8::crb | All versions | 2:2.11.7-10.el8_10 |
freerdp-libs-debuginfo Red Hat:enterprise_linux:8::crb | All versions | 2:2.11.7-10.el8_10 |
libwinpr-debuginfo Red Hat:enterprise_linux:8::crb | All versions | 2:2.11.7-10.el8_10 |
freerdp Red Hat:enterprise_linux:9::appstream | All versions | 2:2.11.7-7.el9_8.4 |
freerdp-debuginfo Red Hat:enterprise_linux:9::appstream | All versions | 2:2.11.7-7.el9_8.4 |
freerdp-debugsource Red Hat:enterprise_linux:9::appstream | All versions | 2:2.11.7-7.el9_8.4 |
freerdp-libs Red Hat:enterprise_linux:9::appstream | All versions | 2:2.11.7-7.el9_8.4 |
freerdp-libs-debuginfo Red Hat:enterprise_linux:9::appstream | All versions | 2:2.11.7-7.el9_8.4 |
libwinpr Red Hat:enterprise_linux:9::appstream | All versions | 2:2.11.7-7.el9_8.4 |
libwinpr-debuginfo Red Hat:enterprise_linux:9::appstream | All versions | 2:2.11.7-7.el9_8.4 |
freerdp-debuginfo Red Hat:enterprise_linux:9::crb | All versions | 2:2.11.7-7.el9_8.4 |
freerdp-debugsource Red Hat:enterprise_linux:9::crb | All versions | 2:2.11.7-7.el9_8.4 |
freerdp-devel Red Hat:enterprise_linux:9::crb | All versions | 2:2.11.7-7.el9_8.4 |
freerdp-libs-debuginfo Red Hat:enterprise_linux:9::crb | All versions | 2:2.11.7-7.el9_8.4 |
libwinpr-debuginfo Red Hat:enterprise_linux:9::crb | All versions | 2:2.11.7-7.el9_8.4 |
libwinpr-devel Red Hat:enterprise_linux:9::crb | All versions | 2:2.11.7-7.el9_8.4 |
freerdp Red Hat:rhel_aus:8.4::appstream | All versions | 2:2.2.0-14.el8_4.1 |
freerdp-debuginfo Red Hat:rhel_aus:8.4::appstream | All versions | 2:2.2.0-14.el8_4.1 |
freerdp-debugsource Red Hat:rhel_aus:8.4::appstream | All versions | 2:2.2.0-14.el8_4.1 |
freerdp-libs Red Hat:rhel_aus:8.4::appstream | All versions | 2:2.2.0-14.el8_4.1 |
Products include Freerdp Freerdp.
How do I fix CVE-2026-45700?
Upgrade to a fixed version.
Upgrade to the fixed version. Memory-safe languages, compiler hardening and fuzzing prevent most new cases. More about Memory corruption.
Is CVE-2026-45700 being exploited?
It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-45700 exists.
Other vulnerabilities in Freerdp Freerdp
- CVE-2021-37594 Other in n/a
- CVE-2021-37595 Other in n/a
- CVE-2026-67305 FreeRDP Windows Client before 3.29.0 Heap Buffer Overflow via Cliprdr
- CVE-2026-66402 FreeRDP before 3.29.0 TLS Certificate Identity Validation Bypass
- CVE-2026-67289 FreeRDP before 3.29.0 HTTP Proxy Request Injection via Redirection
Sources
Also known as ALSA-2026:37207, ALSA-2026:38501, DEBIAN-CVE-2026-45700, GHSA-mpxh-8fq3-x8mh, MINI-9x4f-vmc6-2mw5, RHSA-2026:37207 and 12 more.