CVE-2026-22858: FreeRDP has a global-buffer-overflow in crypto_base64_decode
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.
Security readout for executives and security teams
Plain-English summary
FreeRDP before 3.20.1 can access memory outside a lookup table when decoding specially formed Base64 data, particularly on Arm/AArch64 builds. A remote, unauthenticated attacker may affect confidentiality or availability, although exploitation requires high complexity. Upgrade affected deployments promptly.
Executive priority
Treat this as a high-priority patching item, especially for externally reachable or otherwise untrusted-data-facing Arm/AArch64 deployments. The absence of documented active exploitation lowers emergency pressure, but remote unauthenticated reachability and possible confidentiality and availability impact justify timely remediation.
Technical view
Implementation-defined plain-char signedness can weaken a bounds guard in crypto_base64_decode on Arm/AArch64. Bytes from 0x80 through 0xFF may then index beyond a global lookup table. The issue is remotely reachable without privileges or user interaction, has CVSS 3.1 score 7.4, and is fixed in FreeRDP 3.20.1.
Likely exposure
Exposure exists where FreeRDP versions earlier than 3.20.1 process untrusted RDP-related data. Arm/AArch64 builds deserve particular attention because the documented trigger depends on unsigned plain-char behavior. The supplied evidence does not establish exposure for every build, distribution package, or deployment configuration.
Exploitation context
The CVSS vector indicates remote, unauthenticated exploitation without user interaction, but with high attack complexity. The source bundle marks this CVE as absent from KEV and provides no evidence of active exploitation or a public exploit. Potential impact is limited to confidentiality and availability in the supplied scoring.
Researcher notes
CWE mappings include out-of-bounds read, implementation-defined behavior, and out-of-bounds write, but the supplied description specifically documents out-of-bounds table access. It does not establish reliable code execution, affected call paths beyond Base64 decoding, or exploitation in the wild. Architecture and compiler behavior are important validation variables.
Mitigation direction
Upgrade FreeRDP to version 3.20.1 or later.
Apply the relevant vendor or distribution security update where FreeRDP is packaged.
Prioritize exposed Arm/AArch64 systems running affected versions.
Consult FreeRDP and distribution advisories for deployment-specific guidance.
Validation and detection
Inventory installed and embedded FreeRDP versions across systems and applications.
Identify Arm/AArch64 deployments and confirm whether they run versions earlier than 3.20.1.
Verify updated systems report FreeRDP 3.20.1 or a vendor-confirmed patched package.
Confirm applicable Red Hat errata are installed on affected Red Hat systems.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cwe · low confidence lookup
CWE-125: Exact CWE lookup
Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
CWE-125 · source CWE mapping
Out-of-bounds Read
Out-of-bounds Read represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.
Reliance on Undefined, Unspecified, or Implementation-Defined Behavior
Reliance on Undefined, Unspecified, or Implementation-Defined Behavior represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.
Out-of-bounds Write represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.