Windows图形漏洞深度剖析:远程代码执行与内存泄露

news/2025/11/26 12:09:38/文章来源:https://www.cnblogs.com/qife122/p/19272180

背景

Check Point Research (CPR) 在Windows图形设备接口(GDI)中发现了三个安全漏洞。我们及时向微软报告了这些问题,并在2025年5月、7月和8月的补丁星期二更新中得到了解决。

这些漏洞包括:

  • CVE-2025-30388,评级为重要,被认为更有可能被利用;
  • CVE-2025-53766,被分类为严重级别,可能允许远程攻击者在受影响的系统上执行任意代码;
  • CVE-2025-47984,同样评级为重要,可能导致通过网络未经授权披露敏感信息。

几何图形失控 - CVE-2025-30388

我们发现了与处理EmfPlusDrawStringEmfPlusFillRectsEmfPlusFillClosedCurve记录相关的三个独立崩溃。所有三种情况都有一个共同的根本原因:另一个记录为利用设置了阶段。然而,结果因执行期间处理哪些附加记录而异。

GdiPlus.dll模块的10.0.26100.3037版本中,ScanOperation::AlphaMultiply_sRGB()ScanOperation::Blend_sRGB_sRGB_MMX()EpAntialiasedFiller::OutputSpan()函数中发生了多次访问违规异常。这些异常是在系统尝试读取或写入4000/0xFA0字节堆块末端的内存时,或尝试访问保留但未分配的内存时触发的。

此漏洞可能允许远程攻击者使用特制的EMF+元文件执行越界读取或写入内存操作。

在我们的崩溃样本中,EmfPlusClear记录位于元文件中的EmfPlusDrawString记录之前。该记录清除输出坐标空间并使用背景颜色和透明度进行初始化,如其Color字段所定义。该字段包含一个指定红、绿、蓝和alpha分量的EmfPlusARGB对象。此细节很重要,因为它允许攻击者在利用期间控制写入内存的值。

进一步调查显示,EmfPlusClear记录处理程序使用EpScanBitmap::Start()函数分配一个堆块来存储4000字节(0xFA0)。然后使用指定的EmfPlusARGB对象填充此缓冲区,该对象在EmfPlusDrawString记录处理期间通过AlphaMultiply_sRGB()函数进行alpha乘法。

存储在ebx寄存器中的循环计数器从0x950开始。由于每次迭代将4字节对象写入ecx + edx处的目标缓冲区,当计数器达到0x567时,函数在1000字节后越界写入。

alpha值乘以颜色值以确保透明区域(alpha值为0)不贡献任何颜色(R = G = B = 0)。因此,半透明区域中的颜色显得更暗,因为这些对象比不透明对象发出更少的光。

第四个字节是alpha值,范围从0x00到0xFF。将alpha值设置为0xFF允许攻击者近乎完全控制写入缓冲区的内容,因为RGB值保持不变。在上面的示例中,B=0xAAG=0xBBR=0xCCA=0xFF被写入目标缓冲区。

补丁分析证实,在各种元文件记录处理期间发生的崩溃都有一个共同的根源:在观察到崩溃的其他记录之前的EmfPlusSetTSClip记录中存在无效的RECT对象。

处理无效的RECT对象会导致基于堆的缓冲区溢出,可能允许攻击者执行越界内存操作。攻击者可以通过使用各种其他元文件记录来写入或读取内存来利用此漏洞,因为损坏的EmfPlusSetTSClip记录为利用设置了阶段。

从Microsoft Word 365中的结果图像可以看出,每次渲染的输出都不同,这表明此崩溃样本会泄露内存,并最终导致Word意外终止。此行为已经跨越了安全边界,因为如果攻击者可以读回渲染的图像(例如,在Web浏览器中使用JavaScript),则可能导致信息泄露。

微软通过在GdiPlus.dll10.0.26100.4061版本中在SetTSClipEPR::Play()处理程序函数内引入ValidateAndSet()IsRectValid()函数来验证RECT对象,修复了此漏洞。

此错误在2025年5月补丁星期二的KB5058411中作为重要严重性的远程代码执行漏洞得到解决,跟踪为CVE-2025-30388。值得注意的是,此问题也影响Microsoft Office for Mac和Android。此外,MSRC的可利用性评估为"更可能被利用",表明此漏洞对攻击者来说是一个高价值目标。

负空间 - CVE-2025-53766

