ATF(TF-A)安全通告TF-V11——恶意的SDEI SMC可能导致越界内存读取(CVE-2023-49100)
目录
一、ATF(TF-A)安全通告TFV-11 (CVE-2023-49100)
二、透过事务看本质SDEI是干啥的呢?
三、CVE-2023-49100
1、GICv2 systems
2、GICv3 systems
四、漏洞修复
一、ATF(TF-A)安全通告TFV-11 (CVE-2023-49100)
| Title | 恶意的SDEI SMC可能导致越界内存读取(out of bound memory read) |
|---|---|
| CVE ID | CVE-2023-49100 |
| Date | Reported on 12 Oct 2023 |
| 受影响的版本 | TF-A releases v1.5 to v2.9 LTS releases lts-v2.8.0 to lts-v2.8.11 |
| 受影响的配置 | 使能SDEI support的平台(Platforms) |
| 影响 | 拒绝服务攻击Denial of Service (secure world panic) |
| Fix Version | a7eff3477 “fix(sdei): 确保中断ID是有效的ensure that interrupt ID is valid” |
| Credit | Christian Lindenmeier @_chli_ Marcel Busch @0ddc0de IT Security Infrastructures Lab |
二、透过事务看本质SDEI是干啥的呢?
软件委托异常接口 (SDEI:Software Delegated Exception Interface) 是非安全世界的Arm规范,用于向固件注册处理程序以接收有关系统事件的通知。固件将首先通过异步异常的方式接收系统事件,并在响应中安排注册的处理程序在非安全EL中执行。
与SDEI调度程序交互(发出SDEI请求和接收通知)的普通世界软件称为SDEI 客户端。即使客户端在屏蔽异常的情况下执行时,它也会在注册的处理程序处收到事件通知。
其实就是在EL1(或EL2)能够注册SDEI中断,其实就是切换到EL3中将该中断注册成group0中断,然后当事件到来时,中断将直接target到EL3,在EL3的处理程序中会dispatcher到EL1(EL2)中再处理。
其实就是想让RAS、watchdog中断能够快速响应,而且不被EL1(或EL2)屏蔽。也相当于达到了NMI的效果。

