支持本站 — 捐款将帮助我们持续运营

目标:1000 元,已筹:736

73.6%
一、 漏洞 CVE-2026-22855 基础信息
漏洞信息
                                        # FreeRDP 智能卡堆溢出漏洞

## 概述
FreeRDP 在处理智能卡 SetAttrib 请求时存在堆越界读取漏洞,因 `cbAttrLen` 与实际 NDR 缓冲区长度不匹配导致。

## 影响版本
3.20.1 之前版本

## 细节
漏洞位于智能卡 SetAttrib 处理路径中,当参数 `cbAttrLen` 与 NDR 缓冲区实际长度不一致时,触发堆越界读取。

## 影响
攻击者可能利用该漏洞读取越界内存,导致信息泄露或触发程序崩溃。
                                        
神龙判断

是否为 Web 类漏洞: 未知

判断理由:

N/A
提示
尽管我们采用了先进的大模型技术,但其输出仍可能包含不准确或过时的信息。
神龙会尽力确保数据准确,但也请结合实际情况进行甄别与判断。
神龙祝您一切顺利!
漏洞标题
FreeRDP has a heap-buffer-overflow in smartcard_unpack_set_attrib_call
来源:美国国家漏洞数据库 NVD
漏洞描述信息
FreeRDP is a free implementation of the Remote Desktop Protocol. Prior to 3.20.1, a heap out-of-bounds read occurs in the smartcard SetAttrib path when cbAttrLen does not match the actual NDR buffer length. This vulnerability is fixed in 3.20.1.
来源:美国国家漏洞数据库 NVD
CVSS信息
N/A
来源:美国国家漏洞数据库 NVD
漏洞类别
跨界内存读
来源:美国国家漏洞数据库 NVD
漏洞标题
FreeRDP 缓冲区错误漏洞
来源:中国国家信息安全漏洞库 CNNVD
漏洞描述信息
FreeRDP是FreeRDP团队的一款开源的远程桌面协议(RDP)的实现。 FreeRDP 3.20.1之前版本存在缓冲区错误漏洞,该漏洞源于智能卡SetAttrib路径中,当cbAttrLen与实际NDR缓冲区长度不匹配时发生堆越界读取。
来源:中国国家信息安全漏洞库 CNNVD
CVSS信息
N/A
来源:中国国家信息安全漏洞库 CNNVD
漏洞类别
缓冲区错误
来源:中国国家信息安全漏洞库 CNNVD
二、漏洞 CVE-2026-22855 的公开POC
#POC 描述源链接神龙链接
三、漏洞 CVE-2026-22855 的情报信息
  • 标题: 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.
                                            
    Release 3.20.1 · FreeRDP/FreeRDP · GitHub
  • 标题: Heap-buffer-overflow in smartcard_unpack_set_attrib_call · Advisory · FreeRDP/FreeRDP · GitHub -- 🔗来源链接

    标签:x_refsource_CONFIRM

    神龙速读:
                                            ### 关键漏洞信息
    
    - **漏洞类型**: Heap-buffer-overflow
    - **影响版本**: <= 3.20.0
    - **修复版本**: 3.20.1
    - **CVE ID**: CVE-2026-22855
    - **严重性**: 中等 (Moderate)
    - **弱点类型**: CWE-20 (Improper Input Validation)
    
    #### 概要
    - **描述**: 在 `smartcard_unpack_set_attrib_call` 函数中,当 `cbAttrLen` 与实际的 NDR 缓冲区长度不匹配时,发生堆越界读取。
    - **细节**:
      - `smartcard_unpack_set_attrib_call` 从流中读取 `cbAttrLen`,如果 `ndrPtr` 存在,则调用 `smartcard_ndr_read(..., min=0, ...)`, 该函数基于 NDR 长度分配 `pbAttr`,而不是基于 `cbAttrLen`。
      - 缺少检查 NDR 长度是否等于 `cbAttrLen`。后续调用 `SCardSetAttrib` 时使用 `call->cbAttrLen`,这可能导致内存损坏。
      - 后续调用 `SCardSetAttrib` 时,`call->cbAttrLen` 可能超过 `pbAttr` 的实际大小,导致越界。
    
    #### PoC
    - 启用智能卡重定向并连接到恶意 RDP 服务器(或 MITM)。
    - 发送一个具有较大 `cbAttrLen` 的 `SetAttrib` 请求,但编码较小的 NDR 长度。
    - 客户端分配一个小缓冲区并转储 `cbAttrLen` 字节,触发越界读取。
    
    #### 影响
    - 恶意服务器可触发客户端堆缓冲区溢出,导致崩溃(DoS)和潜在的堆损坏,以及根据分配器行为和堆布局的代码执行风险。
    
    #### 影响对象
    - 仅影响基于 **FreeRDP** 的客户端
    
    #### 修复
    - 传递 `call->cbAttrLen` 作为传递给 `smartcard_ndr_read` 的最小长度,确保分配的缓冲区至少该长度。
                                            
    Heap-buffer-overflow in smartcard_unpack_set_attrib_call · Advisory · FreeRDP/FreeRDP · GitHub
  • https://nvd.nist.gov/vuln/detail/CVE-2026-22855
四、漏洞 CVE-2026-22855 的评论
匿名用户
2026-01-15 06:08:15

Zaproxy alias impedit expedita quisquam pariatur exercitationem. Nemo rerum eveniet dolores rem quia dignissimos.


发表评论