Skip to main content

FreeRDP EUVDEUVD-2026-98707

| CVE-2026-109942 HIGH
NULL Pointer Dereference (CWE-476)
2026-10-13 VulnCheck GHSA-hmpv-fgqw-2f74
7.1
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Lure/await client connection to malicious RD Gateway
  2. Delivery
    Send 8-byte PKT_TYPE_CLOSE_CHANNEL header
  3. Exploit
    Null payload passed unchecked to close handler
  4. Execution
    NULL dereference in rdg_process_close_packet
  5. Impact
    FreeRDP client process crashes

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A10:2025 - Mishandling of Exceptional Conditions
ASVS 5.0
V16 - Security Logging and Error Handling Null pointer safety, defensive checks
MITRE ATT&CK

1 technique across 1 tactic: Impact

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires the victim FreeRDP client to establish an RDP connection routed through an RD Gateway that is attacker-controlled or already compromised/MITM'd; the malicious gateway then returns a header-only PKT_TYPE_CLOSE_CHANNEL packet with no payload. Limiting factors: the attacker must occupy the gateway position (not an arbitrary remote host), the user must initiate the connection (UI:P / UI:R), the client must run FreeRDP 2.3.0 through 3.31.x, and the gateway/RDG transport path must be in use. Impact is limited to crashing the client process (denial of service) - no code execution, data disclosure, or integrity loss.

Impact

This is a genuine but bounded availability-only issue, not a top-tier priority. The provided CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:H, base 7.1) correctly captures that exploitation is network-reachable and low-complexity but requires passive user interaction (UI:P) - the victim FreeRDP client must initiate a connection through the attacker's RD Gateway - and the impact is confined to availability (VA:H), with zero confidentiality or integrity effect. That is the defining caveat: the attacker is not a random remote party but 'a malicious or compromised RD Gateway,' so the real-world attacker model is either an operator of a hostile gateway or an adversary who has already compromised/MITM'd the gateway a client is steered toward. No EPSS score, KEV listing, SSVC decision, or POC was supplied in the intelligence, so exploitation-probability signals are absent rather than low - do not read the missing EPSS as 'low risk,' it is simply not provided. Reported by VulnCheck with a FreeRDP GHSA advisory, the defect itself is well-corroborated, but there is no evidence of exploitation and the payoff (a client crash) is low, so this should be patched on a normal cadence rather than treated as an emergency.

Exploit ScenarioDerived

An attacker who operates or has compromised an RD Gateway waits for a FreeRDP client (2.3.0 up to but not including 3.32.0) to connect through it. The gateway replies with a bare eight-byte PKT_TYPE_CLOSE_CHANNEL header carrying no payload; rdg_process_control_packet forwards the null payload to rdg_process_close_packet, which dereferences the NULL stream and crashes the client. No public exploit code was identified in the provided data, but the trigger is a single crafted header and is trivial to reproduce.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 13, 2026

NULL pointer dereference in FreeRDP's Remote Desktop Gateway (RDG) transport path affects client builds from 2.3.0 up to (but not including) 3.32.0, allowing an attacker who controls or has compromised the RD Gateway to crash a connecting client. The malicious gateway only needs to return an eight-byte, header-only PKT_TYPE_CLOSE_CHANNEL control packet; rdg_process_control_packet forwards the absent payload to rdg_process_close_packet without a NULL check, and the client dereferences it. The attacker must already occupy the gateway position (not an arbitrary remote host) and the user must initiate the outbound RDP session, so this is a bounded, availability-only denial of service - CVSS v4.0 base 7.1, with the independent assessment scoring it AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H. No public exploit code and no confirmed active exploitation were identified at time of analysis, and the gateway-position prerequisite constrains realistic abuse.

RemediationAI

Upgrade the FreeRDP client to 3.32.0 or later, the version boundary at which the affected 2.3.0-through-3.31.x range ends; see the vendor advisory at https://github.com/FreeRDP/FreeRDP/security/advisories/GHSA-f46f-pxh9-w2rh and the VulnCheck advisory at https://www.vulncheck.com/advisories/freerdp-2.3.0-before-3.32.0-null-pointer-dereference-via-rd-gateway-close-channel-packet for the fix details and confirm the resolved package version with your distribution's backport status before assuming patched binaries. Because exploitation requires the attacker to hold the RD Gateway position, the most effective compensating control is to connect only through RD Gateways you operate or otherwise trust; refusing RDG routing entirely and connecting directly to RDP hosts removes the attack path at the cost of losing gateway-mediated NAT traversal, TLS termination, and policy enforcement. If untrusted gateways are unavoidable, isolate the client so a crash cannot cascade into session-loss impact on other workloads, use supervisor or watchdog restarts to bound downtime, and treat any FreeRDP client crash immediately following an RDG connection as a potential exploitation signal. There is no server-side toggle in FreeRDP itself that disables processing of PKT_TYPE_CLOSE_CHANNEL, so no client-configuration-only workaround exists beyond version upgrade. Do not characterize this as a patched-in-the-wild emergency: it is an availability-only defect and the patch should be scheduled through normal client update channels.

Affected VersionsENISA

FreeRDP 2.3.0 <3.32.0

Affected Packages

euvd freerdp fix: 3.32.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

