AR# 72768

面向 Zynq UltraScale+ MPSoC/RFSoC 的设计咨询 - FSBL 2019.1 版:映像头表 (IHT) 缓冲区溢出

描述

在对映像头表 (IHT) 进行验证并将其用于计算将读入的映像头文件的总大小之前,会先从映像头表 (IHT) 读入 AcOffset 变量。

攻击者可通过修改 AcOffset 来借机读入超量数据,以执行经典的缓冲区溢出攻击。

请注意,用于存储从外部内存读取的映像头文件的缓冲区 ImageHdr 存储在 OCM 内存的上半部分,并位于 0xFFFF_0000 地址中。

无法覆盖 FSBL,因为 FSBL 代码驻留在 OCM 内存的下半部分中,而攻击方只需覆盖最少 65,535 字节的数据后即可加载恶意代码。


如需了解有关如何注册接收新设计咨询通知的更多信息,请参阅(赛灵思答复记录 18683)

解决方案

此漏洞会影响 FSBL 2019.1 版(及此前所有版本)。本答复记录已随附适用于 FSBL 2019.1 版的补丁。

此问题在 2019.2 版中已得到修复,其中 FSBL 会在执行复制前检查文件大小,发生大小溢出时会返回错误。

附件

文件名 文件大小 File Type
AR72768_sdk_2019_1_preliminary_rev1.zip 210 KB ZIP
AR# 72768
日期 11/08/2019
状态 活跃
Type 设计咨询
器件
Tools