CVE-2026-26955 FreeRDP is a free implementation of the Remote Desktop Protocol
Description
FreeRDP is a free implementation of the Remote Desktop Protocol. Prior to version 3.23.0, a malicious RDP server can trigger a heap buffer overflow in FreeRDP clients using the GDI surface pipeline (e.g., `xfreerdp`) by sending an RDPGFX ClearCodec surface command with an out-of-bounds destination rectangle. The `gdi_SurfaceCommand_ClearCodec()` handler does not call `is_within_surface()` to validate the command rectangle against the destination surface dimensions, allowing attacker-controlled `cmd->left`/`cmd->top` (and subcodec rectangle offsets) to reach image copy routines that write into `surface->data` without bounds enforcement. The OOB write corrupts an adjacent `gdiGfxSurface` struct's `codecs*` pointer with attacker-controlled pixel data, and corruption of `codecs*` is sufficient to reach an indirect function pointer call (`NSC_CONTEXT.decode` at `nsc.c:500`) on a subsequent codec command — full instruction pointer (RIP) control demonstrated in exploitability harness. Users should upgrade to version 3.23.0 to receive a patch.
Produits et versions touchés
| Produit | Versions touchées | Corrigé en |
|---|---|---|
| Red Hat Enterprise Linux Server (v. 7 ELS) | Versions non publiées | |
| Red Hat Enterprise Linux Server Optional (v. 7 ELS) | Versions non publiées | |
| Red Hat Enterprise Linux AppStream EUS (v. 10.0) | Versions non publiées | |
| Red Hat Enterprise Linux AppStream (v. 10) | Versions non publiées | |
| Red Hat Enterprise Linux AppStream (v. 8) | Versions non publiées | |
| Red Hat Enterprise Linux AppStream AUS (v. 8.2) | Versions non publiées | |
| Red Hat Enterprise Linux AppStream AUS (v.8.4) | Versions non publiées | |
| Red Hat Enterprise Linux AppStream EUS EXTENSION (v.8.4) | Versions non publiées | |
| Red Hat Enterprise Linux AppStream AUS (v.8.6) | Versions non publiées |
Afficher les 34 autres branches Masquer les 34 autres branches
Références
- github.com github.com
- github.com github.com
Chronologie
- Publiée
- Dernière modification