# FreeRDP 堆使用后释放漏洞
## 概述
FreeRDP 是远程桌面协议(RDP)的免费实现。在 3.20.1 之前版本中,串行信道 IRP 线程跟踪存在竞争条件,可导致堆 use-after-free 漏洞。
## 影响版本
3.20.1 之前的所有版本。
## 细节
在串行信道的 IRP 线程管理中,一个线程从 `serial->IrpThreads` 中删除条目时,另一线程可能同时读取该条目,导致 use-after-free。
## 影响
攻击者可利用该漏洞造成内存破坏,可能导致任意代码执行或服务崩溃。
是否为 Web 类漏洞: 未知
判断理由:
| # | POC 描述 | 源链接 | 神龙链接 |
|---|
标题: Release 3.20.1 · FreeRDP/FreeRDP · GitHub -- 🔗来源链接
标签:x_refsource_MISC
神龙速读:
以下是关于漏洞的关键信息:
- **CVEs Identified**:
- CVE-2026-22851
- CVE-2026-22852
- CVE-2026-22853
- CVE-2026-22854
- CVE-2026-22855
- CVE-2026-22856
- CVE-2026-22857
- CVE-2026-22858
- CVE-2026-22859
- **Affected Components**:
- All vulnerabilities except CVE-2026-22858 impact FreeRDP based clients only.
- CVE-2026-22858 also impacts FreeRDP proxy.
- FreeRDP based servers are not affected.
- **Vulnerabilities Severity**:
- All listed vulnerabilities are of medium severity.
- **Contributors**:
- @ehdgks0627 was acknowledged for uncovering these vulnerabilities through code review and testing.
标题: Heap-use-after-free in create_irp_thread · Advisory · FreeRDP/FreeRDP · GitHub -- 🔗来源链接
标签:x_refsource_CONFIRM
神龙速读:
- **CVE ID**: CVE-2026-22856
- **Summary**:
- A race in the serial channel IRP thread tracking leads to a heap use-after-free.
- One thread removes an entry while another reads it.
- **Severity**:
- Moderate
- **Affected Versions**:
- <= 3.20.0
- **Patched Version**:
- 3.20.1
- **Weaknesses**:
- CWE-362
- CWE-416
- **Details**:
- `serial->IrpThreads` is unsynchronized.
- `close_terminated_irp_thread_handles` removes entries without internal lock.
- `create_irp_thread` calls `ListDictionary_GetItemValue` without lock.
- **Impact**:
- Potential DoS and heap corruption.
- Code-execution risk based on allocator behavior.
- **Affects**:
- FreeRDP based clients only.
- **Patch**:
- Synchronize `ListDictionary_New(TRUE)` operations.
- Ensure internal lock usage.
Zaproxy alias impedit expedita quisquam pariatur exercitationem. Nemo rerum eveniet dolores rem quia dignissimos.