CVE-2026-22858
CriticalCVSS 9.1Exploitation Probability (EPSS)
Low risk44th percentile - higher than 44% of all known CVEs
Summary
In FreeRDP prior to 3.20.1, a global-buffer-overflow was found in the Base64 decoding path. The root cause is implementation-defined char signedness: on Arm/AArch64 builds, plain char is unsigned, so the guard c <= 0 can be optimized to c != 0, allowing non-ASCII bytes (0x80-0xFF) to bypass range checks and be used as an index into a global lookup table, causing out-of-bounds access.
Risk Assessment
An attacker could exploit this vulnerability to remotely read out-of-bounds memory, potentially leading to disclosure of sensitive data or destabilization of the RDP service.
Recommendation
Immediately update FreeRDP to version 3.20.1 or later, which includes a fix for this vulnerability.
Original NVD description (English source)
FreeRDP is a free implementation of the Remote Desktop Protocol. Prior to 3.20.1, global-buffer-overflow was observed in FreeRDP's Base64 decoding path. The root cause appears to be implementation-defined char signedness: on Arm/AArch64 builds, plain char is treated as unsigned, so the guard c <= 0 can be optimized into a simple c != 0 check. As a result, non-ASCII bytes (e.g., 0x80-0xFF) may bypass the intended range restriction and be used as an index into a global lookup table, causing out-of-bounds access. This vulnerability is fixed in 3.20.1.

