Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessInsert malicious PKCS#11 token or load rogue module
-
ExploitVictim initiates FreeRDP key enumeration
-
ExecutionHex-encode 55-64 byte CKA_ID into 128-byte stack buffer
-
ImpactOverflow stack and crash client
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Stack buffer bounds checking
MITRE ATT&CK
1 technique across 1 tactic: Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires a FreeRDP client (version 3.0.0-beta1 up to but not including 3.32.0) built on Unix WITH PKCS#11 support enabled - a non-default/optional build configuration. The attacker must supply a malicious PKCS#11 token or module containing a key AND matching certificate that both use a CKA_ID between 55 and 64 bytes, and the victim must initiate key enumeration (typically smart-card authentication). Limiting factors: the physical attack vector (attacker-controlled token/module must reach the victim), the requirement for user interaction to trigger enumeration, and the non-default PKCS#11 build requirement all substantially narrow real-world exploitability; impact is confined to a client-side crash. |
| Impact | This is a genuinely low-priority issue despite the CWE-121 stack-overflow classification. The authoritative CVSS 4.0 vector (AV:P/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:H) scores 5.1 (MEDIUM) and tells a consistent story: the attack vector is PHYSICAL (AV:P), user interaction is required (UI:P), and the only impact is availability (VA:H) - the advisory itself describes the outcome merely as 'causing a crash,' not code execution. Although CWE-121 stack overflows are often a stepping stone to RCE, both the vendor description and the CVSS impact metrics explicitly limit this to a denial-of-service/crash, with no confidentiality or integrity impact. No KEV listing, no EPSS score, and no POC were provided in the intelligence, so exploitation is: no public exploit identified at time of analysis. The physical attack vector plus the requirement for a FreeRDP build with PKCS#11 support and victim-initiated key enumeration make real-world exploitation narrow and targeted rather than widespread. One caveat to verify: the overflow writes attacker-controlled hex data onto the stack, so RCE cannot be fully ruled out on builds without stack protections - but the vendor and CVSS both assess impact as availability-only, and that assessment should be trusted absent contrary evidence. |
| Exploit ScenarioDerived | An attacker presents a malicious PKCS#11 token (e.g., a rogue smart card) or convinces a user to load a hostile PKCS#11 module containing a key and matching certificate whose CKA_ID is 55-64 bytes long. When the FreeRDP client enumerates keys on the token (such as during smart-card logon), wprintKeyName() hex-encodes the oversized CKA_ID into a fixed 128-byte stack buffer, overflowing it and crashing the client. No public exploit code was identified in the provided data. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 13, 2026
FreeRDP clients on Unix built with PKCS#11 support (3.0.0-beta1 up to but not including 3.32.0) can be crashed by a stack-based buffer overflow in WinPR's NCrypt PKCS#11 provider when an attacker-supplied PKCS#11 token or module presents a key and matching certificate whose CKA_ID is between 55 and 64 bytes long and the victim triggers key enumeration, typically during smart-card authentication. The helper wprintKeyName() hex-encodes the CKA_ID into a fixed 128-byte stack buffer, so a 64-byte ID produces 128 characters with no room for the terminating NUL, and the write is not bounded by the destination size. Impact is confined to a client-side crash with no demonstrated code execution or data disclosure, and exploitability is sharply narrowed by three prerequisites: the non-default PKCS#11 build configuration, physical delivery of a malicious token/module to the victim, and user interaction to start enumeration; no public exploit code or active exploitation has been identified at time of analysis, and this is a low-priority issue despite the CWE-121 classification.
RemediationAI
Upgrade to FreeRDP 3.32.0 or later, which is the vendor-released patch boundary for this issue; the fix is documented in the upstream advisory at https://github.com/FreeRDP/FreeRDP/security/advisories/GHSA-g8jw-gv54-r94p. If upgrading immediately is not possible, the most effective workaround is to rebuild the client without PKCS#11 support, eliminating the vulnerable code path entirely at the cost of losing PKCS#11/smart-card authentication in FreeRDP; alternatively, restrict FreeRDP usage to environments where only organization-issued, trusted PKCS#11 tokens and modules are permitted, since the attack requires the victim to load an attacker-controlled module or token. Additional compensating controls include avoiding the mounting or loading of untrusted PKCS#11 modules on client workstations, disabling or tightly scoping smart-card-based RDP logon where it is not operationally required (trade-off: loss of a strong authentication factor and possible help-desk overhead), and monitoring for client crashes during key enumeration as a detection signal. Note that the impact is limited to a client-side denial of service, so no server-side mitigation is needed; details are also available at https://www.vulncheck.com/advisories/freerdp-3.0.0-beta1-before-3.32.0-stack-buffer-overflow-via-pkcs-11-key-name.
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 whose portable runtime layer, WinPR, reimplements Windows APIs on POSIX systems. The affected component is WinPR's NCrypt PKCS#11 provider, which maps the Windows CNG/NCrypt key-storage API onto a PKCS#11 (Cryptoki) module so that RDP smart-card logon can enumerate and use cryptographic keys held on hardware tokens. During key enumeration the provider formats a display name for each key via wprintKeyName(), hex-encoding the key's PKCS#11 CKA_ID attribute into a fixed-size 128-byte stack buffer without clamping the encoded length to the destination. Because hex encoding doubles the input size, a CKA_ID of 64 bytes fills the buffer exactly and the trailing NUL terminator writes past it, while the documented trigger range of 55-64 bytes reaches the same unbounded copy path; this is a classic CWE-121 (stack-based buffer overflow) caused by a fixed-length stack array combined with an unchecked length calculation. Only Unix builds compiled with PKCS#11 support are affected, which is an optional, non-default configuration; the affected package is tracked generically by CPE cpe:2.3:a:freerdp:freerdp:*:*:*:*:*:*:*:* with the fixed range boundary at 3.32.0.
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:P/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
Attacker must supply a malicious PKCS#11 token/module (AV:P) and the victim must trigger key enumeration (UI:R); the flaw only crashes the client, so A:H with C:N/I:N.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
2DescriptionCVE.org
FreeRDP 3.0.0-beta1 before 3.32.0 on Unix builds with PKCS#11 support has a stack-based buffer overflow in wprintKeyName() in WinPR's NCrypt PKCS#11 provider. It hex-encodes a key's CKA_ID, which can be up to 64 bytes, into a fixed 128-byte stack buffer. An attacker supplying a malicious PKCS#11 token or module whose key and matching certificate use a 55- to 64-byte CKA_ID can overflow the client's stack during key enumeration, causing a crash.
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
A buffer overflow occurs when a program writes more data to a memory buffer than it was allocated to hold, causing the excess data to spill into adjacent memory regions.
A stack-based buffer overflow occurs when a program writes more data to a buffer located on the stack than it was allocated to hold.
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-98705
GHSA-9579-j8rw-69mx
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB