关键漏洞信息 1. 漏洞概述 设备: Texas Instruments LP-CC2652RB Bluetooth Low Energy (BLE) SoC 问题: 设备在连接阶段错误地接受未加密的LL_PAUSE_ENC_REQ包,触发加密暂停过程,导致协议状态机混乱和拒绝服务条件。 2. 影响组件 设备: LP-CC2652RB 协议层: Link Layer (LL) 包: LL_PAUSE_ENC_REQ (Opcode: 0x0A) SDK版本: SimpleLink CC13XX CC26XX SDK 7.41.00.17 3. 漏洞细节 描述: 在BLE连接建立过程中,攻击者可以在加密过程完成前注入未加密的LL_PAUSE_ENC_REQ包,使LP-CC2652RB进入加密暂停状态,违反预期的链路层状态机。 影响: - 设备进入无法完成加密的不一致状态。 - 未来的配对或安全通信失败。 - 受影响的会话被丢弃或无限期挂起。 - 反复利用可能导致拒绝服务(DoS)或降级的BLE功能。 根本原因: 设备在接收LL_PAUSE_ENC_REQ包之前未能验证加密是否已激活,违反了蓝牙核心规范v5.3 Vol 6, Part B, Section 5.1.3的要求。 4. 概念验证(PoC) 已开发PoC来重现问题。PoC发起BLE连接并注入未加密的LL_PAUSE_ENC_REQ包,导致会话中断。详细信息和脚本可在Accept_Pause_Enc_Req.py中找到。 5. 再现步骤 1. 初始化与LP-CC2652RB的BLE连接。 2. 在接收到Pairing_Request之前,注入原始未加密的LL_PAUSE_ENC_REQ包。 3. 观察设备接受包并停止配对过程。 6. 安全影响 攻击向量: 远程(通过空中,在配对期间) 影响: 连接劫持预防、身份验证失败、DoS 7. 建议修复 验证在接收任何LL_PAUSE_ENC_REQ包之前加密是活动的。 在过渡到加密暂停过程之前实现状态检查。 丢弃或拒绝违反协议顺序规则的任何控制包。 8. 参考文献 蓝牙核心规范v5.3: Vol 6, Part B - 链路层控制程序,第5.1.3节 LL控制操作码表: Opcode 0x0A = LL_PAUSE_ENC_REQ