今天下午合併到主線Linux 5.19 Git 內核和反向移植設置是對新安全漏洞的修復。 Oracle 週二公開了 CVE-2022-21505,作為對 Linux 內核鎖定模式的簡單繞過。
Linux Lockdown 安全模塊最常與 UEFI 安全啟動一起使用,但如果想要防止 Kexec’ing 不受信任的內核,也可以在安全啟動之外使用。 Lockdown LSM 是幾年前引入的,用於防止對正在運行的內核映像的直接和間接訪問,以抵禦未經授權/意外的修改。鎖定模式旨在防止 Kexec’ing 進入備用內核,阻止對/dev/mem 等接口的訪問,並設置其他限制。運行 UEFI 安全啟動時使用鎖定模式,但也有它之外的用例。
Oracle 工程師發現,如果使用“ima_appraise=log”選項在 IMA(Integrity Measurement Architecture)評估模式下運行,則可以輕鬆繞過鎖定模式。對於那些使用 Lockdown LSM without Secure Boot active 的用戶來說,破解它相當容易:
要破解鎖定,在沒有 Secure Boot 的情況下啟動並將 ima_appraise=log 添加到內核命令行;然後:
$ echo”integrity”>/sys/kernel/security/lockdown
$ echo”appraise func=KEXEC_KERNEL_CHECK appraise_type=imasig”>/sys/kernel/security/ima/policy
$ kexec-ls unsigned-kernel
就這麼簡單。幸運的是,只需一個三行內核補丁即可解決此鎖定繞過問題。
補丁已合併今天到 Linux 5.19 Git 並設置為向後移植到內核穩定係列。自 2019 年以來,此錯誤一直存在於 Linux 內核版本中。