他們檢測到內核中的一個漏洞,該漏洞可能導致信息被盜

思科Talos研究人員發布 幾天前 Linux內核中的一個漏洞,可以利用它來竊取數據 並用作提升特權和損害系統的一種手段。

脆弱性 被描述為“信息洩露漏洞” 這可能會使攻擊者看到內核堆棧的內存。

CVE-2020-28588是該漏洞 在ARM設備中發現proc / pid / syscall功能 運行操作系統的32位。 根據Cisco Talos的說法,該問題最早是在運行Azure Sphere的設備上發現的。

Linux Kernel 5.1 Stable和5.4.66的/ proc / pid / syscall功能中存在一個信息洩露漏洞。 更具體地說,此問題已在v5.1-rc4中引入(提交631b7abacd02b88f4b0795c08b54ad4fc3e7c7c0),並在v5.10-rc4中仍然存在,因此所有中間版本都可能受到影響。 攻擊者可以讀取/ proc / pid / syscall來激活此漏洞,從而導致內核丟失內存內容。

Proc是一個特殊的偽文件系統 在類似Unix的操作系統上 用於動態訪問過程數據 在內核中找到。 以類似文件的分層結構顯示過程信息和其他系統信息。

例如,它包含子目錄/ proc / [pid],每個子目錄都包含文件和子目錄,這些文件和子目錄公開了有關特定進程的信息,這些信息可以通過使用相應的進程ID來讀取。 對於“ syscall”文件,它是一個合法的Linux操作系統文件,其中包含內核使用的系統調用的日誌。

對於公司,黑客可以利用此漏洞訪問操作系統和syscall文件 通過用於在內核數據結構之間進行交互的系統Proc。 如果黑客發出命令以生成24個字節的未初始化堆內存,從而繞過內核地址空間佈局隨機化(KASLR),則可以利用syscall procfs條目。

查看此特定功能,一切看起來都很好,但值得注意的是 args傳遞的參數來自 proc_pid_syscall功能,因此實際上是類型 __u64 args。 在ARM系統中,函數定義將轉換 arg八個字節中的四個字節元素組成的數組(自 unsigned long在ARM中為4個字節),這導致 memcpy複製到20個字節(外加4個字節) args[0]).

同樣,對於i386, unsigned long這是4個字節 args寫入參數的前24個字節,其餘24個字節保持不變。

在兩種情況下,如果我們回顧一下 proc_pid_syscall功能。

在32位ARM和i386中,我們僅在 args數組,格式字符串最終讀取48個字節的 args矩陣,因為 %llx在32位和64位系統上,格式字符串為24個字節。 因此,XNUMX字節未初始化的堆內存最終會得到輸出,這可能會導致KASLR繞過。

研究人員指出 該攻擊“不可能在網絡上遠程檢測” 因為它正在從Linux操作系統讀取合法文件。 思科說:“如果使用得當,黑客可以利用此信息洩漏來成功利用其他未修補的Linux漏洞。”

對此,谷歌最近表示:

內存安全漏洞通常會威脅設備,特別是應用程序和操作系統的安全。 例如,谷歌表示,在Linux內核也支持的Android移動操作系統中,它發現2019年解決的安全漏洞中有一半以上是內存安全漏洞的結果。

最後但並非最不重要的 建議更新Linux內核的版本5.10-rc4、5.4.66、5.9.8,因為 此漏洞已經過測試,並確認能夠利用以下版本的Linux內核。

終於 如果您有興趣了解更多信息 關於帖子,您可以在 以下鏈接。


發表您的評論

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

*

*

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