PowerShell curl别名安全漏洞:误执行JavaScript脚本风险分析

本文披露了一个关于Windows PowerShell中curl别名的安全风险。当用户在PowerShell中执行curl命令获取包含JavaScript脚本的内容时,脚本会被意外执行,可能导致弹窗警告或进程挂起,揭示了潜在的脚本注入与执行漏洞。

报告 #3442024 - 在PowerShell中不应运行JavaScript时却运行了

时间线

  • lim_e 向 curl 提交了一份报告。 (5天前)

    在Windows上,如果我在PowerShell中运行curl获取一个本应显示 <script>alert(1)</script> 的脚本,它却执行了该脚本,而这本不应该发生。 我没有使用AI来发现或报告这个漏洞。

    受影响版本

    在CMD中我运行了 curl --version curl 8.16.0 (Windows) libcurl/8.16.0 Schannel zlib/1.3.1 WinIDN 在PowerShell中,它无法识别 --version 标志。 我没有在这台电脑上安装任何特定的curl版本,所以它应该是Windows 11自带的默认版本,并随系统更新。

    复现步骤:

    1. 托管一个返回 <script>alert(1)</script> 的端点(本例中为 ctf.eztfsp.lv:8009/test.js
    2. 打开PowerShell
    3. 在PowerShell中运行 curl ctf.eztfsp.lv:8009/test.js
    4. 它会弹出一个显示"message from webpage 1"的窗口。

    支持材料/参考:

    我附上了一个.gif动图,演示了它在PowerShell上如何工作,以及在CMD上如何工作。

    影响

    摘要: 在PowerShell的curl中运行JavaScript。 它还会挂起进程,当弹窗打开时,我无法通过 Control+C 来停止curl进程,因此这可能被用来挂起PowerShell脚本。

    附件

  • lim_e 将报告标题从 “runs javascript on embedded browser when it shouldnt” 改为 “runs javascript on powershell when it shouldnt”。 (5天前)

  • dgustafsson (curl 团队成员) 发表评论。 (5天前)

    感谢您的报告。Curl不会执行任何内容,这难道不是PowerShell的问题吗?

  • lim_e 发表评论。 (5天前)

    所以你的意思是应该向微软报告这个问题?我理解这可能是他们实现得不好,因为我刚刚在我的工作电脑上测试了,通过PowerShell也出现了同样的情况。

  • bagder (curl 团队成员) 关闭了报告并将状态改为"不适用"。 (5天前)

    on powershell it didn't recognise the --version flag. 那么你运行的就不是curl。你很可能使用了PowerShell提供的curl别名,该别名调用的是 Invoke-WebRequest。它们与"真正的"curl毫无关系。 相关阅读: https://daniel.haxx.se/blog/2016/08/19/removing-the-powershell-curl-alias/ 这不是一个curl的安全问题。

  • lim_e 发表评论。 (5天前)

    好的,谢谢告知,对于这个误报报告我表示歉意。

  • bagder (curl 团队成员) 请求公开此报告。 (5天前)

    根据项目的透明度政策,我们希望所有报告都被公开。

  • bagder (curl 团队成员) 公开了此报告。 (5天前)

  • lim_e 发表评论。 (5天前)

    能否出于安全考虑删除此工单。我正在与微软沟通,希望能澄清并缓解此漏洞。

报告详情

  • 报告时间: 2025年11月26日,上午7:35 (UTC)
  • 报告人: lim_e
  • 报告对象: curl
  • 参与者: 报告人、curl团队成员
  • 报告ID: #3442024
  • 严重性: 未评级 (—)
  • 公开时间: 2025年11月26日,上午9:32 (UTC)
  • 弱点类型: 网页中脚本相关HTML标签的不当过滤(基础XSS)
  • CVE ID:
  • 赏金:
  • 账户详情:
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计