修复WinVerifyTrust签名验证漏洞,CVE-2013-39001,QID-3783322
此修复适用于64位Windows计算机
此PowerShell代码是修复该漏洞的一种方式——除了创建.reg文件并使用reg import <file.reg>导入新注册表项之外。
完整打包脚本:
如果 HKLM:\Software\Microsoft\Cryptography\Wintrust\Config 路径不存在,则创建路径和项。
如果找到该注册表项,则显示该项的结果——不做任何操作等。
预期的新的注册表项类型为:REG_SZ
"新的验证行为是否会影响已安装的软件?
启用新的更严格的验证行为后,主要影响使用Windows Authenticode签名格式签名的可移植可执行(PE)二进制文件。未使用此格式签名或不使用WinVerifyTrust验证签名的二进制文件不受新行为影响。受影响最大的二进制文件是通过互联网分发、在下载时自定义的PE安装程序文件。用户可能察觉到影响的常见场景是在下载和安装新应用程序时。只有在客户选择启用更严格的验证行为后,才会出现此情况,此时用户在尝试安装签名验证失败的应用程序时可能会看到警告消息。
微软为何重新发布2013年的CVE?
我们在安全更新指南中重新发布CVE-2013-3900,以更新安全更新表并告知客户,EnableCertPaddingCheck 在所有当前支持的Windows 10和Windows 11版本中均可用。虽然格式与2013年发布的原始CVE不同,但此处信息与2013年12月10日发布的原始文本保持一致。
微软不打算在支持的Microsoft Windows版本中将更严格的验证行为作为默认功能强制执行。此行为仍可通过注册表项设置作为可选功能使用,并适用于自2013年12月10日起发布的Windows支持版本。这包括所有当前支持的Windows 10和Windows 11版本。此注册表项的支持代码已在Windows 10和Windows 11发布时集成,因此无需安全更新;但必须设置该注册表项。请参阅安全更新表了解受影响软件列表。
漏洞描述
WinVerifyTrust函数处理可移植可执行(PE)文件的Windows Authenticode签名验证时存在远程代码执行漏洞。匿名攻击者可通过修改现有已签名可执行文件,利用文件中未经验证的部分向文件添加恶意代码而不使签名失效。成功利用此漏洞的攻击者可完全控制受影响系统。攻击者可随后安装程序;查看、更改或删除数据;或创建具有完全用户权限的新帐户。
如果用户以管理用户权限登录,成功利用此漏洞的攻击者可完全控制受影响系统。攻击者可随后安装程序;查看、更改或删除数据;或创建具有完全用户权限的新帐户。帐户配置为系统权限较少的用户与拥有管理用户权限的用户相比,影响可能较小。
利用此漏洞需要用户或应用程序运行或安装特制的已签名PE文件。攻击者可修改现有已签名文件以包含恶意代码而不使签名失效。此代码将在启动已签名PE文件时的权限上下文中执行。
在电子邮件攻击场景中,攻击者可通过向用户发送包含特制PE文件的电子邮件并说服用户打开该文件来利用漏洞。
在基于网络的攻击场景中,攻击者必须托管包含特制PE文件的网站。此外,受感染的网站以及接受或托管用户提供内容的网站可能包含可用于利用此漏洞的特制内容。攻击者无法强制用户访问托管特制PE文件的网站。相反,攻击者必须说服用户访问该网站,通常通过让用户点击电子邮件或即时消息中的链接,将用户引导至攻击者的网站。
更新历史
2013年12月10日,微软发布了适用于所有支持的Microsoft Windows版本的更新,更改了使用Windows Authenticode签名格式签名的二进制文件的签名验证方式。此更改可通过选择加入方式启用。启用后,Windows Authenticode签名验证的新行为将不再允许WIN_CERTIFICATE结构中存在无关信息,Windows将不再将不符合规范的二进制文件视为已签名。2014年7月29日,微软宣布不打算在支持的Microsoft Windows版本中将更严格的验证行为作为默认功能强制执行。至今,此功能仍可作为所有当前支持的Microsoft Windows版本中的可选功能使用。
建议。 微软建议可执行文件作者考虑通过确保已签名二进制文件的WIN_CERTIFICATE结构中不包含任何无关信息,使其符合新的验证标准。微软还建议客户适当测试此更改,以评估其在各自环境中的表现..."1
MSRC.Microsoft - WinVerifyTrust签名验证漏洞 https://msrc.microsoft.com/update-guide/vulnerability/CVE-2013-3900 ↩ ↩2
Qualys覆盖范围中针对Microsoft WinVerifyTrust签名验证漏洞(CVE-2013-3900)的最新更改 https://notifications.qualys.com/product/2023/04/07/recent-changes-in-qualys-coverage-for-microsoft-winverifytrust-signature-validation-vulnerability-cve-2013-3900 ↩