CVE-2009-1537 - Microsoft DirectX NULL Byte Overwrite Vulnerability

🔥 热门漏洞情报 · CISA-KEV · 2026-05-20

CVE-2009-1537 - Microsoft DirectX NULL Byte Overwrite Vulnerability

Critical · CVSS 9.3 堆缓冲区溢出(空字节覆盖)
CVE-2009-1537

📋 漏洞概述

Microsoft DirectX DirectShow quartz.dll 中 QuickTime 解析器存在空字节覆盖漏洞,远程攻击者通过特制QuickTime文件可执行任意代码。

📋 基础信息

受影响版本Microsoft DirectX 9.0c, Microsoft Windows 2000 SP4, Windows XP SP2/SP3, Windows Vista SP1/SP2, Windows Server 2003 SP2, Windows Server 2008 (所有版本,包括Itanium和32/64位)
漏洞类型堆缓冲区溢出(空字节覆盖)
CVSS9.3 · Critical
CVECVE-2009-1537

🔬 漏洞根因

DirectShow 的 QuickTime Movie Parser Filter(quartz.dll)在处理QuickTime文件中的‘stsd’(sample description)原子时,未正确验证用户提供的长度字段。解析器将长度值直接用于内存复制操作,但未考虑后续数据中可能出现的空字节。当长度字段被操作为特定值且数据中包含大量空字节时,会导致堆内存中关键元数据(如堆块头部)被空字节覆盖,破坏堆结构完整性。这一缺陷本质上属于整数符号或边界计算错误,最终引发堆溢出。

🎯 攻击场景

1. 攻击者构造一个恶意的QuickTime(.mov)文件,其中包含畸形的‘stsd’原子,其长度字段被设置为一个精心计算的值,使得解析过程中会写入超出分配缓冲区的空字节; 2. 攻击者通过邮件附件、恶意网页(嵌入ActiveX控件)或网络共享等方式诱使用户打开该文件; 3. 当用户使用任何调用DirectX DirectShow(如Windows Media Player、IE浏览器等)的应用播放文件时,quartz.dll解析器触发空字节覆盖,破坏堆管理数据结构; 4. 堆损坏导致任意函数指针被劫持,攻击者利用ROP链绕过DEP/ASLR(当时系统缓解措施有限),执行Shellcode; 5. 成功获取与当前用户相同的权限(通常为管理员),实现远程代码执行。

💥 漏洞影响

远程代码执行(RCE),攻击者可完全控制受影响系统,包括安装恶意程序、查看/修改/删除数据、创建新账户。影响广泛:覆盖Windows 2000至2008全系操作系统,无需用户交互即可通过浏览器(ActiveX)触发。

🛡️ 修复建议

安装微软官方安全更新(MS09-028,KB971633),升级至DirectX 9.0c最新版或更高版本DirectX。临时缓解措施:禁用QuickTime解析器(通过注销quartz.dll或修改注册表权限)、在浏览器中禁用ActiveX控件对DirectShow对象的调用、使用网络防火墙阻止来自外部的恶意媒体文件。

📎 参考链接

🚨 威胁评估

📈 EPSS 利用概率高 (68.1%) (高于 98.6% 的漏洞)
🚨 CISA KEV🚨 已被积极利用
🔧 公开 PoC暂无公开 PoC

⚠️ 本文由漏洞情报系统自动生成,仅供安全研究与防御参考。生成时间: 2026-05-21 08:09 | 来源: CISA-KEV

[!] CONTACT_CHANNELS

如需商务合作、技术咨询或漏洞反馈,请通过以下离岸节点联系作者。

> PING_AUTHOR (@A1RedTeam)