☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
Freerdp logo [ WEBSITE ] [ VENDOR STATS ]
CVSS: 6.5 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H 🐛 CWE-125
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2026-91945

CVE-2026-91945 Out-of-Bounds Access in FreeRDP
📅 PUBLISHED: 2026-09-15 00:00 UTC 🔄 UPDATED: 2026-10-02 19:33 UTC
[ OFFICIAL PATCH DEPLOYED ↓ ] FIX: CONFIRMED — 3+ independent sources confirm fix
[ DEFENSE PATCH ↓ ]
💣 PoC: Public
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.58%
👁️
0.58% probability
14.5× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1190
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
Country: Global License: Open Source
Affected: Freerdp — upgrade to patched release
CVSS VECTOR BREAKDOWN 6.5
AV: N Attack Vector Network
AC: L Attack Complexity Low
PR: L Privileges Required Low
UI: N User Interaction None
S: U Scope Unchanged
C: N Confidentiality None
I: N Integrity None
A: H Availability High
6.5
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2026-91945 is an out-of-bounds read vulnerability in FreeRDP versions before 3.31.0, specifically within smartcard response decoders that fail to validate ATR (Answer To Reset) length fields against fixed inline arrays. Authenticated RDP clients can send oversized ATR lengths in PAKID_CORE_DEVICE_IOCOMPLETION responses, causing reads past stack or heap objects and resulting in process termination. This vulnerability primarily impacts availability, as successful exploitation leads to a denial-of-service condition on the affected FreeRDP client or server process. The CVSS score of 6.5 reflects a medium-severity issue with high availability impact, requiring authenticated access and local attack complexity.

⚡ AUTOMATE YOUR CVE INTELLIGENCE

This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.

›Patch confidence — UNVERIFIED to CONFIRMED, cross-referenced NVD + RHSA + Debian
›Exploit & PoC — poc_status, poc_url, has_exploit. Not in NVD.
›Shodan dorks — ready-made queries to find exposed vulnerable systems
›Detection rules — YARA · Wazuh · Elastic (all plans) · Sigma (Pro)
›pending_fields — know exactly which of 7 fields NVD hasn't processed yet
›Free backfill — data incomplete when you paid? Re-check within 30 days = 0 credits
PAYG €0.08/lookup Standard €19/mo (was €29) · 5k credits Pro €65/mo (was €99) · 20k credits FOUNDING PRICE · LOCKED FOR LIFE · ENDS 31 DEC 2026
[ FROM €19/MO ]
Free sandbox key available
No signup required

Technical Analysis

The vulnerability resides in the smartcard response decoding logic of FreeRDP. Per the NVD description, the flaw is an out-of-bounds read (CWE-125) that occurs when the decoder processes ATR length fields without validating them against fixed inline arrays. ATR is a data structure used in smartcard communication to convey information about the card's characteristics. In the context of FreeRDP's smartcard redirection over RDP, a client can send a PAKID_CORE_DEVICE_IOCOMPLETION response containing an ATR with an oversized length field. The decoder, expecting the ATR length to fit within a pre-allocated inline array, does not perform bounds checking. As a result, the decoder reads beyond the bounds of the stack or heap object, leading to a process termination due to memory access violation. The attack surface is the RDP protocol's smartcard device redirection channel. The vulnerability requires the attacker to be an authenticated RDP client, meaning they must have valid credentials or have compromised an RDP session. The out-of-bounds read does not typically allow code execution, as it is a read operation; the primary impact is denial of service.

Exploitation Scenarios

  1. Reconnaissance/target identification: An attacker identifies an RDP service (default port 3389) that supports smartcard redirection and is running a vulnerable version of FreeRDP (before 3.31.0). This could be a FreeRDP client connecting to a malicious server, or a FreeRDP-based server (e.g., xrdp with FreeRDP) accepting client connections.

  2. Triggering the flaw: The attacker, after authenticating to the RDP session, sends a crafted PAKID_CORE_DEVICE_IOCOMPLETION response containing an ATR with a length field that exceeds the size of the fixed inline array used by the decoder. This response is part of the smartcard device redirection protocol.

  3. Payload/execution method: The payload is a malformed smartcard response. No public PoC is available; the attack chain is inferred from the vulnerability class. The attacker must be able to send arbitrary smartcard responses, which typically requires control over the client or server endpoint in the RDP connection. For a malicious server attacking a FreeRDP client, the server can send the crafted response during the smartcard redirection negotiation. For a malicious client attacking a FreeRDP server, the client can send the malformed response after authentication.

  4. Post-exploitation impact: The out-of-bounds read causes the FreeRDP process to terminate, resulting in a denial of service. There is no evidence of data exfiltration or code execution. The impact is limited to availability; the process crash may disrupt the RDP session and any dependent services.

Impact Assessment