我们在处理EmfPlusDrawRects记录时发现了第四次崩溃。在GdiPlus.dll10.0.26100.4202版本中,ScanOperation::AlphaDivide_sRGB()函数尝试写入保留但未分配的内存时发生了访问违规异常。

此漏洞可能允许远程攻击者使用特制的EMF+元文件执行越界内存写入。

此问题与我们之前讨论的CVE-2025-30388漏洞类似。该错误是由在发生崩溃的其他记录之前的EmfPlusSetTSClip记录中的无效RECT对象引起的。在这个新情况下,漏洞源于受影响EmfPlusDrawRects记录中的一系列EmfPlusRect对象。

EmfPlusDrawRects记录前面是一个EmfPlusObject记录,该记录指定在图形操作中使用的EmfPlusPen对象。EmfPlusPen对象定义与笔关联的图形画刷。画刷是纯色画刷,由EmfPlusARGB值表征。攻击者可以通过此值控制eax寄存器中写入操作的源。

在位图图像中,扫描线是一行水平像素。逐行处理图像意味着一次处理一条扫描线,从左到右,从上到下。进一步分析显示,EpScanBitmap::NextBuffer()函数从未验证它要处理的扫描线数量是否适合目标位图,这意味着如果调用请求的扫描线多于存在的扫描线,该函数可能会被欺骗读取或写入图像底部边缘之外。

假设为缩略图生成分配的位图为100×100 (0x64 × 0x64)像素,PoC元文件中的矩形数据故意将扫描位置推到位图底部边缘之外,并触发越界写入。这些矩形中的任何一个都强制光栅化器(将矢量图形转换为像素网格)处理其Y坐标远超出位图0-99范围的扫描线。

微软通过在GdiPlus.dll10.0.26100.4946版本中在EpScanBitmap::NextBuffer()函数内添加检查来检测请求的扫描线数是否超过位图高度,修复了此漏洞。该函数现在自动修剪请求的扫描线以适应剩余行,防止任何越界访问。

此漏洞在2025年8月补丁星期二的KB5063878中作为严重严重性的远程代码执行漏洞得到解决,跟踪为CVE-2025-53766。值得注意的是,此漏洞不需要特权或用户交互,并且可以通过网络远程利用,使其成为解析特制元文件的Web服务的高风险威胁。

未完成的事务 - CVE-2025-48984

我们在处理EMR_STARTDOC记录时发现了第五次崩溃,这立即似乎与CVE-2022-35837漏洞相关。在gdi32full.dll10.0.26100.3624版本中,StringLengthWorkerW()函数尝试读取288/0x120字节堆块末端的内存时发生了访问违规异常。

堆栈跟踪表明问题可能在于StringLengthWorkerW()函数,该函数对用户控制的数据执行长度检查,并假定输入是以空字符结尾的字符串。但是,如果提供的字符串不是以空字符结尾,该函数可能会读取超出分配的缓冲区,导致潜在的信息泄露。

反编译的MRSTARTDOC::bPlay()函数源代码显示,CVE-2022-35837是通过将值分配给lpszDocNamelpszOutput字段(如果它们各自的字段非空)通过存储在v5变量中的计算偏移量来解决的。

越界读取的发生是因为MRSTARTDOC::bPlay()函数验证记录内的字符串偏移量。特制的元文件可能会填充lpszDocName字段中的第一个字符串,使其几乎到达记录的末尾。在复制该字符串后,代码将其内部光标推进到该点之外,但对lpszOutput字段的下一个验证仍然将提供的偏移量视为相对于记录的原始基址。

这种差异允许攻击者提供一个通过MR::bValidOff()函数检查的值,而实际上指向堆块外部。由于找不到空终止符,StringLengthWorkerW()函数继续读取相邻内存,暴露其内容。崩溃样本通过将EMF_HEADER.nBytes字段设置为仅0x120 (288)字节来加剧问题,导致分配的缓冲区小于嵌入数据,并保证过度读取。

微软通过在gdi32full.dll10.0.26100.4652版本中在MRSTARTDOC::bPlay()处理程序函数内更正偏移算法修复了此漏洞。修补后的函数现在在重新验证之前将指针转换回相对于记录开始的偏移量,并将相同的逻辑应用于lpszOutput字段。因此,检查与将被解引用的数据匹配。

此错误在2025年7月补丁星期二的KB5062553中作为重要严重性的信息泄露漏洞得到解决,跟踪为CVE-2025-47984。MSRC将其分类为CWE-693:保护机制失败,在这种情况下确实意味着解决CVE-2022-35837的安全修复不完整。

