Amazon Linux AMI : ruby20 / ruby22,ruby23,ruby24 (ALAS-2018-983)

critical Nessus Plugin ID 108846

概要

遠端 Amazon Linux AMI 主機缺少一個安全性更新。

說明

寫入 root RubyGems 版本 Ruby 2.2 系列外部符號連結的 basedir 時,發現路徑周遊:2.2.9 和更舊版本,Ruby 2.3 系列:2.3.6 和更舊版本,Ruby 2.4 系列:2.4.3 和更舊版本,Ruby 2.5 系列:2.5.0 和更舊版本,在主幹修訂版 62422 之前,在 package.rb 的 install_location 函式中含有一個目錄周遊弱點,當寫入 root 外部符號連結的 basedir 時,此弱點可導致路徑周遊。此弱點似乎已在 2.7.6 中修正。(CVE-2018-1000073) tarball 中的不當簽名驗證允許安裝簽署錯誤的 gem:RubyGems 版本 Ruby 2.2 系列:2.2.9 和更舊版本,Ruby 2.3 系列:2.3.6 和更舊版本,Ruby 2.4 系列:2.4.3 和更舊版本,Ruby 2.5 系列:2.5.0 和更舊版本,在主幹修訂版 62422 之前,在 package.rb 中含有一個不當驗證密碼編譯簽名弱點,可導致安裝簽署錯誤的 gem,因為 tarball 將包含多個 gem 簽名。此弱點似乎已在 2.7.6 中修正。(CVE-2018-1000076) 因為 tar 標頭中的負大小而導致的無限迴圈弱點可造成拒絕服務。RubyGems 版本 Ruby 2.2 系列:2.2.9 和更舊版本,Ruby 2.3 系列:2.3.6 和更舊版本,Ruby 2.4 系列:2.4.3 和更舊版本,Ruby 2.5 系列:2.5.0 和更舊版本,在主幹修訂版 62422 之前,在 ruby gem 套件 tar 標頭中包含一個負大小弱點造成的無限迴圈,可導致能夠造成無限迴圈的負大小。此弱點似乎已在 2.7.6 中修正。(CVE-2018-1000075) lib/resolv.rb:lazy_initialize() 中的命令插入可導致任意程式碼執行:lib/resolv.rb 中的「lazy_initialize」函式未正確處理某些檔案名稱。遠端攻擊者可利用此缺陷注入並執行任意命令。(CVE-2017-17790) 規格首頁屬性缺少 URL 驗證可讓惡意 gem 設定無效的首頁 URL:RubyGems 版本 Ruby 2.2 系列:2.2.9 和更舊版本,Ruby 2.3 系列:2.3.6 和更舊版本,Ruby 2.4 系列:2.4.3 和更舊版本,Ruby 2.5 系列:2.5.0 和更舊版本,在主幹修訂版 62422 之前,在 ruby gems 規格首頁屬性中含有一個不當輸入驗證弱點,可導致惡意 gem 設定無效的首頁 URL。此弱點似乎已在 2.7.6 中修正。(CVE-2018-1000077) 透過 gem 伺服器顯示時,首頁屬性中發現 XSS 弱點。RubyGems 版本 Ruby 2.2 系列:2.2.9 和更舊版本,Ruby 2.3 系列:2.3.6 和更舊版本,Ruby 2.4 系列:2.4.3 和更舊版本,Ruby 2.5 系列:2.5.0 和更舊版本,在主幹修訂版 62422 之前,在 gem 伺服器首頁屬性顯示中,含有一個跨網站指令碼 (XSS) 弱點,可導致 XSS。若要惡意利用此攻擊,必須由受害者瀏覽至容易受到影響的 gem 伺服器上的惡意 gem。此弱點似乎已在 2.7.6 中修正。(CVE-2018-1000078) gem 擁有者中發現不安全的物件還原序列化弱點,進而允許在特製的 YAML 上執行任意程式碼。RubyGems 版本 Ruby 2.2 系列:2.2.9 和更舊版本,Ruby 2.3 系列:2.3.6 和更舊版本,Ruby 2.4 系列:2.4.3 和更舊版本,Ruby 2.5 系列:2.5.0 和更舊版本,在主幹修訂版 62422 之前,在擁有者命令中含有一個未受信任資料還原序列化弱點,可導致程式碼執行。若要惡意利用此攻擊,必須透過特製的 YAML 檔案,由受害者在 gem 上執行 `gem owner` 命令。此弱點似乎已在 2.7.6 中修正。(CVE-2018-1000074) gem 安裝期間發生的路徑周遊問題允許寫入任意檔案系統位置。RubyGems 版本 Ruby 2.2 系列:2.2.9 和更舊版本,Ruby 2.3 系列:2.3.6 和更舊版本,Ruby 2.4 系列:2.4.3 和更舊版本,Ruby 2.5 系列:2.5.0 和更舊版本,在主幹修訂版 62422 之前,在 gem 安裝中含有一個目錄周遊弱點,可導致 gem 在安裝期間寫入任意檔案系統位置。若要惡意利用此攻擊,必須由受害者安裝惡意的 gem。此弱點似乎已在 2.7.6 中修正。(CVE-2018-1000079) 如果某個指令碼接受外部輸入,並在不修改的情況下,將其當做 HTTP 回應的一部分輸出,攻擊者可利用新行字元欺騙用戶端 HTTP 回應標頭已在該處停止,而且可以在新行字元後面插入假的 HTTP 回應,以便向用戶端顯示惡意內容。(CVE-2017-17742) tmpdir 程式庫引入的 Dir.mktmpdir 方法可接受作為第一個參數建立之目錄的首碼和尾碼。首碼可以包含相對目錄指定元「../」,因此可以使用此方法設定任何目標目錄。那麼,如果某個指令碼接受外部輸入做為首碼,而且目標目錄擁有不當權限或 ruby 處理程序擁有不當權限,則攻擊者可以在任何目錄建立目錄或檔案。(CVE-2018-6914) 如果攻擊者傳送含有大量 HTTP 標頭的大型要求,WEBrick 會嘗試在記憶體中處理該要求,因此該要求會造成記憶體不足的 DoS 攻擊。(CVE-2018-8777) String#unpack 會接受格式規範做為其參數,而且規範 @ 可以指定剖析資料的位置。如果使用 @ 傳遞大數字,該數字會被視為負值,並發生超出緩衝區讀取。因此,如果某個指令碼接受外部輸入做為 String#unpack 的引數,攻擊者可讀取堆積上的資料。(CVE-2018-8778) UNIXServer.open 接受在第一個參數建立的通訊端路徑。如果路徑含有 NUL (\0) 位元組,此方法可辨識路徑在 NUL 位元組之前完成。因此,如果某個指令碼接受外部輸入做為此方法的引數,攻擊者可在非預定的路徑中建立通訊端檔案。此外,與 UNIXServer.open 類似,UNIXSocket.open 也接受在第一個參數建立的通訊端路徑,而不會檢查 NUL 位元組。因此,如果某個指令碼接受外部輸入做為此方法的引數,攻擊者可接受非預定路徑中的通訊端檔案。(CVE-2018-8779) Dir.open、Dir.new、Dir.entries 和 Dir.empty? 接受目標目錄的路徑做為其參數。如果參數含有 NUL (\0) 位元組,這些方法可辨識路徑在 NUL 位元組之前完成。因此,如果某個指令碼接受外部輸入做為這些方法的引數,攻擊者可進行非預定的目錄周遊。(CVE-2018-8780)

