这个 Windows 本地代码执行错误也是安全漏洞吗?

信息安全 视窗 注射 微软 电源外壳
2021-08-26 00:00:42

我偶然发现了一个导致代码执行的 Windows 错误。我认为它应该被归类为漏洞,但微软不承认它是这样的。我想阅读其他意见。

功能性

该错误会影响上下文菜单“在此处打开 PowerShell”,当用户 SHIFT 右键单击​​ Windows 资源管理器中的文件夹时,该菜单会被激活。

Windows 资源管理器上下文菜单“在此处打开 PowerShell 窗口

正常行为

通常,该命令应该打开一个 PowerShell 终端,其工作目录设置在指定文件夹中。

工作目录设置为指定文件夹的 PowerShell 终端

错误(漏洞?)

当文件夹包含单引号(撇号)时会触发该错误。在这种情况下,PowerShell 终端将执行撇号后面的内容,就好像它是一系列 PowerShell 命令一样。

例如以这种方式打开时,文件夹名称Folder Name';calc;echo pwned;'会打开计算器并pwned在终端上写,如下所示:

已执行文件夹名称中列出的命令的 PowerShell 终端

可能的影响

在受害者可能对攻击者制作的文件夹名称(USB 密钥、ZIP 文件、网络共享)使用 PowerShell 的情况下,该漏洞可能会被滥用,从而导致未经授权的代码执行。它需要用户交互,这对于某些类别的用户来说是正常日常工作流程的一部分。它不容易被发现,因为恶意文件夹名称可以通过在它们前面加上长字符串来隐藏,然后通过清除控制台来跟踪它们。

到目前为止我做了什么

我将该漏洞提交给了微软安全响应中心,该中心回复说它“不符合安全漏洞的定义”。CVE-ID 提交表指示直接与 Microsoft 联系。Sans 和我的国家 CERT 没有回复。

问题

  • 你会认为这是一个安全漏洞吗?
  • 如果有,你会如何分类?(注入、本地/远程代码执行等)
  • Microsoft Bug Bounty 计划是否应该涵盖它?
  • 鉴于反应,您将如何报告?
1个回答

您发现的有趣错误...显然,传递给 PowerShell 的目录参数没有正确转义。

  • 这是一个安全漏洞吗?

恕我直言,它是一个,但本身并不是很危险。如果有人在您精心设计的文件夹中打开 PowerShell,则有更简单的方法来实现代码执行(例如,Windows 默认情况下将当前目录包含在 PATH 中)。您的错误的一个危险是恶意代码隐藏在文件夹名称而不是任何脚本文件中,因此它不太可能被防病毒解决方案捕获。

  • 如果是这样,如何最好地分类?(注入、本地/远程代码执行等)

缺乏正确的输入处理

  • Microsoft Bug Bounty 计划是否涵盖它?

根据您发布的 Microsoft 安全响应中心的响应,显然不是。

  • 鉴于反应,应该如何报告?

使用 Windows 反馈应用程序将其报告为“常规”错误。