Microsoft Remote Procedure Call Runtime 远程代码执行漏洞(CVE-2022-26809)

Posted 李白你好

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Microsoft Remote Procedure Call Runtime 远程代码执行漏洞(CVE-2022-26809)相关的知识,希望对你有一定的参考价值。

CVE-2022-26809 RCE

CVE 描述

CVE-2022-26809 - 核心 Windows 组件 (RPC) 的弱点获得 9.8 的 CVSS 分数并非没有原因,因为攻击不需要身份验证并且可以通过网络远程执行,并且可能导致远程代码执行 ( RCE) 具有 RPC 服务的权限,这取决于托管 RPC 运行时的进程。运气好的话,这个严重的错误允许访问运行 SMB 的未打补丁的 Windows 主机。该漏洞既可以从网络外部被利用以破坏它,也可以在网络中的机器之间被利用。

  • https://msrc.microsoft.com/update-guide/vulnerability/CVE-2022-26809

  • https://www.pwndefend.com/2022/04/14/cve-2022-26809/

影响范围

测试易受攻击的主机:

  • Microsoft Microsoft Windows RT 8.1
  • Microsoft Microsoft Windows 8.1 for x64-based systems
  • Microsoft Microsoft Windows 8.1 for 32-bit systems
  • Microsoft Microsoft Windows 7 for x64-based Systems SP1
  • Microsoft Microsoft Windows 7 for 32-bit Systems SP1
  • Microsoft Microsoft Windows 10 for x64-based Systems
  • Microsoft Microsoft Windows 10 for 32-bit Systems
  • Microsoft Microsoft Windows 10 21H2 for x64-based Systems
  • Microsoft Microsoft Windows 10 21H2 for ARM64-based Systems
  • Microsoft Microsoft Windows 10 21H2 for 32-bit Systems
  • Microsoft Microsoft Windows 10 21H1 for x64-based Systems
  • Microsoft Microsoft Windows 10 21H1 for ARM64-based Systems
  • Microsoft Microsoft Windows 10 21H1 for 32-bit Systems
  • Microsoft Microsoft Windows 10 20H2 for x64-based Systems
  • Microsoft Microsoft Windows 10 20H2 for ARM64-based Systems
  • Microsoft Microsoft Windows 10 20H2 for 32-bit Systems
  • Microsoft Microsoft Windows 10 1909 for x64-based Systems
  • Microsoft Microsoft Windows 10 1909 for ARM64-based Systems
  • Microsoft Microsoft Windows 10 1909 for 32-bit Systems
  • Microsoft Microsoft Windows 10 1809 for x64-based Systems
  • Microsoft Microsoft Windows 10 1809 for ARM64-based Systems
  • Microsoft Microsoft Windows 10 1809 for 32-bit Systems
  • Microsoft Microsoft Windows 10 1607 for x64-based Systems
  • Microsoft Microsoft Windows 10 1607 for 32-bit Systems
  • Microsoft Microsoft Windows 11 for x64-based Systems
  • Microsoft Microsoft Windows 11 for ARM64-based Systems
  • Microsoft Microsoft Windows Server 20H2(Server Core Installation)
  • Microsoft Microsoft Windows Server 2022(Server Core installation)
  • Microsoft Microsoft Windows Server 2022
  • Microsoft Microsoft Windows Server 2019(Server Core installation)
  • Microsoft Microsoft Windows Server 2019
  • Microsoft Microsoft Windows Server 2016(Server Core installation)
  • Microsoft Microsoft Windows Server 2016
  • Microsoft Microsoft Windows Server 2012(Server Core installation)
  • Microsoft Microsoft Windows Server 2012 R2(Server Core installati
  • Microsoft Microsoft Windows Server 2012 R2
  • Microsoft Microsoft Windows Server 2012
  • Microsoft Microsoft Windows Server 2008 R2 for x64-based Systems
  • Microsoft Microsoft Windows Server 2008 R2 for x64-based Systems
  • Microsoft Microsoft Windows Server 2008 for x64-based Systems SP2
  • Microsoft Microsoft Windows Server 2008 for x64-based Systems SP2
  • Microsoft Microsoft Windows Server 2008 for 32-bit Systems SP2(Se
  • Microsoft Microsoft Windows Server 2008 for 32-bit Systems SP2

几乎所有运行 SMB 并开放 445 端口的构建都会受到影响。

漏洞定位

CVE 表示,漏洞位于 Windows RPC 运行时中,该运行时在名为 rpcrt4.dll 的库中实现。该运行时库被加载到使用 RPC 协议进行通信的客户端和服务器进程中。我们比较了版本 10.0.22000.434(3 月)和 10.0.22000.613(已修补)并挑选出更改列表。

OSF_SCALL::ProcessResponse 和 OSF_CCALL::ProcessReceivedPDU 函数本质上是相似的;两者都处理 RPC 数据包,但一个在服务器端运行,另一个在客户端运行(SCALL 和 CCALL)。通过区分 OSF_SCALL::ProcessReceivedPDU,我们注意到新版本中添加了两个代码块。


查看修补后的代码,我们看到在 QUEUE::PutOnQueue 之后调用了一个新函数。检查新函数并深入研究它的代码,我们发现它检查整数溢出。换句话说,patch 中的新函数被添加来验证整数变量是否保持在预期值范围内。

深入研究 OSF_SCALL:GetCoalescedBuffer 中的易受攻击代码,我们注意到整数溢出错误可能导致堆缓冲区溢出,其中数据被复制到太小而无法填充的缓冲区。这反过来又允许在堆上将数据写入缓冲区边界之外。当被利用时,这个原语会导致我们远程执行代码!

在其他函数中也添加了相同的用于检查整数溢出的调用:

OSF_CCALL::ProcessResponse OSF_SCALL::GetCoalescedBuffer OSF_CCALL::GetCoalescedBuffer

整数溢出漏洞和防止它的功能存在于客户端和服务器端执行流程中。

漏洞分析

https://www.youtube.com/watch?v=GGlwy3_jVYE

CVE-2022-26809 PoC

CVE-2022-26809 EXP

自行购买

https://satoshidisk.com/pay/CFNsN8

修复建议

以下缓解措施基于 Microsoft 的官方建议和我们的工作:

  • 应用最新的安全更新!
  • 建议阻止外围设备的 TCP 端口 445 的流量!
  • 仅在需要的机器上允许传入的 TCP 端口 445 !

以上是关于Microsoft Remote Procedure Call Runtime 远程代码执行漏洞(CVE-2022-26809)的主要内容,如果未能解决你的问题,请参考以下文章

remote debug

mac 使用microsoft Remote Desktop 远端连接本地文件夹

Microsoft IIS WebDav 'ScStoragePathFromUrl' Remote Buffer Overflow (CVE-2017-7269)

Mac 10.12安装Windows远程桌面工具Microsoft Remote Desktop

CVE-2010-0265分析 Microsoft Movie Maker - Remote Code Execution (MS10-016)

mac上怎样使用microsoft remote desktop