CVE-2026-34873 漏洞总结 漏洞概述 Client impersonation while resuming a TLS 1.3 session(TLS 1.3 会话恢复时的客户端冒充) 当同时支持 TLS 1.2 和 TLS 1.3 的 Mbed TLS 服务器收到使用票据恢复 TLS 1.3 会话的请求,并以 HelloRetryRequest 响应时,如果后续 ClientHello 协商的是 TLS 1.2(例如不包含支持的扩展),服务器会错误地使用全零主密钥继续恢复 TLS 1.2 会话。 中间人攻击者可拦截 HelloRetryRequest 并用协商 TLS 1.2 的 ClientHello 回复,从而完成原本使用 TLS 1.3 票据发起的握手。 影响范围 攻击条件(需同时满足): 服务器同时支持 TLS 1.2 和 TLS 1.3 服务器配置为对客户端进行身份验证 服务器向已认证客户端发放 TLS 1.3 会话票据用于后续会话恢复 攻击后果: 绕过 Mbed TLS 服务器配置的客户端认证机制 攻击者可冒充合法客户端 若应用通过 和 回调在票据中编码额外应用级信息(如认证状态、访问权限),攻击者可能继承相同权限 修复方案 1. 升级版本(推荐) 3.6 LTS 分支用户:升级至 3.6.6 或更高版本 4.x 系列用户:升级至 4.1.0 或更高版本 2. 缓解措施(若无法立即升级) 配置选项 1:禁用 "PSK with (EC)DHE" 密钥建立 编译时禁用: 运行时通过 API: ,仅启用 "PSK-only" 模式 ⚠️ 注意:此模式不提供前向保密 配置选项 2:禁用会话票据生成 编译时禁用: 运行时通过 API: 设置为 0,使服务器握手完成后发送零个 NewSessionTicket 消息 补充条件:若服务器在认证客户端尝试使用票据恢复 TLS 1.3 会话时不响应 HelloRetryRequest,则该问题不可利用(通常是服务器始终支持 ClientHello 中至少一个密钥共享组的情况) 修复提交(Fix Commits) Mbed TLS 3.6.x 分支: --- 注:页面中未包含 POC 代码或利用代码。