CVE-2026-0849CVE-2026-0849是Zephyr Project RTOS加密驱动程序中的一个高危安全漏洞。该漏洞存在于处理ATAES132A加密芯片响应数据的过程中,当设备接收到畸形的ATAES132A响应时,响应数据中的长度字段如果超过预期大小,将导致52字节的栈缓冲区发生溢出。攻击者可以通过 compromised device(受感染的设备)或 bus attacker(总线攻击者)利用此漏洞,触发内核内存损坏,进而可能实现执行流劫持。Zephyr是一个广泛使用的开源实时操作系统,应用于物联网设备、嵌入式系统等多种场景。该漏洞的CVSS评分为3.8,属于低危级别,但考虑到攻击者可能通过物理接触或总线访问的方式触发漏洞,在特定场景下仍可能造成严重后果。由于该漏洞涉及内核栈内存破坏,成功的利用可能导致系统崩溃或恶意代码执行。
该漏洞的技术根源在于Zephyr加密驱动程序在处理ATAES132A加密芯片响应时缺乏适当的长度验证。具体问题发生在 ataes132a_process_response() 或类似的响应处理函数中,当从ATAES132A设备接收响应数据时,代码直接将响应中的长度字段值用于内存复制操作,而未验证该长度值是否在安全范围内。ATAES132A是一款常见的AES加密芯片,Zephyr驱动程序负责与其通信并处理加密操作。攻击者可以通过以下方式利用此漏洞:1) 物理接触设备并替换或篡改ATAES132A芯片;2) 通过总线攻击手段拦截并修改ATAES132A的响应数据。由于栈缓冲区大小固定为52字节,当响应中的长度字段值超过52时,memcpy或类似函数将向栈中写入超过缓冲区容量的数据,覆盖栈上的返回地址、函数指针等关键数据结构。攻击者精心构造溢出数据,可以覆写这些关键位置,从而在函数返回时劫持执行流。值得注意的是,该漏洞的CVSS向量中AV:P(物理攻击向量)和PR:L(低权限)表明攻击门槛相对较高,但一旦成功利用,后果严重。