微软上周修复了一个Windows RPC CVE-2022-26809 漏洞,并将其评为「严重」级别,无需身份认证和用户交互,仅通过向受影响的目标服务器发送特制的RPC请求,即可触发并达到远程代码执行的目的。
受影响范围
从上表中可以看出来,此漏洞利用无需要交互。基本上暴露了445端口且运行了Windows RPC未安装补丁的Windows 服务器都容易受到攻击。据Shodan统计称,网上暴露445端口的服务器超过70万台,如图所示:
漏洞详情:
漏洞位于 Windows RPC服务的 rpcrt4.dll 库中。通过比较10.0.22000.434(未打补丁)和 10.0.22000.613(打补丁,从 4 月开始),并生成了以下各种功能的更改列表:
函数 OSF_CCALL::ProcessResponse 和 OSF_SCALL::ProcessReceivedPDU 两个功能本质上是相似的;两者都处理 RPC 数据包,但一个在客户端运行,另一个在服务器端运行(CCALL 和 SCALL 分别代表客户端调用和服务器调用)。比较 OSF_SCALL::ProcessReceivedPDU 函数添加了两个代码块。
在QUEUE::PutOnQueue 之后调用了一个新函数。此函数新加了检查整数溢出。即,添加了新函数以验证整数变量是否保持在预期值范围内。
在其它函数中也添加了类似的整数溢出调用:
-
OSF_CCALL::ProcessResponse
-
OSF_SCALL::GetCoalescedBuffer
-
OSF_CCALL::GetCoalescedBuffer
安全修复:
1、通过Windows系统自动更新补丁,并在“Windows更新”->“查看更新历史记录”中确认更新是否成功安装;
2、关闭暴露在外的445端口,以防被蠕虫攻击。