Home

Description

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.

PUBLISHED Reserved 2026-01-12 | Published 2026-01-14 | Updated 2026-01-14 | Assigner GitHub_M




MEDIUM: 5.6CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:P/VC:H/VI:N/VA:H/SC:N/SI:N/SA:N/E:P

Problem types

CWE-125: Out-of-bounds Read

CWE-758: Reliance on Undefined, Unspecified, or Implementation-Defined Behavior

Product status

< 3.20.1
affected

References

github.com/...reeRDP/security/advisories/GHSA-qmqf-m84q-x896

github.com/FreeRDP/FreeRDP/releases/tag/3.20.1

cve.org (CVE-2026-22858)

nvd.nist.gov (CVE-2026-22858)

Download JSON