Polkit 中存在 12 年的漏洞允許獲取 root 權限 

前幾天有消息爆出 Qualys 研究團隊在 polkit pkexec 中發現內存損壞漏洞,一個根 SUID 程序,默認安裝在所有主要的 Linux 發行版上。

這個漏洞 容易被利用 通過在其默認配置中利用此漏洞,允許任何非特權用戶在易受攻擊的主機上獲得完全的 root 權限。

polkit (以前稱為 PolicyKit) 是系統範圍權限控制的組件 在類 Unix 操作系統上。 它為非特權進程與特權進程通信提供了一種有組織的方式,此外,還可以使用 polkit 運行具有提升權限的命令,使用 pkexec 命令後跟它打算運行的命令(具有 root 權限)。

關於漏洞

脆弱性 在於pkexec, PUES 您的代碼包含指針處理錯誤, 其中一些 最終引用不應該的內存區域. 通過利用此漏洞,幾乎可以立即獲得管理員權限。

該漏洞編號為 CVE-2021-4034,CVSS 得分為 7,8,Qualys 團隊在一篇博文中解釋說:

pkexec 漏洞為攻擊者打開了獲取 root 權限的大門。 他說,Qualys 研究人員已經表明,Ubuntu、Debian、Fedora 和 CentOS 的默認安裝被利用,其他 Linux 發行版也被認為是易受攻擊的。

“成功利用此漏洞允許任何非特權用戶在易受攻擊的主機上獲得 root 特權。 Qualys 安全研究人員能夠獨立驗證漏洞,開發漏洞利用程序,並在默認安裝的 Ubuntu、Debian、Fedora 和 CentOS 上獲得完全 root 權限。 其他 Linux 發行版可能容易受到攻擊和利用。 此漏洞已被隱藏超過 12 年,並影響自 2009 年 8 月首次發布以來的所有 pkexec 版本(確認 c3c83d1,“添加 pkexec(XNUMX) 命令”)。

“一旦我們的研究團隊確認了該漏洞,Qualys 就承諾負責任地披露漏洞,並與供應商和開源發行版協調以宣布該漏洞。”

當 main() 函數出現問題 通過 pkexec 處理命令行參數 argc 為零。 該函數仍然嘗試訪問參數列表並最終嘗試使用 rgvvoid(命令行參數字符串的 ARGument 向量)。 結果,內存被越界讀取和寫入,攻擊者可以利用它來注入可能導致加載任意代碼的環境變量。

可以重新引入這些變量的事實使代碼易受攻擊。 至少 Qualys 提供的利用技術(將 GCONV_PATH 變量注入 pkexec 環境以以 root 身份運行共享庫)會在日誌文件中留下痕跡。

在安全公告中,紅帽發表了以下聲明:

“Red Hat 注意到在 pkexec 中發現的一個漏洞,它允許經過身份驗證的用戶執行特權提升攻擊。”

“客戶面臨的主要風險是非特權用戶有可能獲得受影響系統的管理特權。 攻擊者必須擁有目標系統的登錄權限才能進行攻擊。”

值得一提的是 該漏洞已在 2013 年被發現 並且已經在博客文章中詳細描述過,即使沒有提供 PoC:

“大聲笑,我在 2013 年寫過這個 polkit 漏洞。我找不到實際的利用路徑,但我確實找到了根本原因。”

最後,如果您有興趣了解它,您可以在 以下鏈接。


發表您的評論

您的電子郵件地址將不會被發表。 必填字段標有 *

*

*

  1. 負責資料:AB Internet Networks 2008 SL
  2. 數據用途:控制垃圾郵件,註釋管理。
  3. 合法性:您的同意
  4. 數據通訊:除非有法律義務,否則不會將數據傳達給第三方。
  5. 數據存儲:Occentus Networks(EU)託管的數據庫
  6. 權利:您可以隨時限制,恢復和刪除您的信息。