Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconObtain valid RDP credentials
-
DeliveryEstablish authenticated RDP session with rdpsnd channel
-
ExploitSend malformed Client Audio Formats PDU with cbSize exceeding remaining data
-
InstallError path frees context->client_formats without clearing pointer
-
C2Disconnect or end session
-
Executerdpsnd_server_context_free double-frees dangling pointer
-
ImpactServer crash or heap corruption
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Double free prevention
|
| Exploitation Conditions | Exploitation requires a valid, authenticated RDP session against the target server - the attacker must hold working RDP credentials for the system (CVSS PR:L). The vulnerable code path is only reachable when the rdpsnd audio redirection channel is active on the server; deployments that disable or exclude the rdpsnd channel at build or configuration time are not exposed. The malformed PDU must set cbSize to a value exceeding the remaining record data in the Client Audio Formats message. The double-free fires deterministically at session teardown rather than immediately upon PDU receipt. Heap corruption impact beyond a crash is allocator-dependent: glibc ptmalloc and jemalloc handle double-free differently, making memory-corruption-based exploitation environment-specific. No special operating system privileges, non-default OS settings, or platform restrictions apply beyond having a listening FreeRDP server instance with rdpsnd support. |
| Impact | The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N/VA:H, score 7.1) correctly characterizes the threat: low-complexity network exploitation by an authenticated low-privilege user delivering high availability impact. The score is consistent with practical risk - reliable server termination is achievable by any valid RDP credential holder with no special tooling, meaning even a mid-sized municipal IT team in inowroclaw running exposed FreeRDP-based RDP infrastructure should treat this as an urgent patching priority. Confidentiality and integrity impact are listed as none in the provided CVSS vector, though the 'Information Disclosure' source tag hints at possible heap metadata leakage under certain allocators; this is not confirmed by the description or vector and should be treated as speculative. No EPSS data was provided, and KEV status is not confirmed, so active in-the-wild exploitation is unknown at time of analysis. SSVC signals: exploitation is not confirmed (no KEV), automation is plausible given low complexity, and technical impact is partial (availability loss with theoretically partial integrity risk from heap corruption). |
| Exploit ScenarioDerived | An attacker with valid RDP credentials connects to a FreeRDP-based RDP server. During audio channel negotiation, the attacker sends a crafted Client Audio Formats PDU with a cbSize value larger than the remaining PDU data, causing rdpsnd_server_recv_formats to partially process the PDU, free context->client_formats, and return an error - leaving the pointer dangling. When the session ends (either by the attacker disconnecting or the server closing the session), rdpsnd_server_context_free frees the same allocation a second time, crashing the server process. No public proof-of-concept code has been identified at time of analysis. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 19, 2026
Double-free heap corruption in FreeRDP's server-side audio redirection channel (rdpsnd) allows any authenticated RDP client to reliably crash the server and potentially corrupt heap memory in allocator-dependent ways. All FreeRDP server deployments prior to version 3.28.0 exposing the rdpsnd channel are affected. The attacker sends a single malformed Client Audio Formats PDU to leave a dangling pointer in the server context, which is then freed a second time during session teardown - guaranteeing a server crash and opening the door to further exploitation depending on the underlying allocator.
RemediationAI
Upgrade FreeRDP to version 3.28.0 or later, which is confirmed to contain the fix via the official release tag at https://github.com/FreeRDP/FreeRDP/releases/tag/3.28.0 and the patch in commit caf653c0ba1c75ec8f298d1baa59770102a5d14c. If immediate upgrade is not possible, disabling the rdpsnd audio redirection channel on the server side removes the vulnerable code path entirely - this prevents audio forwarding to clients but eliminates exposure to this vulnerability with no security side effects. Additionally, restricting RDP server access via network-level authentication, firewall rules, or VPN reduces the pool of potential authenticated attackers, though this does not patch the flaw and any valid credential holder remains able to trigger it.
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 a widely used open-source Remote Desktop Protocol implementation. This flaw resides in channels/rdpsnd/server/rdpsnd_main.c, specifically in rdpsnd_server_recv_formats, which handles the Client Audio Formats PDU during audio channel negotiation. The root cause is CWE-415 (Double Free): when a malformed PDU presents a cbSize value exceeding the remaining stream length, the error path calls free(context->client_formats) but neglects to zero the pointer or reset num_client_formats. The dangling pointer persists in the RdpsndServerContext structure. At session teardown, rdpsnd_server_context_free independently calls free() on the same already-freed pointer. The fix in commit caf653c0ba1c75ec8f298d1baa59770102a5d14c (PR #12993) introduces rdpsnd_server_client_format_free, a helper that always nullifies the pointer and resets the count after deallocation, and replaces all bare free() call sites with this helper, eliminating the dangling-pointer condition at both locations.
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:L/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
Network-reachable by any low-privilege authenticated RDP user; reliable server crash with no confirmed confidentiality or integrity impact; scope unchanged.
Primary rating from Vendor (github).
CVSS VectorVendor: github
Lifecycle Timeline
2DescriptionCVE.org
FreeRDP is a free implementation of the Remote Desktop Protocol. Prior to 3.28.0, rdpsnd_server_recv_formats in channels/rdpsnd/server/rdpsnd_main.c frees context->client_formats on a malformed Client Audio Formats PDU without clearing the owning pointer or num_client_formats. An authenticated RDP client can trigger an error such as a cbSize larger than the remaining record, leave the dangling pointer in the server context, and cause rdpsnd_server_context_free to free the same allocation again at session teardown. This reliably terminates the server and can create allocator-dependent heap corruption. This issue is fixed in version 3.28.0.
Executive ViewAI
FreeRDP server deployments are vulnerable to a denial-of-service condition that reliably crashes server processes when exploited by authenticated users. Exploitation requires only a single malformed audio format packet from a valid RDP client, with no public exploit identified at time of analysis. This represents an immediate service availability risk for organizations exposing FreeRDP servers, particularly given the absence of a vendor patch and the low barrier to exploitation for any authenticated user with RDP access.
No vendor-released patch identified at time of analysis. Interim mitigations: disable rdpsnd channel in server configuration if audio redirection is not operationally required; restrict RDP server access via network segmentation and firewall rules to trusted networks and authorized users only; implement connection monitoring and alerting for malformed audio PDUs; enforce role-based access controls to minimize the number of authenticated users capable of reaching the RDP server.
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
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
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
Same weakness CWE-415 – Double Free
View allSame technique Information Disclosure
View allVendor StatusVendor
SUSE
| Product | Status |
|---|---|
| openSUSE Tumbleweed | Fixed |
EUVD-2026-62671
NVD
CVE.org
EPSS
Vulnrichment
GitHub
VulDB
Exploit-DB