即使 Microsoft在7月6日為 Windows 10 版本 1607、Windows Server 2012 和 Windows Server 2016 的 PrintNightmare 漏洞發布了緊急例外修補KB5004945,隨著越來越多的研究人員開始修補他們的漏洞並測試修補,今確定漏洞可完全繞過整個修補來實現遠端程式碼執行(RCE)和本地特權升級(LPE)。
PrintNightmare 源於 Windows Print Spooler服務中的錯誤,該服務管理本地網路內的列印過程。該威脅的主要問題是非管理員用戶能夠load他們自己的列印機驅動程式,但這已得到糾正。微軟最新更新要求一般使用者僅能安裝經合法簽發的印表機驅動程式,管理員則可安裝經簽發或未經簽發的驅動程式。
在更新發布後,美國CERT/CC 漏洞分析師 Will Dormann 警告說,該補丁“似乎只解決了 PrintNightmare 的遠端程式碼執行(通過 SMB 和 RPC 的 RCE),而不是本地特權升級(LPE)”,因此允許攻擊者濫用後者以獲取易受攻擊系統的 SYSTEM 權限。現在,更新的進一步測試顯示,攻擊目標的漏洞可以繞過修補完全獲得遠端程式碼執行(RCE)和本地特權升級(LPE)。但是,要實現這一點,必須啟用Windows群組政策(Group Policy) 中名為“Point and Print Restrictions” 的政策(Computer Configuration\Policies\Administrative Templates\Printers: Point and Print Restrictions),使用該政策安裝惡意印表機驅動程式。
值得注意,Microsoft 為 CVE-2021-34527 更新並不能有效防止Point and Print政策中 “NoWarningNoElevationOnInstal”設置為 1 (set to 1)的系統開採。Dormann表示,就微軟而言,它在其公告中解釋說,”Point and Print” 與此漏洞沒有直接關係,但該技術削弱了本地環境,從而使漏洞可被開採。”
雖然 Microsoft 已建議停止和關閉 Print Spooler 服務的核心選項,但另一種解法是啟用Point and Print,並通過配置”RestrictDriverInstallationToAdministrators”記錄檔,來限制管理員單獨安裝印表機驅動程式的權限以防止普通用戶在印表機伺服器上安裝驅動程式。