Linux 系統與服務管理工具 Systemd 被曝存在 3 大漏洞,影響幾乎所有 Linux 發行版。
Systemd 是 Linux 系統的基本構建塊,它提供了對系統和服務的管理功能,以 PID 1 執行並啟動系統的其它部分。目前大部分 Linux 發行版都以 Systemd 取代了原有的 System V。
安全公司 Qualys 近日釋出報告稱其發現 Systemd 中存在 3 個安全漏洞,並且這些漏洞已經存在 3 到 5 年時間。
3 個漏洞已經收錄到 CVE,分別是記憶體損壞漏洞 CVE-2018-16864 與 CVE-2018-16865、資訊洩露漏洞 CVE-2018-16866。其中,CVE-2018-16864 於 2013 年 4 月引入(systemd v203),併在 2016 年 2 月可利用(systemd v230),研究人員寫了一個 PoC,可在 i386 上獲得 eip 控制。
CVE-2018-16865 於 2011 年 12 月引入(systemd v38),在 2013 年 4 月可利用(systemd v201)。CVE-2018-16866 於 2015 年 6 月引入(systemd v221),於 2018 年 8 月無意中被修複。
研究人員為 CVE-2018-16865 和 CVE-2018-16866 寫了一個 PoC,並利用它進行測試,結果花 70 分鐘就可以在 amd64 上獲得本地 root shell,而在 i386 上只花了 10 分鐘。
“所有使用 Systemd 的 Linux 發行版都存在漏洞,並且易受到攻擊”,研究人員表示:“但在 SUSE Linux Enterprise 15、openSUSE Leap 15.0 和 Fedora28 與 29 上,這些漏洞無法利用,因為它們的使用者空間使用了 GCC 的 -fstack-clash-protection 進行編譯。”
GCC 中的 -fstack-clash-protection 選項用於生成程式碼以防止堆疊衝突樣式攻擊(stack clash style attacks),啟用此選項後,編譯器將一次只分配一頁堆疊空間,併在分配後立即訪問每個頁面。因此,它可以防止分配跳過處於作業系統保護下的任何堆疊頁面。
Qualys 表示不久後將釋出相關漏洞 exploit。