结论

我们在Windows GDI中发现了可能对系统安全产生严重影响的漏洞。我们对EMF+文件的广泛调查表明,要领先于潜在威胁需要持续的关注和适应。通过分享这些发现,我们希望提高认识,并为所有Windows用户提供有价值的见解和建议以增强安全性。

安全漏洞可能持续多年未被发现,通常由于不完整的修复而重新出现。一个特定的信息泄露漏洞,尽管通过安全补丁正式解决,但由于原始问题仅得到部分修复,仍然活跃多年。这个例子强调了研究人员面临的一个基本难题:引入漏洞通常很容易,修复它可能很困难,而验证修复是否彻底有效则更具挑战性。

这些问题突出了为什么全面和持续的安全测试至关重要,必须不断更新和改进验证技术。供应商和安全研究人员之间的密切合作可以大大增强这项工作,包括与最初报告问题的研究人员共享计划中的修复。这种协作方法增加了额外的审查层,有助于及早发现潜在差距,并加强软件生态系统的整体安全性。
更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)
对网络安全、黑客技术感兴趣的朋友可以关注我的安全公众号(网络安全技术点滴分享)

公众号二维码

公众号二维码

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/977037.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2025年知名的不锈钢鹦鹉笼最新TOP厂家排名

2025年知名不锈钢鹦鹉笼最新TOP厂家排名:专业采购指南与市场洞察行业背景与市场趋势随着全球宠物经济规模突破2000亿美元(据《2025全球宠物行业白皮书》数据),高端宠物用品市场正以年均12.3%的速度增长。其中不锈钢…

拓扑 AC 2025 线上 NOIP 联测 #3

