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" >CVE-2022-26809 PoC

CVE-2022-26809 EXP

自行購買

https://satoshidisk.com/pay/CFNsN8

修復建議

以下緩解措施基於 Microsoft 的官方建議和我們的工作:

  • 應用最新的安全更新!
  • 建議阻止外圍設備的 TCP 端口 445 的流量!
  • 僅在需要的機器上允許傳入的 TCP 端口 445 !
本文來自網絡,不代表程式碼花園立場,如有侵權,請聯系管理員。https://www.codegarden.cn/article/30932/