补丁不给力,Windows漏洞 (CVE-2020-0986) 沦为新0day,或于2021年修复

本文主要是介绍补丁不给力,Windows漏洞 (CVE-2020-0986) 沦为新0day,或于2021年修复,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 聚焦源代码安全,网罗国内外最新资讯!

6月份,微软发布补丁,修复了 Windows 操作系统中当时已遭利用的 0day (CVE-2020-0986)。该漏洞可使攻击者在失陷机器上将权限提升至内核级别。但事实证明,该补丁仍可被绕过。谷歌研究人员发现了一种新的利用方法绕过该补丁并公开 PoC 代码。该漏洞新获得的 CVE 编号是 CVE-2020-17008。微软或于2021年1月补丁星期二修复。

老洞新用

当时,卡巴斯基实验室的研究人员发现,攻击者可结合利用尚为 0day 的CVE-2020-0986和 IE 浏览器中的0day,实现提升权限,进而远程执行代码。如今,谷歌 Project Zero 团队的安全研究员 Maddie Stone 发现,攻击者仍可通过发送一个偏移量而非指针的方式,触发CVE-2020-0986,提升至内核权限。

Stone 指出,CVE-2020-0986 是一个任意指针解引用漏洞,可导致攻击者控制 memcpy 函数的 “src” 和 “dest” 指针。微软给出的补丁不正确的原因在于,它将指针修改为偏移量,因此该函数的参数仍可被控制。

Stone 在博客文章中指出,“完整性较低的进程可以将 LPC 信息发送给 splwow64.exe(中等完整性)并在 splwow64 内存空间中获得 write-what-where 原语。攻击者控制该目标、复制的内容以及通过memcpy 调用复制的字节数。目标指针计算的偏移量仅限制为:

Offset <= 0x7FFFFFFF
Offset + perceived size of structure <= 0x7FFFFFFF

Splwow64 将 LPC 信息传递给 GdiPrinterThunk。该易受攻击的 memcpy 位于信息 0x6D 中。

CVE-2020-0986 和 CVE-2020-17008 的唯一不同之处在于,对于前者而言,攻击者发送了一个指针,而对于后者而言,攻击者发送的是一个偏移量。

PoC

为证明微软发布补丁后,利用仍然可能实现,Stone 发布了改自卡巴斯基实验室的 PoC 代码,同时还给出了如何正确运行 PoC 代码的指令。Stone 指出,PoC 所需要做的是两次触发该漏洞:“首先泄露存储信息并用于生成指针而添加的偏移量所在的堆地址,然后获得 write-what-where 原语。“

完整 PoC 文件可见谷歌博客文章(见原文链接)。

将于2021年1月发布补丁

微软于9月24日收到谷歌提交的漏洞报告并在一天之后确认问题存在,分配编号 CVE-2020-17008。微软本计划于2020年11月发布补丁,但由于在测试阶段出现问题,因此将推迟到2020年1月12日补丁星期二发布。

谷歌Project Zero 团队规定的漏洞披露期限为90天,且宽限期为14天。由于微软在1月6日之前无法提供补丁,因此这两个最后期限均不满足。

另外,如 Stone 所言,攻击者过去已利用且非常熟悉该漏洞,因此如果修复方案不正确,会再次利用它。

推荐阅读

已遭利用的微软0day CVE-2020-1464,原来是两年前的老相识

我偶然发现一个严重 0day,影响 Win7 和 Server 2008 R2,微软未发补丁(详情)

原文链接

https://www.bleepingcomputer.com/news/security/windows-zero-day-with-bad-patch-gets-new-public-exploit-code

https://bugs.chromium.org/p/project-zero/issues/detail?id=2096

题图:Pixabay License

本文由奇安信代码卫士编译,不代表奇安信观点。转载请注明“转自奇安信代码卫士 https://codesafe.qianxin.com”。

奇安信代码卫士 (codesafe)

国内首个专注于软件开发安全的

产品线。

    觉得不错,就点个 “在看” 或 "赞” 吧~

这篇关于补丁不给力,Windows漏洞 (CVE-2020-0986) 沦为新0day,或于2021年修复的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

javafx 如何将项目打包为 Windows 的可执行文件exe

《javafx如何将项目打包为Windows的可执行文件exe》文章介绍了三种将JavaFX项目打包为.exe文件的方法:方法1使用jpackage(适用于JDK14及以上版本),方法2使用La... 目录方法 1:使用 jpackage(适用于 JDK 14 及更高版本)方法 2:使用 Launch4j(

windows端python版本管理工具pyenv-win安装使用

《windows端python版本管理工具pyenv-win安装使用》:本文主要介绍如何通过git方式下载和配置pyenv-win,包括下载、克隆仓库、配置环境变量等步骤,同时还详细介绍了如何使用... 目录pyenv-win 下载配置环境变量使用 pyenv-win 管理 python 版本一、安装 和

Python使用pysmb库访问Windows共享文件夹的详细教程

《Python使用pysmb库访问Windows共享文件夹的详细教程》本教程旨在帮助您使用pysmb库,通过SMB(ServerMessageBlock)协议,轻松连接到Windows共享文件夹,并列... 目录前置条件步骤一:导入必要的模块步骤二:配置连接参数步骤三:实例化SMB连接对象并尝试连接步骤四:

usaco 1.3 Mixing Milk (结构体排序 qsort) and hdu 2020(sort)

到了这题学会了结构体排序 于是回去修改了 1.2 milking cows 的算法~ 结构体排序核心: 1.结构体定义 struct Milk{int price;int milks;}milk[5000]; 2.自定义的比较函数,若返回值为正,qsort 函数判定a>b ;为负,a<b;为0,a==b; int milkcmp(const void *va,c

基于51单片机的自动转向修复系统的设计与实现

文章目录 前言资料获取设计介绍功能介绍设计清单具体实现截图参考文献设计获取 前言 💗博主介绍:✌全网粉丝10W+,CSDN特邀作者、博客专家、CSDN新星计划导师,一名热衷于单片机技术探索与分享的博主、专注于 精通51/STM32/MSP430/AVR等单片机设计 主要对象是咱们电子相关专业的大学生,希望您们都共创辉煌!✌💗 👇🏻 精彩专栏 推荐订阅👇🏻 单片机

在 Windows 上部署 gitblit

在 Windows 上部署 gitblit 在 Windows 上部署 gitblit 缘起gitblit 是什么安装JDK部署 gitblit 下载 gitblit 并解压配置登录注册为 windows 服务 修改 installService.cmd 文件运行 installService.cmd运行 gitblitw.exe查看 services.msc 缘起

Windows如何添加右键新建菜单

Windows如何添加右键新建菜单 文章目录 Windows如何添加右键新建菜单实验环境缘起以新建`.md`文件为例第一步第二步第三步 总结 实验环境 Windows7 缘起 因为我习惯用 Markdown 格式写文本,每次新建一个.txt后都要手动修改为.md,真的麻烦。如何在右键新建菜单中添加.md选项呢? 网上有很多方法,这些方法我都尝试了,要么太麻烦,要么不凑效

Windows下Nginx的安装及开机启动

1、将nginx-1.16.1.zip解压拷贝至D:\web\nginx目录下。 2、启动Nginx,两种方法: (1)直接双击nginx.exe,双击后一个黑色的弹窗一闪而过。 (2)打开cmd命令窗口,切换到nginx目录下,输入命令 nginx.exe 或者 start nginx ,回车即可。 3、检查nginx是否启动成功。 直接在浏览器地址栏输入网址 http://lo

Windows环境利用VS2022编译 libvpx 源码教程

libvpx libvpx 是一个开源的视频编码库,由 WebM 项目开发和维护,专门用于 VP8 和 VP9 视频编码格式的编解码处理。它支持高质量的视频压缩,广泛应用于视频会议、在线教育、视频直播服务等多种场景中。libvpx 的特点包括跨平台兼容性、硬件加速支持以及灵活的接口设计,使其可以轻松集成到各种应用程序中。 libvpx 的安装和配置过程相对简单,用户可以从官方网站下载源代码

【经验交流】修复系统事件查看器启动不能时出现的4201错误

方法1,取得『%SystemRoot%\LogFiles』文件夹和『%SystemRoot%\System32\wbem』文件夹的权限(包括这两个文件夹的所有子文件夹的权限),简单点说,就是使你当前的帐户拥有这两个文件夹以及它们的子文件夹的绝对控制权限。这是最简单的方法,不少老外说,这样一弄,倒是解决了问题。不过对我的系统,没用; 方法2,以不带网络的安全模式启动,运行命令行,输入“ne