福无双至,祸不单行。继上周被发现一个被低估的远程程序代码执行(Remote Code Execution,RCE)漏洞后,微软周四再公布Windows缓冲打印处理器程序Windows Print Spooler另一个RCE漏洞。但微软尚不知漏洞风险,以及是否所有版本Windows都有风险。
编号CVE-2021-34527的漏洞,和本周引发关注的CVE-2021-1675同样是Print Spooler中的RCE漏洞。微软解释,它是Print Spooler服务被不当执行文件所致。要开采这项漏洞,攻击者必须是经验证的用户并执行RpcAddPrinterDriverEx。
成功开采者可以系统(SYSTEM)权限执行任意程序代码,即可安装文件、删改读取资料,或添加完整用户权限的账号。但根据微软的公告,CVE-2021-34527已经被公开,而且已经有开采活动。
微软还在研究这项漏洞,但因已有攻击行动,微软呼吁用户应立即安装本月初Patch Tuesday发布的安全更新。如果无法安装,应关闭Print Spooler服务,或是通过群组政策关闭接收远程打印的指令。
在FAQ中,微软将CVE-2021-34527漏洞称之为PrintNightmare。但是微软又说,它和稍早被研究人员命名为PrintNightmare的CVE-2021-1675,是相似、但不同的两个漏洞。两者的攻击渠道也不同。微软指出,CVE-2021-1675已经在6月初的Patch Tuesday修补掉了。
这只新漏洞,可能导致研究人员认为CVE-2021-1675修补不全。上周研究人员Cube0x0公布的PoC,可以成功开采安装CVE-2021-1675修补程序的系统。这PoC虽然已经移除,但已经被其他人分叉出新的PoC,因而可开采CVE-2021-34527。
至于是否Patch Tuesday造成CVE-2021-34527,微软表示,这在上个月Patch Tuesday之前就已存在。
CERT研究人员解释,RpcAddPrinterDriverEx函数是在添加打印机时,在某台远程服务器上安装打印驱动程序,它其中一项对象可指定添加打印机要用哪个驱动程序。攻击者就是利用这点,调用这个函数,指定在远程服务器上安装驱动程序档,再变更dwFileCopyFlags参数,导致权限升级,最后取得系统权限并以Print Spooler执行DLL档。CERT指出,这项漏洞影响Active Domain域名控制器,以及以NoWarningNoElevationOnInstall设置“Point和打印”原则的系统。
目前仅知作为Active Directory域名控制器的Windows系统受影响,以及所有版本Windows都包含有漏洞的程序代码。至于其他受影响的角色、或是CVE-2021-34527的风险层级,以及是否所有Windows版本都会被开采,微软表示都还在分析中。
相关资料
微软Windows Print Spooler RCE漏洞修补信息(CVE-2021-34527,2021/07/01发布)