---
id: CVE-2026-109251
title: >-
  FreeRDP before 3.32.0 stores the server-supplied signed MS-RDPEGT geometry
  origin unchecked in an unsigned video surface coordinate, so the blit clamp in
  gdiVideoShowSurface() wraps in 32-bit arithmetic and is skipped
summary: >-
  FreeRDP before 3.32.0 stores the server-supplied signed MS-RDPEGT geometry
  origin unchecked in an unsigned video surface coordinate, so the blit clamp in
  gdiVideoShowSurface() wraps in 32-bit arithmetic and is skipped. A malicious
  RDP se…
severity: medium
cvss: 5.3
cvssVector: 'CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:N/A:H'
cwe:
  - CWE-129
published: '2026-10-12'
updated: '2026-10-12'
sourceUpdated: '2026-10-12T17:17:16.380'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-109251'
references:
  - url: 'https://github.com/FreeRDP/FreeRDP/security/advisories/GHSA-grvc-qhhp-7h6m'
    label: disclosure@vulncheck.com
  - url: >-
      https://www.vulncheck.com/advisories/freerdp-before-3.32.0-out-of-bounds-write-via-ms-rdpegt-video-geometry
    label: disclosure@vulncheck.com
tags:
  - nvd
ingestedAt: '2026-10-12T18:00:08.176Z'
---

## Overview

FreeRDP before 3.32.0 stores the server-supplied signed MS-RDPEGT geometry origin unchecked in an unsigned video surface coordinate, so the blit clamp in gdiVideoShowSurface() wraps in 32-bit arithmetic and is skipped. A malicious RDP server can send a negative topLevelLeft to clients connecting with /video, causing an out-of-bounds write of decoded H.264 picture data or a client abort.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