解決方案

執行「yum update ruby20」以更新系統。執行「yum update ruby22」以更新系統。執行「yum update ruby23」以更新系統。執行「yum update ruby24」以更新系統。

另請參閱

https://alas.aws.amazon.com/ALAS-2018-983.html

Plugin 詳細資訊

嚴重性: Critical

ID: 108846

檔案名稱: ala_ALAS-2018-983.nasl

版本: 1.4

類型: local

代理程式: unix

已發布: 2018/4/6

已更新: 2019/7/10

支援的感應器: Agentless Assessment, Frictionless Assessment Agent, Frictionless Assessment AWS, Nessus Agent, Nessus

風險資訊

VPR

風險因素: Medium

分數: 6.7

CVSS v2

風險因素: High

基本分數: 7.5

媒介: CVSS2#AV:N/AC:L/Au:N/C:P/I:P/A:P

CVSS v3

風險因素: Critical

基本分數: 9.8

媒介: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

弱點資訊

CPE: p-cpe:/a:amazon:linux:rubygem22-io-console, p-cpe:/a:amazon:linux:rubygem22-psych, p-cpe:/a:amazon:linux:rubygem23-bigdecimal, p-cpe:/a:amazon:linux:rubygem23-did_you_mean, p-cpe:/a:amazon:linux:rubygem23-io-console, p-cpe:/a:amazon:linux:rubygem23-json, p-cpe:/a:amazon:linux:rubygem23-psych, p-cpe:/a:amazon:linux:rubygem24-bigdecimal, p-cpe:/a:amazon:linux:rubygem24-did_you_mean, p-cpe:/a:amazon:linux:rubygem24-io-console, p-cpe:/a:amazon:linux:rubygem24-json, p-cpe:/a:amazon:linux:rubygem24-psych, p-cpe:/a:amazon:linux:rubygem24-xmlrpc, p-cpe:/a:amazon:linux:rubygems20, p-cpe:/a:amazon:linux:rubygems20-devel, p-cpe:/a:amazon:linux:rubygems22, p-cpe:/a:amazon:linux:rubygems22-devel, p-cpe:/a:amazon:linux:rubygems23, p-cpe:/a:amazon:linux:rubygems23-devel, p-cpe:/a:amazon:linux:rubygems24, p-cpe:/a:amazon:linux:rubygems24-devel, cpe:/o:amazon:linux, p-cpe:/a:amazon:linux:ruby20, p-cpe:/a:amazon:linux:ruby20-debuginfo, p-cpe:/a:amazon:linux:ruby20-devel, p-cpe:/a:amazon:linux:ruby20-doc, p-cpe:/a:amazon:linux:ruby20-irb, p-cpe:/a:amazon:linux:ruby20-libs, p-cpe:/a:amazon:linux:ruby22, p-cpe:/a:amazon:linux:ruby22-debuginfo, p-cpe:/a:amazon:linux:ruby22-devel, p-cpe:/a:amazon:linux:ruby22-doc, p-cpe:/a:amazon:linux:ruby22-irb, p-cpe:/a:amazon:linux:ruby22-libs, p-cpe:/a:amazon:linux:ruby23, p-cpe:/a:amazon:linux:ruby23-debuginfo, p-cpe:/a:amazon:linux:ruby23-devel, p-cpe:/a:amazon:linux:ruby23-doc, p-cpe:/a:amazon:linux:ruby23-irb, p-cpe:/a:amazon:linux:ruby23-libs, p-cpe:/a:amazon:linux:ruby24, p-cpe:/a:amazon:linux:ruby24-debuginfo, p-cpe:/a:amazon:linux:ruby24-devel, p-cpe:/a:amazon:linux:ruby24-doc, p-cpe:/a:amazon:linux:ruby24-irb, p-cpe:/a:amazon:linux:ruby24-libs, p-cpe:/a:amazon:linux:rubygem20-bigdecimal, p-cpe:/a:amazon:linux:rubygem20-io-console, p-cpe:/a:amazon:linux:rubygem20-psych, p-cpe:/a:amazon:linux:rubygem22-bigdecimal

必要的 KB 項目: Host/local_checks_enabled, Host/AmazonLinux/release, Host/AmazonLinux/rpm-list

修補程式發佈日期: 2018/5/10

弱點發布日期: 2017/12/20

參考資訊

CVE: CVE-2017-17742, CVE-2017-17790, CVE-2018-1000073, CVE-2018-1000074, CVE-2018-1000075, CVE-2018-1000076, CVE-2018-1000077, CVE-2018-1000078, CVE-2018-1000079, CVE-2018-6914, CVE-2018-8777, CVE-2018-8778, CVE-2018-8779, CVE-2018-8780

ALAS: 2018-983