0


ATF(TF-A)安全通告 TFV-3 (CVE-2017-7563)

安全之安全(security²)博客目录导读

ATF(TF-A)安全通告汇总

目录


一、ATF(TF-A)安全通告 TFV-3 (CVE-2017-7563)

Title
RO内存始终在AArch64 Secure EL1下可执行
CVE ID

CVE-2017-7563

Date

06 Apr 2017

Versions Affected

v1.3 (since Pull Request #662)

Configurations Affected
xlat_tables库的AArch64 BL2, TSP或其他用户在AArch64安全EL1执行
Impact
意外的特权升级
Fix Version

Pull Request #924

Credit

ARM

二、CVE-2017-7563

    ARM可信固件(TF-A)中的翻译表库(lib/xlat_tables和lib/xlat_tables_v2下)提供api来帮助MMU中的程序翻译表(translation tables)。xlat_tables client以mmap_region结构的形式指定其所需的内存映射。每个mmap_region都有由mmap_attr_t枚举类型表示的内存属性。它包含控制数据访问权限(MT_RO/MT_RW)和指令执行权限(MT_EXECUTE/MT_EXECUTE_NEVER)的标志。因此,同时指定MT_RO和MT_EXECUTE_NEVER的映射应该导致一个只读(RO),不可执行的内存区域。

    对于在Secure EL1上执行的AArch64映像,此功能不能正确工作。任何映射为RO的内存区域将始终是可执行的,无论client是否指定了MT_EXECUTE或MT_EXECUTE_NEVER。

    已知该漏洞会影响启用SEPARATE_CODE_AND_RODATA构建选项的平台上的BL2和TSP(Test Secure Payload)镜像,其中包括所有ARM标准平台以及上游的Xilinx和NVidia平台。这些平台上这些镜像的RO数据意外地是可执行的,而不是不可执行的。其他平台或xlat_tables clients也可能受到影响。

    该漏洞主要在Pull Request #662之后出现。在此之前,xlat_tables client不能将指令执行权限单独指定给数据访问权限。所有RO normal内存区域都是隐式可执行的。在Pull Request #662之前,该漏洞只会在映射为RO的设备内存中出现;但很少使用此映射,尽管上游QEMU平台在使用DEVICE2_BASE构建选项时使用此映射。

    请注意,利用此漏洞还需要一个或多个单独的漏洞。

    该漏洞是由于错误地处理了转换表中的execute-never位。EL3转换机制(translation regime)使用单个XN位来确定一个区域是否可执行。安全EL1&0转换机制(translation regime)处理2个虚拟地址(VA)范围,因此使用2位,UXN和PXN。xlat_tables库只处理XN位,它映射到Secure EL1&0转换机制(translation regime)中的UXN。因此,该程序具有安全EL0执行权限,但始终将内存保留为安全EL1的可执行内存。

    **以下方法可减轻该漏洞**:

    1)xlat_tables库通过设置SCTLR_ELx.WXN位确保所有读写(RW)内存区域都是不可执行的。这将覆盖转换表中XN、UXN或PXN位的任何值。参见enable_mmu()函数:
sctlr = read_sctlr_el##_el();               \
sctlr |= SCTLR_WXN_BIT | SCTLR_M_BIT;       \

e9a5b2ab32a84fcfa098454150147ed3.png

e1129fc9d6334dffa54787346d1a6e0c.png

91753137c5d54f149feb2654e5e07725.png

    2)AArch32配置不受影响。这里的XN位控制当前执行的转换机制的执行权限,这是期望的行为。

    3)ARM TF EL3代码(例如BL1和BL31)通过设置SCR_EL3.SIF位确保映射到安全世界的所有非安全内存都是不可执行的。参见el3_common_macros中的el3_arch_init_common宏。

d068e6ac06754d3b8db2c620f677ffc3.png

参考:9.3. Advisory TFV-3 (CVE-2017-7563) — Trusted Firmware-A 2.9.0 documentation

标签: ATF TF-A CVE

本文转载自: https://blog.csdn.net/yuxiaochen99/article/details/132528256
版权归原作者 安全二次方security² 所有, 如有侵权,请联系我们删除。

“ATF(TF-A)安全通告 TFV-3 (CVE-2017-7563)”的评论:

还没有评论