伪造长度字节导致CC2538陷入无限循环(CVE-2024-53980)
CVE编号
CVE-2024-53980
利用情况
暂无
补丁情况
N/A
披露时间
2024-11-30
漏洞描述
RIOT是一个开源的微控制器操作系统,设计用于满足物联网(IoT)设备和其他嵌入式设备的需求。恶意攻击者可以发送一个IEEE 802.15.4数据包,其中包含假冒的长度字节和可选的假冒帧校验序列(FCS),这最终会导致CC2538接收器陷入死循环。在PR #20998之前,接收器会通过考虑所有8位来检查CRC位的位置,而不是丢弃第7位,这正是无线电所做的。这会导致读取RX FIFO之外的数据。尽管它尝试读取RX FIFO之外的数据时会打印错误,但它将继续这样做。这可能会导致固件和无线电之间的CRC检查出现差异。如果CPU判断CRC正确并且无线电设置为“自动应答”(AUTO_ACK),当数据包请求应答时,CPU将进入“CC2538_STATE_TX_ACK”状态。然而,如果无线电判断CRC错误,则不会发送应答,因此“TXACKDONE”事件不会触发。由于基带处理仍然被禁用,它将永远不会返回到“CC2538_STATE_READY”状态。因此,CPU将陷入死循环。由于未强制设置为空闲状态,如果无线电的状态不是“CC2538_STATE_READY”,则它不会这样做。尚未进行修复。
解决建议
建议您更新当前系统或软件至最新版,完成漏洞的修复。
文章评论