跳到主要内容

高危

Windows Print Spooler远程代码执行漏洞(PrintNightmare)

2021-07-02 21:25:11 公开 ,2026-08-11 08:54:15 更新

  • 关键漏洞
  • CISA KEV
  • 勒索软件漏洞
  • APT漏洞
  • 远程
  • 公开PoC
  • CWE Top 25 (2023)
  • 2024两高一弱互联网漏洞
  • CWE Top 25 (2024)
  • 2025两高一弱漏洞
CWEs:
CWE-269 (Improper Privilege Management)
SSVC:
可利用状态:已被积极利用攻击自动化:否技术影响评估:全部 2024-01-25 00:04:14

风险信息

CVSS v2 向量
AV:N/AC:L/Au:S/C:C/I:C/A:C
CVSS v2 风险值
9
CVSS v3 向量
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CVSS v3 风险值
8.8
CVSS v3.1 向量
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CVSS v3.1 风险值
8.8

详细信息

漏洞类型
代码注入
漏洞描述
RpcAddPrinterDriverEx()函数用于在系统上安装打印机驱动程序。此函数的参数之一是DRIVER_CONTAINER对象,它包含有关添加的打印机将使用哪个驱动程序的信息。另一个参数,dwFileCopyFlags指定如何复制替换打印机驱动程序文件。攻击者可以利用任何经过身份验证的用户都可以调用RpcAddPrinterDriverEx()并指定位于远程服务器上的驱动程序文件这一事实。这会导致Print Spooler服务spoolsv.exe以SYSTEM权限执行任意DLL文件中的代码。虽然原始漏洞利用代码依赖于RpcAddPrinterDriverEx实现代码执行,但漏洞利用的更新版本使用RpcAsyncAddPrinterDriver来实现相同的目标。这两个函数都使用AddPrinterDriverEx来实现它们的功能。 通过发送添加打印机的请求,例如通过使用RpcAddPrinterDriverEx()SMB或RpcAsyncAddPrinterDriver()RPC,远程、经过身份验证的攻击者可能能够在易受攻击的系统上以系统权限执行任意代码。本地非特权用户也可以使用SYSTEM权限执行任意代码。
修复建议
1、应用更新补丁Microsoft已在CVE-2021-34527的更新中解决了此问题。请注意,针对CVE-2021-34527的Microsoft更新并不能有效防止对指向和打印NoWarningNoElevationOnInstall设置为非0值的系统的利用。因此,请在此类系统上考虑以下其它解决方法。 2、停止并禁用Print Spooler服务可以通过停止和禁用Windows中的Print Spooler服务来缓解此漏洞。如果禁用Print Spooler服务,请使用以下PowerShell命令:Stop-Service -Name Spooler -Force Set-Service -Name Spooler -StartupType Disabled变通办法的影响禁用Print Spooler服务会禁用本地和远程打印功能。 3、通过组策略禁用入站远程打印禁用允许打印后台处理程序接受客户端连接:策略以阻止远程攻击。 变通办法的影响此策略将通过阻止入站远程打印操作来阻止远程攻击媒介。该系统将不再用作打印服务器,但仍然可以本地打印到直接连接的设备。 注意:必须重新启动Print Spooler服务才能激活此变通方法。 4、在防火墙处阻止RPC和SMB端口有限的测试表明,在防火墙级别阻止RPC端点映射器 ( 135/tcp)和SMB (139/tcp和445/tcp)可以防止远程利用此漏洞。请注意,在Windows系统上阻止这些端口可能会阻止预期的功能正常运行,尤其是在用作服务器的系统上。 5、为Point and Print启用安全提示确保Show warning and elevation prompt在Windows组策略中为安装和更新驱动程序设置了Windows指向和打印限制。具体来说,HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Printers\PointAndPrint\键应该有NoWarningNoElevationOnInstall和UpdatePromptSettings都设置为的条目0。注意,默认情况下,注册表中不存在这些项,必须添加这些项目才能对非管理用户禁用Point and Print:HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Printers\PointAndPrint\NoWarningNoElevationOnInstall = 0 (DWORD)HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Printers\PointAndPrint\NoWarningNoElevationOnUpdate = 0 (DWORD) 6、限制管理员安装打印机驱动程序的能力为CVE-2021-34527安装了Microsoft更新后,称为注册表值RestrictDriverInstallationToAdministrators在HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Printers\PointAndPrint\关键的检查,其目的是限制打印机驱动程序安装到只有管理员用户。有关详细信息,请参阅KB5005010。 https://msrc.microsoft.com/update-guide/vulnerability/CVE-2021-34527 https://support.microsoft.com/en-us/topic/kb5005010-restricting-installation-of-new-printer-drivers-after-applying-the-july-6-2021-updates-31b91c02-05bc-4ada-a7ea-183b129578a7

参考链接