Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessLure user to malicious RDP server
-
DeliveryClient initiates connection with smartcard emulation
-
ExploitServer returns SCardStatusA with fmszReaderNamesIsNULL=1
-
ExecutionNULL destination reaches scard_copy_strings assertion
-
ImpactClient process aborts (denial of service)
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V16 - Security Logging and Error Handling Reachable assertion handling
|
| Exploitation Conditions | Exploitation requires a specific build and runtime configuration of the FreeRDP CLIENT: it must be compiled with verbose WinPR assertions enabled AND must be using smartcard emulation - both are non-default/debug-oriented settings, so stock release builds are generally not affected. The victim must also actively initiate an RDP connection to an attacker-controlled or compromised server (UI:P / user interaction present), meaning this cannot be triggered against a client at rest. Limiting factors: the attacker must occupy the server role (reverse of normal RDP exploitation), the target must opt into smartcard emulation, and impact is confined to crashing the single connecting client - no lateral movement or code execution. |
| Impact | This is a client-side denial-of-service with limited real-world urgency, not a high-priority emergency. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:H) yields 7.1 by scoring full availability impact, but that score overstates practical risk for three reasons the vector alone obscures. First, the impact is purely availability (VC:N/VI:N) - a connecting FreeRDP client aborts via a reachable assertion (CWE-617); there is no code execution, data disclosure, or persistence, and only the single client process crashes. Second, the flaw is reachable ONLY in builds compiled with verbose WinPR assertions AND using smartcard emulation - neither is a standard production configuration - so AT:N (no attack requirements) understates a genuine target-side precondition that should arguably be AT:P. Third, the threat model is inverted from typical RDP CVEs: the MALICIOUS party is the server and the VICTIM is the connecting client (UI:P), so exploitation requires luring a user to connect to an attacker-controlled or compromised RDP endpoint. No EPSS score, KEV listing, or POC was provided; per input signals this is no public exploit identified at time of analysis. Net: a legitimate but low-severity client robustness bug, best patched on normal cadence rather than treated as an actively-exploited priority. |
| Exploit ScenarioDerived | An attacker stands up or compromises an RDP server and entices a user running a vulnerable FreeRDP client (built with verbose WinPR assertions and smartcard emulation enabled) to connect to it. During session negotiation the malicious server returns an SCardStatusA response with fmszReaderNamesIsNULL=1, passing a NULL reader-name destination into scard_copy_strings and tripping a reachable assertion that aborts the client. No public exploit code was identified in the provided intelligence. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 13, 2026
A reachable assertion in the FreeRDP client (3.0.0-beta1 through versions prior to 3.32.0) allows a malicious RDP server to crash a connecting client. When the client is built with verbose WinPR assertions enabled and is using smartcard emulation, the emulated SCardStatusA handler forwards a NULL reader-name destination to scard_copy_strings; a server that sends an SCardStatusA request with fmszReaderNamesIsNULL=1 triggers that assertion and aborts the client process. Impact is limited to a client-side denial of service against a single connecting session - no code execution, lateral movement, or credential impact - and exploitation demands both non-default build/runtime settings and a victim who initiates a connection to an attacker-controlled server. No public exploit code has been identified at time of analysis, and the flaw is not listed in CISA KEV; EPSS data was not provided, but the narrow configuration prerequisites keep real-world urgency low despite the 7.1 CVSS 4.0 score.
RemediationAI
Upgrade the FreeRDP client to 3.32.0 or later, which is the version boundary named in the advisory and removes the reachable assertion. If an immediate upgrade is not possible, the most effective compensating control is to rebuild without verbose WinPR assertions (i.e., use standard release/debug-flag configuration) so the assertion path is not compiled in - the trade-off is loss of verbose assertion diagnostics for other development or fuzzing work. Secondarily, disable smartcard emulation in the client (omit smartcard/SCARD smartcard device redirection from the RDP connection configuration or the client's smartcard emulation option); this removes the vulnerable virtual-channel handler entirely, at the cost of losing smartcard authentication/redirection functionality for users who require it. Because the trigger originates from the server, restricting client connections to trusted, administratively controlled RDP hosts provides an additional layer of defense but is operationally restrictive in environments where users must reach third-party endpoints. Monitor the GitHub advisory GHSA-996j-34w6-5hgm for vendor-supplied backports covering maintained release branches. Note that no vendor-released patch beyond the 3.32.0 upgrade is identified in the provided data, and no public exploit code exists at time of analysis, so prioritization can follow normal patch cycles rather than emergency response.
Affected VersionsENISA
Affected Packages
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, and WinPR is its Windows API emulation/pAL layer. The affected code path is the client-side smartcard emulation subsystem, which speaks the RDPDR/SCARD virtual channel and implements PC/SC-style entry points such as SCardStatusA. In the vulnerable builds, SCardStatusA is implemented as a reachable assertion: when the server sets fmszReaderNamesIsNULL=1 in its SCardStatusA request, the client passes a NULL destination buffer to the internal helper scard_copy_strings, and the assertion fires, terminating the process. This maps to CWE-617 (Reachable Assertion) - a defensive check that is incorrectly reachable from untrusted, network-delivered input rather than a memory-safety bug, which is why the impact is availability-only with no confidentiality or integrity loss. The affected CPE (cpe:2.3:a:freerdp:freerdp:*:*:*:*:*:*:*:*) confirms the whole FreeRDP product family across the pre-3.32.0 range, and the verbose WinPR assertion build flag is the key differentiator between vulnerable and stock release builds.
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
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
AC:H and UI:R because exploitation needs a non-default verbose-assertion build with smartcard emulation plus a victim-initiated connection to a malicious server; impact is availability-only (A:H), no C/I.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
2DescriptionCVE.org
FreeRDP 3.0.0-beta1 before 3.32.0, when built with verbose WinPR assertions and using smartcard emulation, has a reachable assertion: the emulated SCardStatusA passes a NULL reader-name destination to scard_copy_strings. A malicious RDP server can send an SCardStatusA request with fmszReaderNamesIsNULL=1 to abort a connecting client.
Technical POC Analysis
CWE-617 (Reachable Assertion).
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
The FreeRDP remote desktop client, in releases from 3.0.0-beta1 through those preceding 3.32.0, can be forced to terminate by a hostile RDP server when smartcard emulation is active and verbose WinPR assertion checking is compiled in. The blast radius is a single interrupted client session per affected user; there is no code execution, credential exposure, or ability to move laterally, and exploitation requires non-default build and runtime settings plus a user who deliberately connects to an attacker-controlled server. Leadership should treat this as a contained availability issue affecting a narrow, technically specific user population rather than an enterprise-wide outage risk.
No vendor-released patch identified at time of analysis. Interim mitigations: disable smartcard emulation on affected FreeRDP clients where the capability is not operationally required; deploy production release builds with verbose WinPR assertions disabled rather than debug/assertion-enabled binaries; restrict outbound RDP connections to an allow-list of trusted, internally controlled servers through egress filtering; and educate users not to initiate RDP sessions to untrusted or unsolicited remote hosts. Note that the prerequisite of a user-initiated connection to an attacker-controlled server substantially limits exposure.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
Use-after-free in FreeRDP xf_clipboard_format_equal before 3.23.0. Clipboard format comparison uses freed memory. Fifth
Use-after-free in FreeRDP xf_AppUpdateWindowFromSurface before 3.23.0. Surface-to-window update triggers memory corrupti
Use-after-free in FreeRDP xf_SetWindowMinMaxInfo before version 3.23.0. X11 client window management triggers memory cor
Use-after-free in FreeRDP xf_cliprdr_provide_data clipboard handling before 3.23.0. Clipboard data exchange triggers mem
FreeRDP IRP thread handler has a use-after-free where the IRP is freed by Complete() then accessed on the error path. Fi
FreeRDP drive read heap overflow when server-controlled read length exceeds IRP output buffer. Fixed in 3.20.1. PoC avai
FreeRDP client before 3.20.1 has a heap buffer overflow in AUDIN format processing. A malicious RDP server can corrupt m
Use-after-free in FreeRDP xf_AppUpdateWindowFromSurface before 3.23.0. Different code path from CVE-2026-25953. PoC and
FreeRDP is a free implementation of the Remote Desktop Protocol. Rated critical severity (CVSS 9.8), this vulnerability
FreeRDP is a free implementation of the Remote Desktop Protocol (RDP), released under the Apache license. Rated critical
FreeRDP is a free implementation of the Remote Desktop Protocol (RDP), released under the Apache license. Rated critical
FreeRDP is a free implementation of the Remote Desktop Protocol (RDP), released under the Apache license. Rated critical
EUVD-2026-98700
GHSA-9rqv-83g7-qj3p
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB