【安全风险通告】Windows Type 1字体解析远程代码执行漏洞安全风险通告

本文主要是介绍【安全风险通告】Windows Type 1字体解析远程代码执行漏洞安全风险通告,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

微软官方今天发布了编号为ADV200006的安全通告,其中包含两枚Adobe字体管理库相关的严重远程代码执行漏洞,其中一枚漏洞为奇安信代码安全实验室提交,公告中指出这两枚漏洞已遭在野利用。

鉴于漏洞危害很大,建议客户关注微软通告并采取缓解措施。

奇安信 CERT

漏洞描述

微软官方今天发布了编号为ADV200006的安全通告,其中包含两枚Adobe字体管理库(Adobe Type Manager Library)相关的严重远程代码执行漏洞,其中一枚漏洞为奇安信代码安全实验室提交。

Adobe字体管理库(Adobe Type Manager Library)不正确地处理 Adobe Type 1 PostScript 字体格式时会引发严重的远程代码执行 (RCE) 漏洞。微软官方的安全通告指出这两枚漏洞已遭在野利用。

公告还指出,攻击者利用漏洞的方式有多种,如说服用户打开一个特殊构造的文本或在 Windows 预览窗格中查看该文本。另外,目前已存在一定范围的利用该漏洞的针对性网络攻击。微软目前已推出缓解措施和应变措施,并正在着手推出修复方案。

奇安信代码安全实验室的安全专家指出,该漏洞影响 Windows XP 至 Windows 10的所有系统版本,不过对不同系统版本产生的危害不一样,例如在Windows 7、Windows XP环境下可获得内核权限(危害巨大)、在Windows 10的环境下可获得沙箱内权限(危害小)。

鉴于漏洞危害很大,建议客户关注微软通告并等候补丁更新。


风险等级

奇安信 CERT风险评级为:高危

风险等级:蓝色(一般事件)

影响范围

官方描述:

Windows 10 for 32-bit Systems

Windows 10 for x64-based Systems

Windows 10 Version 1607 for 32-bit Systems

Windows 10 Version 1607 for x64-based Systems

Windows 10 Version 1709 for 32-bit Systems

Windows 10 Version 1709 for ARM64-based Systems

Windows 10 Version 1709 for x64-based Systems

Windows 10 Version 1803 for 32-bit Systems

Windows 10 Version 1803 for ARM64-based Systems

Windows 10 Version 1803 for x64-based Systems

Windows 10 Version 1809 for 32-bit Systems

Windows 10 Version 1809 for ARM64-based Systems

Windows 10 Version 1809 for x64-based Systems

Windows 10 Version 1903 for 32-bit Systems

Windows 10 Version 1903 for ARM64-based Systems

Windows 10 Version 1903 for x64-based Systems

Windows 10 Version 1909 for 32-bit Systems

Windows 10 Version 1909 for ARM64-based Systems

Windows 10 Version 1909 for x64-based Systems

Windows 7 for 32-bit Systems Service Pack 1

Windows 7 for x64-based Systems Service Pack 1

Windows 8.1 for 32-bit systems

Windows 8.1 for x64-based systems

Windows RT 8.1

Windows Server 2008 for 32-bit Systems Service Pack 2

Windows Server 2008 for 32-bit Systems Service Pack 2 (Server Core installation)

Windows Server 2008 for Itanium-Based Systems Service Pack 2

Windows Server 2008 for x64-based Systems Service Pack 2

Windows Server 2008 for x64-based Systems Service Pack 2 (Server Core installation)

Windows Server 2008 R2 for Itanium-Based Systems Service Pack 1

Windows Server 2008 R2 for x64-based Systems Service Pack 1

Windows Server 2008 R2 for x64-based Systems Service Pack 1 (Server Core installation)

Windows Server 2012

Windows Server 2012 (Server Core installation)

Windows Server 2012 R2

Windows Server 2012 R2 (Server Core installation)

Windows Server 2016

Windows Server 2016 (Server Core installation)

Windows Server 2019

Windows Server 2019 (Server Core installation)

Windows Server, version 1803 (Server Core Installation)

Windows Server, version 1903 (Server Core installation)

Windows Server, version 1909 (Server Core installation)

奇安信代码安全实验室的安全专家指出Windows XP亦受影响


处置建议

根据微软提供的以下临时缓解措施进行配置:

在Windows资源管理器中禁用预览窗格和详细信息窗格:

在Windows资源管理器中禁用“预览”和“详细信息”窗格将阻止在Windows资源管理器中自动显示OTF字体。虽然这可以防止在Windows资源管理器中查看恶意文件,但不能阻止经过身份验证的本地用户运行特制程序来利用此漏洞。要在Windows Server 2008,Windows 7,Windows Server 2008 R2,Windows Server 2012,Windows Server 2012 R2和Windows 8.1中禁用这些窗格,请执行以下步骤:

1.打开Windows资源管理器,单击“ 组织”,然后单击“ 布局”。

2.清除“ 详细信息”窗格和“ 预览”窗格的菜单选项。

3.单击“ 整理”,然后单击“ 文件夹和搜索选项”。

4.单击查看选项卡。

5.在“ 高级设置”下,选中“ 始终显示图标,从不显示缩略图”框。

6.关闭Windows资源管理器的所有打开的实例,以使更改生效。

对于Windows Server 2016,Windows 10和Windows Server 2019,请执行以下步骤:

1.打开Windows资源管理器,单击“ 查看”选项卡。

2.清除“ 详细信息”窗格和“ 预览”窗格的菜单选项。

3.单击选项,然后单击更改文件夹和搜索选项。

4.单击查看选项卡。

5.在“ 高级设置”下,选中“ 始终显示图标,从不显示缩略图”框。

6.关闭Windows资源管理器的所有打开的实例,以使更改生效。

缓解措施造成的影响:

Windows资源管理器不会自动显示OTF字体。

重命名ATMFD.DLL:

请注意:从Windows 10版本1709开始的Windows 10安装中不存在ATMFD.DLL。较新的版本没有此DLL。有关更多信息,请参见缓解部分。

对于32位系统:

1.管理员权限下使用命令提示符输入以下命令:

cd "%windir%\system32"
takeown.exe /f atmfd.dll
icacls.exe atmfd.dll /save atmfd.dll.acl
icacls.exe atmfd.dll /grant Administrators:(F) 
rename atmfd.dll x-atmfd.dll

2.重新启动系统

对于64位系统:

1.管理员权限下使用命令提示符输入以下命令:

cd "%windir%\system32"
takeown.exe /f atmfd.dll
icacls.exe atmfd.dll /save atmfd.dll.acl
icacls.exe atmfd.dll /grant Administrators:(F) 
rename atmfd.dll x-atmfd.dll
cd "%windir%\syswow64"
takeown.exe /f atmfd.dll
icacls.exe atmfd.dll /save atmfd.dll.acl
icacls.exe atmfd.dll /grant Administrators:(F) 
rename atmfd.dll x-atmfd.dll

2.重新启动系统

Windows 8.1或更低版本操作系统的可选操作(禁用ATMFD):

注意:不正确地使用注册表编辑器会导致严重的问题,可能需要您重新安装操作系统。Microsoft无法保证可以解决由于注册表编辑器使用不当而导致的问题。使用注册表编辑器需要您自担风险。有关如何编辑注册表的信息,请在注册表编辑器(Regedit.exe)中查看“更改键和值”帮助主题,或在Regedt32中查看“在注册表中添加和删除信息”和“编辑注册表数据”帮助主题。

方法1(手动编辑系统注册表):

1.以管理员身份运行regedit.exe。

2.在注册表编辑器中,导航到以下子项(或创建它)并将其DWORD值设置为1:HKLM\Software\Microsoft\Windows NT\CurrentVersion\Windows\DisableATMFD, DWORD = 1

3.关闭注册表编辑器,然后重新启动系统。

方法2(使用托管部署脚本):

1.创建一个名为ATMFD-disable.reg的文本文件,其中包含以下文本:

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows
NT\CurrentVersion\Windows]
"DisableATMFD"=dword:00000001

2.运行regedit.exe。

3.在注册表编辑器中,单击“ 文件”菜单,然后单击“ 导入”。

4.浏览并选择您在第一步中创建的ATMFD-disable.reg文件。(请注意,如果未在您期望的位置列出您的文件,请确保是否使用自动为该文件指定.txt文件扩展名,或将对话框的文件扩展名参数更改为All Files)。

5.单击“ 打开”,然后单击“ 确定”关闭注册表编辑器。

缓解措施造成的影响:

依赖嵌入式字体技术的应用程序将无法正确显示。禁用ATMFD.DLL可能会导致某些应用程序使用OpenType字体而无法正常运行。Microsoft Windows不会本地发布任何OpenType字体。但是,第三方应用程序可以安装它们,并且它们可能会受到此更改的影响。

Windows 8.1或更低版本操作系统的可选操作(启用ATMFD):

注意:不正确地使用注册表编辑器会导致严重的问题,可能需要您重新安装操作系统。Microsoft无法保证可以解决由于注册表编辑器使用不当而导致的问题。使用注册表编辑器需要您自担风险。有关如何编辑注册表的信息,请在注册表编辑器(Regedit.exe)中查看“更改键和值”帮助主题,或在Regedt32中查看“在注册表中添加和删除信息”和“编辑注册表数据”帮助主题。

方法1(手动编辑系统注册表):

1.以管理员身份运行regedit.exe。

2.在注册表编辑器中,导航到以下子项并将其DWORD值设置为

0:HKLM\Software\Microsoft\Windows  
NT\CurrentVersion\Windows\DisableATMFD, DWORD = 0

3.关闭注册表编辑器,然后重新启动系统。

方法2(使用托管部署脚本):

1.创建一个名为ATMFD-enable.reg的文本文件,其中包含以下文本:

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows]
"DisableATMFD"=dword:00000000

2.运行regedit.exe。

3.在注册表编辑器中,单击“ 文件”菜单,然后单击“ 导入”。

4.导航到并选择您在第一步中创建的ATMFD-enable.reg文件。(请注意,如果未在您期望的位置列出您的文件,请确保未自动为该文件指定.txt文件扩展名,或将对话框的文件扩展名参数更改为All Files)。

5.单击“ 打开”,然后单击“ 确定”关闭注册表编辑器。


参考资料

[1] https://portal.msrc.microsoft.com/en-us/security-guidance/advisory/adv200006


时间线

2020年3月24日,奇安信 CERT发布安全风险通告

奇安信代码卫士 (codesafe)

国内首个专注于软件开发安全的产品线。

                           点个“在看”,一起玩耍

这篇关于【安全风险通告】Windows Type 1字体解析远程代码执行漏洞安全风险通告的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/597338

相关文章

Windows设置nginx启动端口的方法

《Windows设置nginx启动端口的方法》在服务器配置与开发过程中,nginx作为一款高效的HTTP和反向代理服务器,被广泛应用,而在Windows系统中,合理设置nginx的启动端口,是确保其正... 目录一、为什么要设置 nginx 启动端口二、设置步骤三、常见问题及解决一、为什么要设置 nginx

C语言中自动与强制转换全解析

《C语言中自动与强制转换全解析》在编写C程序时,类型转换是确保数据正确性和一致性的关键环节,无论是隐式转换还是显式转换,都各有特点和应用场景,本文将详细探讨C语言中的类型转换机制,帮助您更好地理解并在... 目录类型转换的重要性自动类型转换(隐式转换)强制类型转换(显式转换)常见错误与注意事项总结与建议类型

MySQL 缓存机制与架构解析(最新推荐)

《MySQL缓存机制与架构解析(最新推荐)》本文详细介绍了MySQL的缓存机制和整体架构,包括一级缓存(InnoDBBufferPool)和二级缓存(QueryCache),文章还探讨了SQL... 目录一、mysql缓存机制概述二、MySQL整体架构三、SQL查询执行全流程四、MySQL 8.0为何移除查

在Rust中要用Struct和Enum组织数据的原因解析

《在Rust中要用Struct和Enum组织数据的原因解析》在Rust中,Struct和Enum是组织数据的核心工具,Struct用于将相关字段封装为单一实体,便于管理和扩展,Enum用于明确定义所有... 目录为什么在Rust中要用Struct和Enum组织数据?一、使用struct组织数据:将相关字段绑

使用Java实现一个解析CURL脚本小工具

《使用Java实现一个解析CURL脚本小工具》文章介绍了如何使用Java实现一个解析CURL脚本的工具,该工具可以将CURL脚本中的Header解析为KVMap结构,获取URL路径、请求类型,解析UR... 目录使用示例实现原理具体实现CurlParserUtilCurlEntityICurlHandler

深入解析Spring TransactionTemplate 高级用法(示例代码)

《深入解析SpringTransactionTemplate高级用法(示例代码)》TransactionTemplate是Spring框架中一个强大的工具,它允许开发者以编程方式控制事务,通过... 目录1. TransactionTemplate 的核心概念2. 核心接口和类3. TransactionT

数据库使用之union、union all、各种join的用法区别解析

《数据库使用之union、unionall、各种join的用法区别解析》:本文主要介绍SQL中的Union和UnionAll的区别,包括去重与否以及使用时的注意事项,还详细解释了Join关键字,... 目录一、Union 和Union All1、区别:2、注意点:3、具体举例二、Join关键字的区别&php

在 Windows 上安装 DeepSeek 的完整指南(最新推荐)

《在Windows上安装DeepSeek的完整指南(最新推荐)》在Windows上安装DeepSeek的完整指南,包括下载和安装Ollama、下载DeepSeekRXNUMX模型、运行Deep... 目录在www.chinasem.cn Windows 上安装 DeepSeek 的完整指南步骤 1:下载并安装

Spring IOC控制反转的实现解析

《SpringIOC控制反转的实现解析》:本文主要介绍SpringIOC控制反转的实现,IOC是Spring的核心思想之一,它通过将对象的创建、依赖注入和生命周期管理交给容器来实现解耦,使开发者... 目录1. IOC的基本概念1.1 什么是IOC1.2 IOC与DI的关系2. IOC的设计目标3. IOC

java中的HashSet与 == 和 equals的区别示例解析

《java中的HashSet与==和equals的区别示例解析》HashSet是Java中基于哈希表实现的集合类,特点包括:元素唯一、无序和可包含null,本文给大家介绍java中的HashSe... 目录什么是HashSetHashSet 的主要特点是HashSet 的常用方法hasSet存储为啥是无序的