修复 1/3 安全公告 标题 有关“绕过 Wi-Fi 验证漏洞”的安全公告 发布日期 2023/11/03 公告编号 AR2020-002 编号 CVE-2020-12638 版本 V1.1 问题小结 当⼀个 ESP32 或 ESP8266 系统级芯⽚连接到加密的 Wi-Fi 接⼊点时,攻击者 如注⼊⼀个伪造的 Wi-Fi 信标帧模拟接⼊点,可以导致芯⽚切换到开放认证模 式。 芯 ⽚ 在受到攻击期间(即攻击者持续发送伪造信标帧期间),将不能继续与加密接 ⼊点进⾏通信。在此期间,芯⽚的身份验证模式将在开放和加密之间切换。然后, 攻击者可以选择发送⼀个伪造的通道切换声明 (Channel Switch Announcement), 从⽽使芯⽚与⼀个新的通道建⽴关联 (Association),并以开放身份验证模式与⼀ 个新的接⼊点保持连接。 该攻击的影响将导致系统级芯⽚传输⼀些未加密的 Wi-Fi 帧,或与受攻击者控制 的开放接⼊点建⽴关联,允许未授权访问真正 Wi-Fi 接⼊点的攻击者访问 TCP/IP 层。 该攻击不允许攻击者绕过⽹络层的保护机制,如 TLS。该攻击也不允许攻击者获 得对真正加密的 Wi-Fi 接⼊点的任何访问。 这个问题是由 Lukas Bachschwell 发现并向乐鑫披露的。Bachschwell 先⽣还注 册了 CVE 编号:CVE-2020-12638。乐鑫在此感谢 Bachschwell 先⽣以负责任 地态度对该问题进⾏了披露。 2/3 修复 ESP32 这个问题已经在 ESP-IDF v3.2.4 版本中得到修复,并在 v3.1.8,v3.3.3, v4.0.2,v4.1 和 v4.2 及之后版本中得到修复。 以下 IDF 分⽀均已经包含此次修复: master: commit 0dba9329 release/v4.2: commit ad5c4eb3 release/v4.1: commit b6e2163e release/v4.0: commit 68b272f5 release/v3.3: commit 4891fcea release/v3.2: commit a5c8cdd3 release/v3.1: commit a280fb32 有关 ESP-IDF 发布分 ⽀ 和稳定发布版本的解释,请参阅 ESP-IDF ⽂ 档。 ESP8266 以下 ESP8266 RTOS SDK 中均包含此次修复: master: commit da3362ec release/v3.4: commit da3362ec release/v3.3: commit 9c72c21b release/v3.2: commit 3cbc3d87 release/v3.1: commit 4b1ff5c3 release/v3.0: commit 6ef5c2c2 release/v2.1: commit db188200 该问题也已在 ESP8266 NON-OS SDK 分⽀ be2f86d3 上进⾏修复。 ESP32-S2 release/v4.2 和 master 分⽀都包括了对这个问题的修复。ESP-IDF v4.2(即⾸个 ⽀持 ESP32-S2 的稳定发布版本)及之后版本不会受到这个问题的影响。 对使⽤乐鑫 Wi-Fi 设备者的建议 如果您的固件应⽤程序使⽤⽹络传输层安全协议(如 TLS),则受到的直接影响 较低。但是,仍建议您⽴即更新到最新的稳定 ESP-IDF 版本或包含相关修复的 bug fix 版本。 3/3 如果您的固件应 ⽤ 程序并未使 ⽤ TLS 等 ⽹ 络传输层安全功能来保护重要数据,则 应该考虑紧急升级到预发布的 ESP-IDF 或相关 SDK 版本,或升级到最新的稳定 版本。 审查所有固件应 ⽤ 程序,确保所有敏感数据均已通过 TLS 或类似安全传输协议传 输,并确保 TLS 配置正确,从 ⽽ 防 ⽌ 来 ⾃ 处于同 ⼀⽹ 络的攻击者的攻击。 审查所有固件应 ⽤ 程序,以确保设备提供的任何 ⽹ 络服务均会在进 ⾏ 任何受信功能 前先验证⽹络客户端。如果服务会接收任何证书,则应该使⽤安全协议(如 TLS )来传输这些证书。 修订历史 日期 版本 发布说明 2023/11/03 V1.1 更正章节 修复 中的修复信息。 2020/07/23 V1.0 首次发布。