100 + 25 + 0 + 25 = 150, Rank 2/35.[2025线上NOIP联测第三阶段] 模拟赛 3 链接:link 题解:暂无 时间:4.5h (2025.11.26 07:10~11:40) 题目数:4 难度:A B C D\(\color{#52C41A} 绿\)*1700估分:[60,100] + 25 + …

2025年口碑好的铁氟龙喷涂厂家最新推荐权威榜

2025年口碑好的铁氟龙喷涂厂家最新推荐权威榜行业背景与市场趋势铁氟龙喷涂技术作为现代工业中不可或缺的表面处理工艺,近年来随着制造业的升级和环保要求的提高,市场需求持续增长。据《2024-2025年中国特种涂料行业…

2025年比较好的高压风机厂家选购指南与推荐

2025年高压风机厂家选购指南与推荐:专业视角下的行业分析与品牌评估高压风机行业现状与市场趋势高压风机作为工业领域的关键设备,在电力、化工、冶金、环保等行业中发挥着不可替代的作用。根据中国通用机械工业协会风…

2025年靠谱的称重模块生产厂家实力及用户口碑排行榜

2025年靠谱的称重模块生产厂家实力及用户口碑排行榜行业背景与市场趋势称重模块作为工业自动化领域的关键组件,近年来随着智能制造和物联网技术的快速发展,市场需求呈现稳定增长态势。据中国衡器协会最新统计数据显示…

Nessus Professional 10.11 Auto Installer for RHEL 10, AlmaLinux 10, Rocky Linux 10 - Nessus 自动化安装程序

Nessus Professional 10.11 Auto Installer for RHEL 10, AlmaLinux 10, Rocky Linux 10 - Nessus 自动化安装程序Nessus Professional 10.11 Auto Installer for RHEL 10, AlmaLinux 10, Rocky Linux 10 - Nessus 自动…

Nessus Professional 10.11 Auto Installer for Ubuntu 24.04 - Nessus 自动化安装程序

Nessus Professional 10.11 Auto Installer for Ubuntu 24.04 - Nessus 自动化安装程序Nessus Professional 10.11 Auto Installer for Ubuntu 24.04 - Nessus 自动化安装程序 发布 Nessus 试用版自动化安装程序,支持…

2025年 SUV车型轮胎推荐:五大安全胎深度测评

2025年 SUV车型轮胎推荐:五大安全胎深度测评SUV车型轮胎推荐已成为当前汽车后市场与整车配套领域共同关注的核心议题。随着全球SUV保有量与销量持续攀升,消费者对轮胎的全场景适配能力、静音舒适性、结构支撑性及安全…

Nessus Professional 10.11 Auto Installer for macOS Tahoe - Nessus 自动化安装程序

Nessus Professional 10.11 Auto Installer for macOS Tahoe - Nessus 自动化安装程序Nessus Professional 10.11 Auto Installer for macOS Tahoe - Nessus 自动化安装程序 发布 Nessus 试用版自动化安装程序,支持 m…

中电金信 :「AI智变」银行对公业务如何以AI应对挑战、重塑增长?

在市场竞争和客户需求的双重变革之下,银行对公业务的传统经营模式日渐失效。“获客难、活客难、留客难”正逐步成为业界普遍面临的问题。欲突破此困境,关键在于推动经营模式向以数据和智能为核心的“精准化、自动化、…

2025年北京橡胶垂直燃烧检测公司权威推荐榜单:北京橡胶老化检测/北京特种橡胶检测/北京天然橡胶检测服务机构精选

科学精准的垂直燃烧检测,为材料安全保驾护航。 橡胶材料的防火安全性能直接关系到最终产品的使用安全,垂直燃烧测试作为评估橡胶材料阻燃性能的关键手段,已成为电线电缆、汽车配件、建筑材料等行业质量控制的重要环…

2025年 SUV车型轮胎推荐:TOP5轮胎权威榜单

2025年 SUV车型轮胎推荐:TOP5轮胎权威榜单在消费升级与多元化出行需求的双重驱动下,SUV车型已从单纯的交通工具演变为生活方式的延伸,而“SUV车型轮胎推荐”也因此成为无数车主在车辆养护与性能升级中最具挑战的决策…

基于空时阵列最佳旋转角度的卫星导航抗干扰信号处理的MATLAB仿真

一、核心仿真代码框架 %% 参数设置 clear; clc; close all;% 阵列参数 M = 8; % 阵元数 lambda = 0.25; % 波长 (m) d = lambda/2; % 阵元间距 fs = 5e6; % 采样率 (Hz) fc = 1.57542e9; % GNSS L1频…

Packet Tracer 验证OSPF协议时遇到的问题

Q:路由器开关问题A:0 在下面表示“关闭” Q:窗口界面配置IP地址问题A:一定要设置为开启!!!不然 IP 地址白设置了 Q: 使用 show ip route 检查发现 OSPF 协议没有成功开启问题A: 这是因为没有把全部的路由器的 OSPF …

【ACM出版丨见刊后25天完成EI检索丨高录用】第五届大数据、人工智能与风险管理国际学术会议 (ICBAR 2025)

第五届大数据、人工智能与风险管理国际学术会议(ICBAR 2025)冬季会场将于2025年12月12-14日在中国东莞隆重举行。【ACM出版丨见刊后25天完成EI检索丨高录用】 【连续4届快速EI&Scopus检索】 第五届大数据、人工智…

2025年广州内部财务梳理公司权威推荐榜单:工商注销‌/代理记账‌/税务筹划‌源头公司精选

在2025年广州企业精细化管理的需求背景下,内部财务梳理服务正成为提升企业财务管理效能的关键环节,专业服务机构通过标准化流程和专业团队帮助企业实现财税合规与效率提升。 据广东省财税服务行业数据显示,2024年广…

2025年开体船批发厂家权威推荐榜单:摆渡船‌/运沙船‌/运输船‌源头厂家精选

在航道疏浚与港口建设需求持续增长的背景下,开体船以其高效的作业能力,正成为水工领域的重要装备,其市场规模稳步扩大。 开体船,亦称开体驳,通过独特的双体结构和可开启的船底,在运输泥沙、石材等散货时,能实现…

2025青岛出国留学中介机构前十名

2025青岛出国留学中介机构前十名一、青岛留学中介如何选?这些高频问题帮你理清思路作为拥有12年国际教育规划经验的顾问,我经常收到青岛学生和家长的咨询。在2025年的今天,留学申请变得更加复杂,许多人在选择中介时…

2025年卧式洗涤塔厂商权威推荐榜单:氧割烟尘除尘设备/低温等离子废气设备/有机肥臭气处理设备源头厂商精选

在工业生产过程中,废气处理是环保合规的关键环节。卧式洗涤塔凭借其高净化效率、低运行成本和稳定的系统性能,成为众多企业的首选设备。据行业数据显示,2024年卧式洗涤塔在废气处理设备市场中占比达到35%,预计2025…

2025留学中介十强

2025留学中介十强一、如何找留学中介:你的疑问,我来解答作为从事国际教育规划工作超过12年的专业人士,我每天都会接触到大量学生和家长的咨询。2025年已经过半,留学市场依然火热,但选择留学中介的困惑却始终存在。…