The vulnerability has a CVSS score of 6.5, with a vector of CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H. This indicates a network-accessible attack (AV:N), low attack complexity (AC:L), requiring low privileges (PR:L), with no user interaction (UI:N). The scope is unchanged (S:U), and there is no confidentiality (C:N) or integrity (I:N) impact, but a high availability impact (A:H). The business impact is primarily disruption of RDP services that use FreeRDP for smartcard redirection. Organizations relying on FreeRDP for remote access with smartcard authentication may experience session crashes, leading to loss of productivity and potential operational delays. The blast radius is limited to the affected FreeRDP process; however, if the process is a critical gateway, it could affect multiple users. The EPSS score is low (0.00567, 45.5th percentile), suggesting a low probability of exploitation in the wild at this time. No CISA KEV entry, no public PoC, and no known exploit code are available.

Detection Guidance

Sigma Rule

title: FreeRDP Smartcard ATR Out-of-Bounds Read Attempt
id: 5f8c9d2e-1a3b-4c5d-6e7f-8a9b0c1d2e3f
status: experimental
description: Detects potential exploitation of CVE-2026-91945 via malformed smartcard ATR in RDP traffic
author: Valters IT Threat Intelligence
date: 2026-01-01
logsource:
  category: process_creation
  product: windows
detection:
  selection:
    Image|endswith: '\FreeRDP.exe'
    CommandLine|contains: 'smartcard'
  condition: selection
falsepositives:
  - Legitimate smartcard usage
level: medium
tags:
  - attack.t1190
  - cve.2026.91945

YARA Rule

rule CVE_2026_91945_FreeRDP_ATR_OOB
{
    meta:
        description = "Detects FreeRDP versions vulnerable to CVE-2026-91945"
        author = "Valters IT Threat Intelligence"
        date = "2026-01-01"
        reference = "https://nvd.nist.gov/vuln/detail/CVE-2026-91945"
        hash = "unknown"
    strings:
        $version = "FreeRDP" ascii wide nocase
        $vuln_indicator = "PAKID_CORE_DEVICE_IOCOMPLETION" ascii wide
    condition:
        $version and $vuln_indicator
}

Suricata IDS Rule

alert tcp any any -> any 3389 (msg:"CVE-2026-91945 FreeRDP Smartcard ATR Out-of-Bounds Read Attempt"; flow:to_server,established; content:"|00 00 00 00|"; depth:4; content:"PAKID_CORE_DEVICE_IOCOMPLETION"; nocase; content:"ATR"; nocase; within:100; threshold:type limit, track by_src, count 1, seconds 60; reference:cve,2026-91945; classtype:attempted-dos; sid:1000001; rev:1;)

Elastic Detection

process where process.name == "FreeRDP.exe" and process.command_line : "*smartcard*"

Splunk SPL Query

index=main sourcetype=WinEventLog:Security EventCode=4624 LogonType=10 
| search "FreeRDP" 
| stats count by src_ip, dest, user 
| where count > 0

Wazuh OSSEC Rule

<group name="freerdp,">
  <rule id="100200" level="12">
    <decoded_as>json</decoded_as>
    <field name="event">FreeRDP smartcard ATR oversized</field>
    <description>CVE-2026-91945: FreeRDP smartcard ATR out-of-bounds read attempt detected</description>
    <mitre>
      <id>T1190</id>
    </mitre>
    <options>no_full_log</options>
  </rule>
</group>

Mitigation & Patch Guidance

Patch confidence: 3/4 (LIKELY — 2 independent sources confirm fix).

  1. Immediate mitigations: Disable smartcard redirection in FreeRDP if not required. Restrict RDP access to trusted networks and enforce strong authentication. Monitor for process crashes of FreeRDP.
  2. Patch/upgrade steps: Upgrade FreeRDP to version 3.31.0 or later. For Debian-based systems, apply the latest security updates from Debian repositories. Verify the fix by checking the version string.
  3. Long-term hardening: Implement input validation for all protocol fields, including length checks. Use memory-safe languages or bounds-checking libraries. Conduct regular security audits of RDP-related components. Enable logging and alerting for anomalous smartcard responses.

References

No known threat actor campaigns or exploit-in-the-wild evidence at this time.

👁️ SHODAN DORKS (THREAT HUNTING)

What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.

product:FreeRDP
port:3389 FreeRDP
http.html:

💣 PoC CODE AVAILABLE

Exploit code for this CVE is tracked in our database. Access poc_code via API Pro.

[ API_PRO ] →
◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2026-91945/ · CVE data: NVD/MITRE (public domain) · © 2026 ValtersIT Hub
>_ SYSTEM_CORE: INTEL_ACTIVE
90% TEAM-CURATED // 10% AUTOMATED INGESTION.
ALL PATCH REFERENCES AND VERSION DATA SOURCED FROM NVD + OSV OFFICIAL REGISTRIES.