---
id: CVE-2026-109942
title: >-
  FreeRDP 2.3.0 before 3.32.0 dereferences a NULL stream in
  rdg_process_close_packet in libfreerdp/core/gateway/rdg.c because
  rdg_process_control_packet accepts a header-only PKT_TYPE_CLOSE_CHANNEL packet
  and passes the null payload withou…
summary: >-
  FreeRDP 2.3.0 before 3.32.0 dereferences a NULL stream in
  rdg_process_close_packet in libfreerdp/core/gateway/rdg.c because
  rdg_process_control_packet accepts a header-only PKT_TYPE_CLOSE_CHANNEL packet
  and passes the null payload withou…
severity: medium
cvss: 6.5
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H'
cwe:
  - CWE-476
published: '2026-10-13'
updated: '2026-10-14'
sourceUpdated: '2026-10-14T20:10:50.690'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-109942'
references:
  - url: 'https://github.com/FreeRDP/FreeRDP/security/advisories/GHSA-f46f-pxh9-w2rh'
    label: disclosure@vulncheck.com
  - url: >-
      https://www.vulncheck.com/advisories/freerdp-2.3.0-before-3.32.0-null-pointer-dereference-via-rd-gateway-close-channel-packet
    label: disclosure@vulncheck.com
tags:
  - nvd
  - cve.org
  - exploit-available
epss: 0.00325
epssPercentile: 0.25699
ingestedAt: '2026-10-13T14:29:01.850Z'
vendor: FreeRDP
product: FreeRDP
affected:
  - FreeRDP >= 2.3.0 < 3.32.0
exploitAvailable: true
ssvc:
  exploitation: poc
  automatable: 'no'
  technicalImpact: partial
  timestamp: '2026-10-16T21:47:17.115851Z'
---

## Overview

FreeRDP 2.3.0 before 3.32.0 dereferences a NULL stream in rdg_process_close_packet in libfreerdp/core/gateway/rdg.c because rdg_process_control_packet accepts a header-only PKT_TYPE_CLOSE_CHANNEL packet and passes the null payload without a check. A malicious or compromised RD Gateway can send an eight-byte CLOSE_CHANNEL header to crash a connecting FreeRDP client.

## Remediation

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