当前位置: 首页 > news >正文

ATF(TF-A)安全通告 TFV-5 (CVE-2017-15031)

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

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

目录

一、ATF(TF-A)安全通告 TFV-5 (CVE-2017-15031)

二、CVE-2017-15031


一、ATF(TF-A)安全通告 TFV-5 (CVE-2017-15031)

Title

未初始化或保存/恢复PMCR_EL0可能会泄露安全世界的时间信息

CVE ID

CVE-2017-15031

Date

02 Oct 2017, updated on 04 Nov 2019

Versions Affected

All, up to and including v2.1

Configurations Affected

All

Impact

泄露敏感的安全世界时间信息

Fix Version

Pull Request #1127 (merged on 18 October 2017)

Commit e290a8fcbc (merged on 23 August 2019)

Commit c3e8b0be9b (merged on 27 September 2019)

Credit

Arm, Marek Bykowski

二、CVE-2017-15031

        PMCR_EL0(性能监视控制寄存器Performance Monitors Control Register)提供性能监视实现的详细信息,包括实现的计数器数量,并配置和控制计数器。如果PMCR_EL0.DP位设置为零,在安全世界执行期间cycle counter周期计数器(当启用时)仍计数,即使被调试信号禁止。

        由于TF-A在非安全世界和安全世界之间切换时不会保存和恢复PMCR_EL0,因此非安全世界代码可以设置PMCR_EL0.DP为零,从而导致安全世界时间信息的泄漏。当进入EL3和转换到S-EL1时,应将此寄存器添加到保存/恢复寄存器列表中。

        此外,PMCR_EL0.DP有一个架构上未知的复位值。由于TF-A未初始化此寄存器,因此至少在某些实现中,默认情况下PMCR_EL0.DP可能会被初始化为0。在安全上下文中,这个和其他具有架构未知复位值的位应该初始化为合理的默认值。

        同样的问题也存在于等效的AArch32寄存器PMCR中,AArch32中PMCR_EL0.DP在架构上复位值为0。

         注意:上面引用的起初pull request只修复了S-EL1的问题,EL3在后来的提交中修复了。

 

参考:9.5. Advisory TFV-5 (CVE-2017-15031) — Trusted Firmware-A 2.9.0 documentation

http://www.lryc.cn/news/126905.html

相关文章:

  • 迅捷视频工具箱:多功能音视频处理软件
  • linux--fork()详解
  • go_并发编程(1)
  • 第一百一十五回 权限管理包permission_handler
  • 【机器学习】sklearn数据集的使用,数据集的获取和划分
  • Mysql之 optimizer_trace 相关总结
  • 【Linux命令详解 | wget命令】 wget命令用于从网络下载文件,支持HTTP、HTTPS和FTP协议
  • DockePod信号处理机制与僵尸进程优化
  • NetApp StorageGRID 对象存储,使您能够跨公有、私有云和混合多云环境管理非结构化数据
  • 使用Java服务器实现UDP消息的发送和接收(多线程)
  • Linux--查看端口占用情况
  • 微信小程序|自定义弹窗组件
  • 【数据结构】实现顺序表
  • 【嵌入式环境下linux内核及驱动学习笔记-(19)LCD驱动框架2-FrameBuffer】
  • 自己动手写数据库系统:实现一个小型SQL解释器(中)
  • HTML 与 XHTML 二者有什么区别
  • fiddler抓包问题记录,支持https、解决 tunnel to 443
  • Kubesphere中DevOps流水线无法部署/部署失败
  • 使用Nginx解决跨域问题
  • 在 OpenCV 中使用深度学习进行年龄检测-附源码
  • 【BASH】回顾与知识点梳理(三十一)
  • Linux 终端命令之文件浏览(3) less
  • 【精通性能优化:解锁JMH微基准测试】一基本用法
  • .Net程序调试时接受外部命令行参数方式
  • Mariadb高可用MHA (四十二)
  • Vue3 setup中使用$refs
  • 什么是React的上下文(Context)?如何使用和传递上下文信息?
  • CentOS Linux 78安全基线检查
  • Java之SpringCloud Alibaba【四】【微服务 Sentinel服务熔断】
  • Kubernetes 企业级高可用部署