三、CVE-2023-49100
此安全通告描述了SDEI服务中的一个漏洞,其中一个恶意的非安全调用者调用无效中断ID的SDEI_INTERRUPT_BIND SMC调用,最终导致越界内存读取。
SDEI_INTERRUPT_BIND用于将任何物理中断绑定到正常优先级的SDEI事件。中断可以是私有外设中断(PPI)或共享外设中断(SPI)。
详细信息请参考SDEI Specification中SDEI_INTERRUPT_BIND。也可参考该博客13-SDEI: Software Delegated Exception Interface-CSDN博客
当SDEI客户端(SDEI client)传递一个没有由GIC实现的中断ID时,该漏洞就存在。这将导致data abort异常或EL3 panic,具体取决于系统中使用的GIC版本。
1、GICv2 systems
Call stack:sdei_interrupt_bind(interrupt ID)-> plat_ic_get_interrupt_type(interrupt ID)-> gicv2_get_interrupt_group(interrupt ID)-> gicd_get_igroupr(distributor base, interrupt ID)-> gicd_read_igroupr(distributor base, interrupt ID).
gicd_read_igroupr()最终将对未实现的IGROUPR寄存器执行MMIO读取。这可能导致data abort或对EL3 memory区域的随机访问。
2、GICv3 systems
Call stack:sdei_interrupt_bind(interrupt ID)-> plat_ic_get_interrupt_type(interrupt ID)-> gicv3_get_interrupt_group(interrupt ID, core ID)-> is_sgi_ppi(interrupt ID)
is_sgi_ppi()将在遇到无效的中断ID时以EL3 panic结束。
四、漏洞修复
通过确保SDEI客户端提供的中断ID是有效的PPI或SPI来修复该漏洞,否则返回指示参数无效的错误代码。
/* Bind an SDEI event to an interrupt */
static int sdei_interrupt_bind(unsigned int intr_num)
{sdei_ev_map_t *map;bool retry = true, shared_mapping;/* Interrupt must be either PPI or SPI */if (!(plat_ic_is_ppi(intr_num) || plat_ic_is_spi(intr_num)))return SDEI_EINVAL;

参考:
1、9.11. Advisory TFV-11 (CVE-2023-49100) — Trusted Firmware-A 2.10.0 documentation
2、SDEI初探-透过事务看本质
3、13-SDEI: Software Delegated Exception Interface-CSDN博客
相关文章:
ATF(TF-A)安全通告TF-V11——恶意的SDEI SMC可能导致越界内存读取(CVE-2023-49100)
目录 一、ATF(TF-A)安全通告TFV-11 (CVE-2023-49100) 二、透过事务看本质SDEI是干啥的呢? 三、CVE-2023-49100 1、GICv2 systems 2、GICv3 systems 四、漏洞修复 一、ATF(TF-A)安全通告TFV-11 (CVE-2023-49100) Title 恶意的SDEI SMC可能导致越界内存读取&am…...
如何查找SpringBoot应用中的请求路径(不使用idea)
背景 昨天有个同事向我咨询某个接口的物理表是哪个,由于公司业务较多、这块业务的确不是我负责的,也没有使用idea不能全局搜索(eclipse搜不到jar内的字符串),也就回复了不清楚。 除了自己写代码输出servlet的路径和类外,发现了一…...
56. 合并区间 - 力扣(LeetCode)
题目描述 以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] [starti, endi] 。请你合并所有重叠的区间,并返回 一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间 。 题目示例 输入:intervals [[1,3…...
数据结构篇-03:堆实现优先级队列
本文着重在于讲解用 “堆实现优先级队列” 以及优先级队列的应用,在本文所举的例子中,可能使用优先级队列来解并不是最优解法,但是正如我所说的:本文着重在于讲解“堆实现优先级队列” 堆实现优先级队列 堆的主要应用有两个&…...
linux clickhouse 安装
1、官网下载clickhouse安装包 下载地址, clickhouse分lts和stable版本,lts是长期版本,一般选择安装lts版本。 其中clickhouse-server是clickhouse服务,就是用来访问数据存储数据,clickhouse-client是用来通过命令访问数…...
【游戏客户端开发的进阶路线】
*** 游戏客户端开发的进阶路线 春招的脚步越来越近,我们注意到越来越多的同学们都在积极学习游戏开发,希望能在这个充满活力的行业中大展拳脚。 当我们思考如何成为游戏开发领域的佼佼者时,关键在于如何有效规划学习路径。 🤔 我…...
vue3+naiveUI二次封装的v-model 联动输入框
根据官网说明使用 源码 <template><div class"clw-input pt-3"><n-inputref"input":value"modelValue":type"type":title"title"clearable:disabled"disabled":size"size"placeholder&…...
百度Apollo | 实车自动驾驶:感知、决策、执行的无缝融合
🎬 鸽芷咕:个人主页 🔥 个人专栏:《linux深造日志》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! ⛳️ 推荐 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下…...
DAY31:贪心算法入门455、53、376
理论基础 贪心算法的基本思路是通过局部最优从而达到全局最优,但是有时候局部最优并不一定导致全局最优,这样就需要动态规划的方法。但一部分题目是能通过贪心得到的。贪心的证明一般用到数学归纳法和反证法。在实际的问题中,没有统一的代码…...
LeetCode:376.摆动序列
个人主页:仍有未知等待探索-CSDN博客 专题分栏:算法_仍有未知等待探索的博客-CSDN博客 题目链接:376. 摆动序列 - 力扣(LeetCode) 一、题目 如果连续数字之间的差严格地在正数和负数之间交替,则数字序列称…...
Stable Diffusion插件Recolor实现黑白照片上色
今天跟大家分享一个使用Recolor插件通过SD实现老旧照片轻松变彩色,Recolor翻译过来的含义就是重上色,该模型可以保持图片的构图,它只会负责上色,图片不会发生任何变化。 一:插件下载地址 https://github.com/pkuliyi…...
Android 音频焦点管理
前言 前面写过一篇类似的文章,没写完,今天再详细描述一下。 Android音频焦点申请处理 音频焦点管理的意义 两个或两个以上的 Android 应用可同时向同一输出流播放音频。系统会将所有音频流混合在一起。虽然这是一项出色的技术,但却会给用…...
大模型+自动驾驶
论文:https://arxiv.org/pdf/2401.08045.pdf 大型基础模型的兴起,它们基于广泛的数据集进行训练,正在彻底改变人工智能领域的面貌。例如SAM、DALL-E2和GPT-4这样的模型通过提取复杂的模式,并在不同任务中有效地执行,从…...
openssl3.2 - 测试程序的学习 - test\aesgcmtest.c
文章目录 openssl3.2 - 测试程序的学习 - test\aesgcmtest.c概述笔记能学到的流程性内容END openssl3.2 - 测试程序的学习 - test\aesgcmtest.c 概述 openssl3.2 - 测试程序的学习 aesgcmtest.c 工程搭建时, 发现没有提供 test_get_options(), cleanup_tests(), 需要自己补上…...
C语言——操作符详解2
目录 0.过渡0.1 不创建临时变量,交换两数0.2 求整数转成二进制后1的总数 1.单目表达式2. 逗号表达式3. 下标访问[ ]、函数调用( )3.1 下标访问[ ]3.2 函数调用( ) 4. 结构体成员访问操作符4.1 结构体4.1.1 结构体的申明4.1.2 结构体变量的定义和初始化 4.2 结构体成…...
(免费领源码)java#Springboot#mysql旅游景点订票系统68524-计算机毕业设计项目选题推荐
摘 要 科技进步的飞速发展引起人们日常生活的巨大变化,电子信息技术的飞速发展使得电子信息技术的各个领域的应用水平得到普及和应用。信息时代的到来已成为不可阻挡的时尚潮流,人类发展的历史正进入一个新时代。在现实运用中,应用软件的工作…...
帝国cms7.5 支付升级优化版文库范文自动生成word/PDF文档付费复制下载带支付系统会员中心整站模板源码sitemap百度推送+安装教程
帝国cms7.5 支付升级优化版文库范文自动生成word/PDF文档付费复制下载带支付系统会员中心整站模板源码sitemap百度推送+安装教程 (购买本专栏可免费下载栏目内所有资源不受限制,持续发布中,需要注意的是,本专栏为批量下载专用,并无法保证某款源码或者插件绝对可用,介意不…...
【node】关于npm、yarn、npx的区别与使用
文章目录 npm (Node Package Manager):安装依赖运行脚本 npx:执行项目依赖中的命令 yarn:安装依赖eg.使用npx yarn install 的作用 npm (Node Package Manager): 用途: npm 是 Node.js 官方提供的包管理工具,用于安装、管理和分享 JavaScript 代码包。安…...
力扣0099——恢复二叉搜索树
恢复二叉搜索树 难度:中等 题目描述 给你二叉搜索树的根节点 root ,该树中的 恰好 两个节点的值被错误地交换。请在不改变其结构的情况下,恢复这棵树 。 示例1 输入: root [1,3,null,null,2] 输出:[3,1,null,nul…...
机器学习核心算法
目录 逻辑回归 算法原理 决策树 决策树算法概述 树的组成 决策树的训练与测试 切分特征 衡量标准--熵 信息增益 决策树构造实例 连续值问题解决 预剪枝方法 分类与回归问题解决 决策树解决分类问题步骤 决策树解决回归问题步骤 决策树代码实例 集成算法 Baggi…...
告别手动打字:5分钟学会用AsrTools免费语音转文字
告别手动打字:5分钟学会用AsrTools免费语音转文字 【免费下载链接】AsrTools ✨ AsrTools: Smart Voice-to-Text Tool | Efficient Batch Processing | User-Friendly Interface | No GPU Required | Supports SRT/TXT Output | Turn your audio into accurate text…...
官方定调:Token(词元)是智能时代“硬通货”,不懂它用AI要被淘汰!
文章介绍了Token(词元)的官方定义及其在智能时代的重要性。Token是AI处理和理解文本的基本单位,类似于AI的“母语”。文章解释了Token的来源和运作机制,特别是中文和英文Token计数的差异,以及如何计算文本的Token数量。…...
Mask2Former与MaskFormer对比分析:第二代模型的改进与创新点
Mask2Former与MaskFormer对比分析:第二代模型的改进与创新点 【免费下载链接】Mask2Former Code release for "Masked-attention Mask Transformer for Universal Image Segmentation" 项目地址: https://gitcode.com/gh_mirrors/ma/Mask2Former M…...
25619+ASMR资源一键获取:让音频收藏效率提升10倍的智能下载工具
25619ASMR资源一键获取:让音频收藏效率提升10倍的智能下载工具 【免费下载链接】asmr-downloader A tool for download asmr media from asmr.one(Thanks for the asmr.one) 项目地址: https://gitcode.com/gh_mirrors/as/asmr-downloader 在数字音频时代&am…...
SenseVoice Small企业级应用:法务合同语音审查+关键条款提取实战
SenseVoice Small企业级应用:法务合同语音审查关键条款提取实战 1. 项目背景与需求场景 在现代企业法务工作中,合同审查是一项频繁且重要的工作。传统的合同审查流程往往需要法务人员逐字阅读大量合同文本,耗时耗力且容易遗漏关键条款。特别…...
COMSOL相场模拟:枝晶生长与雪花形成的模型与教程
comsol相场模拟枝晶生长(雪花的形成) 有模型和教程 凌晨三点盯着显微镜下的冰晶生长,突然意识到这玩意儿和编程调试一样——参数调不好分分钟给你长歪。相场法模拟枝晶生长这事儿,本质上就是在用数学方程式和物理定律"种&qu…...
5分钟掌握防撤回神器:让重要消息无处可逃
5分钟掌握防撤回神器:让重要消息无处可逃 【免费下载链接】RevokeMsgPatcher :trollface: A hex editor for WeChat/QQ/TIM - PC版微信/QQ/TIM防撤回补丁(我已经看到了,撤回也没用了) 项目地址: https://gitcode.com/GitHub_Tre…...
COMSOL 物质传递建模仿真:氯气洗涤与液膜除氯的奇妙之旅
COMSOL物质传递建模仿真 comsol物质传递反应 氯气洗涤,液膜除氯 液膜交界面氯气浓度衰减在化工领域,物质传递与反应的模拟对于优化工艺、提高效率至关重要。今天咱就唠唠基于 COMSOL 的物质传递建模仿真,特别是围绕氯气洗涤以及液膜除氯这俩关…...
突破国际漫游限制:Nrfr免Root工具的终极解决方案
突破国际漫游限制:Nrfr免Root工具的终极解决方案 【免费下载链接】Nrfr 🌍 免 Root 的 SIM 卡国家码修改工具 | 解决国际漫游时的兼容性问题,帮助使用海外 SIM 卡获得更好的本地化体验,解锁运营商限制,突破区域限制 …...
Windows性能优化:任务管理器深度使用指南
Windows性能优化:任务管理器深度使用指南Windows系统运行缓慢、卡顿?系统自带的任务管理器是诊断和解决性能瓶颈的强大工具。本文将带你深度挖掘Windows任务管理器的各项功能,重点介绍如何利用它进行进程管理、性能监控、启动项优化等操作&am…...
