在 systemd (linux 作業系統流行的 init 系統和服務管理器) 中發現了一個關鍵漏洞, 這使得遠端攻擊者有可能觸發緩沖區溢出, 進而通過 dns 響應在目标計算機上執行惡意代碼。
systemd 是一種系統初始化程式。和 sysvinit 以及 upstart 一樣,systemd 會成為系統開機時啟動的第一個程序(至少 pid 是 1),由它掌管計算機接下來要做的事情,例如讀取 fstab 挂載磁盤和按照 runlevel 的設定啟動各種服務。其安全的重要性不言而喻。
該漏洞編号 cve-2017-9445 ,實際上駐留在 " systemd-resolved " 的 "dns_packet_new" 函數中, 它是一個 dns 響應處理程式元件, 它為本地應用程式提供網絡名稱解析。
根據星期二釋出的一個公告, 當系統試圖在攻擊者控制的 dns 服務上查找主機名時, 經過精心構造的惡意 dns 響應,可以遠端崩潰 " systemd-resolved " 程式。
最終, 大量 dns 響應會溢出目标計算機的緩沖區, 進而使攻擊者改寫其記憶體,引發遠端代碼執行。這意味着攻擊者可以通過其惡意的 dns 服務,在目标系統或伺服器上,遠端執行任何惡意軟體。
ubuntu 開發者chris coulson在開發規範中這樣描述,
“直到 233版本的 systemd , certain sizes passed to dns_packet_new in systemd-resolved can cause it to allocate a buffer that’s too small,”
"惡意 dns 伺服器可以利用此漏洞,通過精心構造的 tcp payload, 誘騙systemd-resolved 配置設定的緩沖區太小, 随後将任意資料寫入它的末尾。
自 systemd 223版本于2015年6月推出以來, 這一漏洞一直存在, 包括今年3月推出的 systemd 233版本。當然, 前提條件是systemd-resolved 在您的系統上運作, 因為它很容易受到攻擊。
該 bug 存在于 ubuntu 版本17.04 和版本16.10 中;debian 版本 stretch (又名 debian 9), buster (又名10) 和 sid (又名unstable);以及其他各種使用 systemd 的 linux 發行版。
已推出安全修補程式來解決此問題, 是以強烈建議使用者和系統管理者安裝它們, 并盡快更新他們的 linux 發行。
https://github.com/systemd/systemd/commit/a0166609f782da91710dea9183d1bf138538db37
原文釋出時間:2017年6月29日
本文由:vulners 釋出,版權歸屬于原作者
原文連結:http://toutiao.secjia.com/linux-systemd-rce-cve-2017-9445
本文來自雲栖社群合作夥伴安全加,了解相關資訊可以關注安全加網站