CVE-2026-33995FreeRDP是一个远程桌面协议的免费实现。在3.24.2版本之前,WinPR库中的Kerberos处理函数存在双重释放漏洞。该漏洞影响配置了Kerberos的系统,攻击者可通过网络触发失败的认证尝试,在NLA连接断开时导致客户端崩溃。该问题已在3.24.2版本中修复。
该漏洞位于FreeRDP项目的WinPR库核心文件winpr/libwinpr/sspi/Kerberos/kerberos.c中。具体而言,kerberos_AcceptSecurityContext()和kerberos_InitializeSecurityContextA()函数存在逻辑缺陷,导致对同一内存指针进行了两次释放操作。当FreeRDP客户端运行在配置了Kerberos认证(例如Samba AD成员服务器或使用krb5的NFS环境)的系统上时,如果启用了网络级认证(NLA),攻击者可以通过网络诱导客户端连接并故意制造认证失败。随后,在NLA连接拆除阶段,程序会调用存在缺陷的清理函数,触发双重释放异常。由于CVSS向量为AV:N/AC:L/PR:N/UI:N,攻击者无需任何权限或用户交互即可远程触发此漏洞,导致目标客户端进程崩溃,造成拒绝服务。