Microsoft 推出了一项针对 Windows PowerShell 的重要安全更新,旨在强化系统防护能力。此次更新聚焦于 PowerShell 5.1 版本 —— 该版本默认预装在 Windows 10 和 Windows 11 系统中,新增了对 Invoke-WebRequest 命令的安全警告机制,有效降低了 CVE-2025-54100 高危漏洞的利用风险。
此次升级后,当用户或程序调用 Invoke-WebRequest 命令加载网页内容时,PowerShell 5.1 会自动弹出安全警告。警告明确提示:“Invoke-WebRequest 会解析网页内容,解析过程中可能执行网页中嵌入的脚本代码”,并给出核心建议 —— 使用-UseBasicParsing参数避免脚本代码执行。
用户面对警告时可选择多种操作:按下 Enter 键或选择 “No” 将直接取消操作,系统保持安全状态;选择 “Yes” 则会采用旧版的完整 HTML 解析模式,允许加载包含嵌入脚本的网页,但需自行承担恶意代码执行风险;此外还支持 “全部允许”“全部拒绝”“暂停” 等批量操作选项,方便用户根据实际场景灵活处理。
值得注意的是,PowerShell 中的 curl 命令本质是 Invoke-WebRequest 的别名,因此使用 curl 加载网页时也会触发相同的安全警告。
此次更新的核心目标是防范 CVE-2025-54100 漏洞的恶意利用。这一漏洞属于远程代码执行类高危漏洞,攻击者可能通过构造恶意网页,诱导用户使用 Invoke-WebRequest 加载该页面,进而触发嵌入脚本的执行,实现对本地系统的非法控制。
从受影响范围来看,企业及受控 IT 环境面临的风险更为突出;这类场景中 PowerShell 广泛用于自动化运维、批量管理等任务,Invoke-WebRequest 的使用频率远高于普通个人用户系统。而普通用户日常使用中较少涉及此类自动化脚本操作,受漏洞影响的概率相对较低。
此次 PowerShell 5.1 新增的安全机制,其实借鉴了 PowerShell 7 中已验证的安全解析方案。-UseBasicParsing参数的核心作用是简化网页解析流程,跳过复杂的 HTML 完整解析步骤,仅对网页内容进行基础处理,从而从根源上阻断嵌入脚本的执行通道,实现 “安全优先” 的内容加载模式。
Microsoft 在官方公告中强调,这一更新不会对绝大多数 PowerShell 场景造成影响:仅用于下载数据、或将响应体作为文本 / 二进制内容处理的脚本,无需任何修改即可正常运行;需要调整的主要是依赖完整 HTML 解析功能的自动化脚本;管理员需在这类脚本中明确添加-UseBasicParsing参数,避免脚本在执行时因等待用户手动确认而卡顿。
为确保系统安全与业务连续性,Microsoft 给出了明确的操作建议:
管理员应优先检查并更新所有自动化运维脚本,在涉及 Invoke-WebRequest 的命令中添加-UseBasicParsing参数,避免脚本执行时出现交互等待;
普通用户在收到安全警告时,若无明确的安全验证,建议默认选择取消操作,不轻易允许未知网页的脚本执行;
如需了解更多技术细节,可参考 Microsoft 官方帮助文档 KB5074596(PowerShell 5.1: Preventing script execution from web content);
该安全机制随 KB5074204 更新包推送,建议所有用户及时安装系统更新,确保防护功能生效。
此次更新再次体现了 Microsoft “主动防御” 的安全理念,通过在风险发生前进行预警和引导,为用户搭建起一道重要的安全屏障。对于依赖 PowerShell 进行自动化操作的企业而言,及时适配-UseBasicParsing参数是平衡安全性与工作效率的关键;而普通用户只需遵循系统警告提示,即可有效规避潜在的恶意脚本威胁。