漏洞信息概述 受影响与已修补版本 Bluetooth Stack (ESP-IDF) - 受影响版本: - v5.5.1 - v5.4.2 - v5.3.4 - v5.2.5 - v5.1.6 - 已修补版本: - v5.5.2 (待发布) - v5.4.3 - v5.3.5 (待发布) - v5.2.6 - v5.1.7 (待发布) 漏洞详情 描述 当ESP32处于广告模式时,若接收到包含无效访问地址(AA) 或 的连接请求,广告可能会意外停止。此时,控制器可能会错误地向主机报告连接事件,导致应用层误以为设备已成功建立连接。 影响 在受影响的ESP32软件版本中,控制器无法正确处理与无效访问地址 或 相关的连接请求: 广告意外停止。 连接事件被错误地报告给主机。 无效的AA被稍后检测并忽略,但未向应用层传播错误或断开连接事件。 结果,应用层可能继续认为设备是连接的,即使没有有效的连接存在。此问题仅影响ESP32系列,其他Espressif芯片家族(如ESP32-C、ESP32-S和ESP32-H)未受影响。 解决方案 根据蓝牙LE规范(核心规范第6卷,B部分),访问地址 和 被明确定义为无效。使用这些值发送数据包或发起连接的任何设备都与蓝牙LE规范不兼容。 此次修复后,当ESP32处于广告模式并接收到使用访问地址 或 的连接请求时,该请求将被忽略,符合蓝牙LE规范: 广告继续进行,没有中断。 没有建立无效的连接。 应用层行为与协议预期保持一致。 修复提交记录 以下提交解决了此问题: master: release/v5.5: release/v5.4: release/v5.3: release/v5.2: release/v5.1: 贡献者致谢 感谢来自SBA Research的Dominik Schreiber报告此漏洞,并负责后续的披露。