CVE-2026-22858
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.
How to fix
- freerdp freerdp3.20.1 or later
- access.redhat.com/errata/RHSA-2026:4471
- access.redhat.com/errata/RHSA-2026:4121
- access.redhat.com/errata/RHSA-2026:3068
- access.redhat.com/errata/RHSA-2026:19033
- access.redhat.com/errata/RHSA-2026:3334
- access.redhat.com/errata/RHSA-2026:4433
- access.redhat.com/errata/RHSA-2026:4439
- access.redhat.com/errata/RHSA-2026:4446
- access.redhat.com/errata/RHSA-2026:4440
- access.redhat.com/errata/RHSA-2026:4489
- access.redhat.com/errata/RHSA-2026:4437
- access.redhat.com/errata/RHSA-2026:4438
Affected products
| Product | Affected versions | Fixed in |
|---|---|---|
| freerdp freerdp | v < 3.20.1 | 3.20.1 |
Check your version
Choose the product and enter the version you run to see whether it falls in the affected range.
Attack Surface Management
See the assets tied to your domains, the technologies they run and known vulnerabilities in one list.