FreeRDP is an open-source implementation of the Remote Desktop Protocol used by numerous RDP clients on Linux, macOS, and other platforms. When a FreeRDP client connects through a Microsoft RD Gateway (RDG), traffic is tunneled over the RDG protocol implemented in libfreerdp/core/gateway/rdg.c, which multiplexes control packets (PKT_TYPE_CLOSE_CHANNEL among them) alongside tunneled data. The root cause is CWE-476 (NULL Pointer Dereference): rdg_process_control_packet accepts a valid, well-formed PKT_TYPE_CLOSE_CHANNEL header that carries no payload bytes and then passes the resulting NULL payload pointer into rdg_process_close_packet, which dereferences it without validation. Because the crash occurs during parsing of a control frame the client itself solicits by connecting, the defect lives entirely in the client-side RDG state machine and requires no malformed-length or buffer-overflow conditions - a syntactically legitimate eight-byte header is sufficient. The CPE cpe:2.3:a:freerdp:freerdp:*:*:*:*:*:*:*:* reflects an unbounded version wildcard; the description narrows the vulnerable range to 2.3.0 through 3.31.x. Impact is confined to abnormal process termination: no memory corruption, code execution, data disclosure, or integrity loss is described.

Know when Freerdp gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (VulnCheck) PRIMARY 7.1 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
vuln.today AI 6.5 MEDIUM

Network-triggered by a malicious gateway with low complexity and no attacker privileges, but the victim must initiate the connection (UI:R); impact is availability-only (client crash), so C:N/I:N/A:H.

3.1 AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
4.0 AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
Passive
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
None
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
Patch available
Oct 13, 2026 - 15:17 EUVD
CVE Published
Oct 13, 2026 - 13:27 cve.org
HIGH 7.1

DescriptionCVE.org

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.

Technical POC Analysis

CWE-476 (NULL pointer dereference) in the RD Gateway client transport, libfreerdp/core/gateway/rdg.c.

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

FreeRDP client versions 2.3.0 through 3.31.x are susceptible to a denial-of-service vulnerability when connecting via a Remote Desktop Gateway (RDG). An attacker who controls or has compromised the gateway can crash the client, disrupting remote desktop sessions for users relying on FreeRDP for remote work. Although the attack requires the adversary to already occupy the gateway role, it can cause operational downtime and impact productivity for affected teams. No public exploit identified at time of analysis.

Business Impact: Medium
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: Restrict FreeRDP clients to connect only to trusted, internal RD Gateways; disable RDG transport if not business-critical; monitor gateway logs for anomalies; implement network segmentation to limit impact; consider using alternative RDP clients until a patch is available.

Threat Intelligence Overview

EPSS Score
0.3%
Top 82% exploitable
Prevalence
High
FreeRDP is a widely embedded open-source RDP client library
Data Quality
5 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact
Medium

Priority Score

36
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +36
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

A null pointer dereference occurs when a program attempts to access memory through a pointer that has been set to NULL (address 0x0).

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

CVE-2026-25997 CRITICAL POC
9.8 Feb 25

Use-after-free in FreeRDP xf_clipboard_format_equal before 3.23.0. Clipboard format comparison uses freed memory. Fifth

CVE-2026-25953 CRITICAL POC
9.8 Feb 25

Use-after-free in FreeRDP xf_AppUpdateWindowFromSurface before 3.23.0. Surface-to-window update triggers memory corrupti

CVE-2026-25952 CRITICAL POC
9.8 Feb 25

Use-after-free in FreeRDP xf_SetWindowMinMaxInfo before version 3.23.0. X11 client window management triggers memory cor

CVE-2026-25959 CRITICAL POC
9.8 Feb 25

Use-after-free in FreeRDP xf_cliprdr_provide_data clipboard handling before 3.23.0. Clipboard data exchange triggers mem

CVE-2026-22857 CRITICAL POC
9.8 Jan 14

FreeRDP IRP thread handler has a use-after-free where the IRP is freed by Complete() then accessed on the error path. Fi

CVE-2026-22854 CRITICAL POC
9.8 Jan 14

FreeRDP drive read heap overflow when server-controlled read length exceeds IRP output buffer. Fixed in 3.20.1. PoC avai

CVE-2026-22852 CRITICAL POC
9.8 Jan 14

FreeRDP client before 3.20.1 has a heap buffer overflow in AUDIN format processing. A malicious RDP server can corrupt m

CVE-2026-25955 CRITICAL POC
9.8 Feb 25

Use-after-free in FreeRDP xf_AppUpdateWindowFromSurface before 3.23.0. Different code path from CVE-2026-25953. PoC and

CVE-2024-32041 CRITICAL POC
9.8 Apr 22

FreeRDP is a free implementation of the Remote Desktop Protocol. Rated critical severity (CVSS 9.8), this vulnerability

CVE-2023-40574 CRITICAL POC
9.8 Aug 31

FreeRDP is a free implementation of the Remote Desktop Protocol (RDP), released under the Apache license. Rated critical

CVE-2023-40569 CRITICAL POC
9.8 Aug 31

FreeRDP is a free implementation of the Remote Desktop Protocol (RDP), released under the Apache license. Rated critical

CVE-2023-40567 CRITICAL POC
9.8 Aug 31

FreeRDP is a free implementation of the Remote Desktop Protocol (RDP), released under the Apache license. Rated critical

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy