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

编译:奇安信代码卫士团队

上周五,谷歌安全研究员发现了已遭在野利用的一个 Windows 0day。谷歌 Project Zero 团队主管 Ben Hawkes 表示,该 0day 本应在微软的下个补丁星期二(北京时间10月11日)修复。

Hawkes 表示,该 Windows 0day (CVE-2020-17087) 是攻击链的一部分(two-punch attack),后者还包括上上周披露的一个 Chrome 0day (CVE-2020-15999)。

Chrome 0day 可导致攻击者在 Chrome 浏览器中执行恶意代码,而 Windows 0day 是攻击的第二步,可导致攻击者逃逸 Chrome 的安全容器并在底层操作系统上运行代码,即沙箱逃逸。

谷歌 Project Zero 在上上周给出微软7天的补丁期限,但微软未能按时推出,因此谷歌选择公开该漏洞的详情。

CVE-2020-17087 详情

谷歌在博客文章中指出,Windows 内核加密驱动(Windows Kernel Cryptography Driver (cng.sys) ) 将一台 \Device\CNG 设备暴露给用户态程序,并支持具有复杂输入结构的多种 IOCTL。它构成了可本地访问的攻击面,可被用于实现提权(如沙箱逃逸)。

研究人员在 IOCTL 0x390400 的处理过程中发现了一个0day,可通过如下调用系列触发:

1. cng!CngDispatch
2. cng!CngDeviceControl
3. cng!ConfigIoHandler_Safeguarded
4. cng!ConfigFunctionIoHandler
5. cng!_ConfigurationFunctionIoHandler
6. cng!BCryptSetContextFunctionProperty
7. cng!CfgAdtReportFunctionPropertyOperation
8. cng!CfgAdtpFormatPropertyBlock

该 bug 存在于cng!CfgAdtpFormatPropertyBlock 函数中,是由一个16位的整数截断问题造成。通过该函数的类似于C语言的伪代码很好地解释了该 bug:

 1: NTSTATUS CfgAdtpFormatPropertyBlock(PBYTE SourceBuffer, USHORT SourceLength, PUNICODE_STRING Destination) {2:   CONST USHORT DestinationSize = (USHORT)(6 * SourceLength);3:   PWCHAR OutputBuffer = BCryptAlloc(DestinationSize);4: 5:   for (USHORT i = 0; i < SourceLength; i++) {6:     *OutputBuffer++ = "0123456789abcdef"[*SourceBuffer >> 4];7:     *OutputBuffer++ = "0123456789abcdef"[*SourceBuffer & 0xF];8:     *OutputBuffer++ = ' ';9:     SourceBuffer++;
10:   }
11:
12:   Destination->MaximumLength = DestinationSize;
13:   Destination->Length = DestinationSize - 2;
14:   Destination->Buffer = OutputBuffer;
15:
16:   return STATUS_SUCCESS;
17: }

整数溢出发生在第2行,而且如果 SourceLength等于或大于0x2AAB,则第3行的 NonPagedPool 会不当地分配一个小的缓冲区。之后,第5-10行的二进制转换十六进制的循环通过 65536 字节的倍数将其溢出。

影响 Windows 7 至最新版本

文章指出,已经在最新的 Windows 10 1903 (64位)版本上成功测试了 PoC 源代码。但研究员认为该漏洞至少在 Windows 7上就已存在。虽然启用 cng.sys 上的 Special Pools 实现崩溃时最容易的,但即使在默认配置下,运行该 exploit 后,64kB 大小内核数据的损坏也会使系统崩溃。

Hawkes 并未提供关于攻击者的详情。不过通常多数0day 遭国家黑客组织或大型网络犯罪组织利用。谷歌指出,该 0day 也得到谷歌另一支安全团队谷歌威胁分析团队(TAG)的证实。谷歌 TAG 的负责人 Shane Huntley 表示这些攻击和美国总统大选活动之间并不存在联系。

Chrome 0day 已在 Chrome 版本 86.0.4240.111 中修复。

这是谷歌第二次披露的 Windows 0day 和 Chrome 0day 一起遭利用的情况。2019年3月,谷歌表示攻击者组合利用 Chrome 0day (CVE-2019-5786)和 Windows 0day (CVE-2019-0808)。

推荐阅读

刚刚修复的Windows 0day和Chrome 0day 已被组合用于 WizardOpium 攻击(详解)

原文链接

https://www.zdnet.com/article/google-discloses-windows-zero-day-exploited-in-the-wild/

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

题图:Pixabay License

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

奇安信代码卫士 (codesafe)

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

产品线。

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

7天期限已过,谷歌披露已遭利用的 Windows 内核 0day 详情相关推荐

  1. 一拖再拖忍无可忍,谷歌披露影响开发人员的 GitHub 高危0day漏洞

     聚焦源代码安全,网罗国内外最新资讯! 编译:奇安信代码卫士团队 谷歌 Project Zero 团队 (GPZ) 披露了 GitHub 的一个高危漏洞.90天期限过后,GitHub 曾要求延期但被拒 ...

  2. 谷歌Chrome 紧急修复已遭利用的两个0day

     聚焦源代码安全,网罗国内外最新资讯! 编译:代码卫士 谷歌发布适用于 Windows.Mac 和 Linux 系统的 Chrome 95.0.4638.69 版本,修复已遭利用的两个0day(CVE ...

  3. 苹果紧急修复已遭利用的两个0day

     聚焦源代码安全,网罗国内外最新资讯! 编译:代码卫士 周四,苹果公司紧急更新被用于攻击 iPhone.iPad 和 Mac 的两个0day (CVE-2022-22674和CVE-2022-2267 ...

  4. 趋势科技修复已遭利用的 Apex Central 0day

     聚焦源代码安全,网罗国内外最新资讯! 编译:代码卫士 本周,趋势科技修复了位于 Apex Central 中已遭利用的一个高危任意文件上传 0day(CVE-2022-26871). CVE-202 ...

  5. 已遭利用的Windows 0day漏洞 CVE-2020-1380分析

     聚焦源代码安全,网罗国内外最新资讯! 编译:奇安信代码卫士团队 卡巴斯基发布博客文章,简要分析了微软在8月补丁星期二修复的一个已遭利用 0day CVE-2020-1380.如下内容编译自该文章. ...

  6. 已遭利用的Windows 0day漏洞 CVE-2020-1380 分析

    卡巴斯基发布博客文章,简要分析了微软在8月补丁星期二修复的一个已遭利用 0day CVE-2020-1380.如下内容编译自该文章. 文章指出,2020年5月,卡巴斯基阻止了利用 IE 恶意脚本攻击某 ...

  7. 谷歌再次修复已遭利用的两枚高危0day (CVE-2020-16009/16010)

     聚焦源代码安全,网罗国内外最新资讯! 编译:奇安信代码卫士团队 今天,谷歌为 Chrome Web 浏览器发布安全更新,修复了10个安全漏洞,其中包括两个目前已遭利用的高危0day:CVE-2020 ...

  8. 苹果修复三个已遭利用的 iOS 0day

     聚焦源代码安全,网罗国内外最新资讯! 今日,苹果发布安全更新,修复了24个影响 iOS 14.2和 iPadOS 14.2的漏洞,其中包含已修复三个遭在野利用的0day (CVE-2020-2793 ...

  9. 谷歌再修复已遭利用的两个高危 Chrome 0day

     聚焦源代码安全,网罗国内外最新资讯! 编译:奇安信代码卫士团队 今天,谷歌发布 Chrome 版本 86.0.4240.198,修复了两个已遭利用的 0day.不过这次并不像之前那样由谷歌内部团队发 ...

最新文章

  1. JSP内置对象基础知识小结
  2. 【技术贴】火狐的悬停激活标签扩展插件下载。Tab Focus
  3. max_connect_error的说明
  4. Linux Shell 常用快捷键
  5. poj 3580 splay
  6. 腾讯下载视频转换MP4
  7. VC控件 Tab Control
  8. python arcgis 图书_arcgis python
  9. 基于.net standard 的动态编译实现
  10. word List 17
  11. 【模板】快速排序(洛谷-P1177)
  12. 20210819_Test
  13. oracle 存储过程 胡勇,Oracle SQL:经典查询练手第二篇
  14. jar k8s 自己的 部署_微服务架构 - 离线部署k8s平台并部署测试实例
  15. Coolite Toolkit学习笔记二:服务器端Alert,Confirm,Prompt
  16. 影音嗅探专家 v2007.1 怎么用
  17. 拓嘉辰丰:如何抵制拼多多的恶劣买家
  18. 微信新动作!加好友解除5000上限,扫码进群开放至200人
  19. python357左轮尺寸_有小伙伴需要左轮枪~DUANG!DUANG!DUANG~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~!...
  20. 小程序开发 - 基本组件

热门文章

  1. 经典算法题每日演练——第七题 KMP算法
  2. mysql数据库中命令行下常用命令的操作(增、删、改、查)和数据类型
  3. 光纤跳线的交叉连接注意点?
  4. 一条长为L的绳子,一面靠墙,另外三边组成矩形,问此矩形最大面积能是多少?...
  5. Linux系统日志详解
  6. Jenkins+git 实现代码自动发布
  7. Java中的Random()函数 【转载】
  8. mac php gd(mac osx 10.9.4)
  9. C# 串口操作系列(4) -- 协议篇,文本协议数据解析 .
  10. RHEL5安装无线网卡驱动