Debian DSA-4950-1:ansible - 安全性更新

high Nessus Plugin ID 152270

概要

遠端 Debian 主機上缺少一個或多個安全性更新。

說明

遠端 Debian 10 主機上安裝的多個套件受到 dsa-4950 公告中提及的多個弱點影響。

- 在 2.6.18、2.7.12 和 2.8.2 之前的版本中,發現 Ansible 範本的實作方式存在缺陷,透過非預期的變數替換有可能造成資訊洩漏。藉由利用非預期的變數替換,可以洩漏任何變數的內容。
(CVE-2019-10156)

- ansible-playbook -k 和 ansible cli 工具的 2.8.4 之前的所有 2.8.x 版、2.7.13 之前的所有 2.7.x 版以及 2.6.19 之前的所有 2.6.x 版,都會透過從範本展開密碼來提示密碼 (因為它們可能包含特殊字元)。爲了防止範本觸發問題和洩漏密碼,應當包裝密碼。(CVE-2019-10206)

- 在 Ansible 中,直至 ansible-engine 2.8.5、ansible-engine 2.7.13、ansible-engine 2.6.19 的所有 Ansible Engine 版本皆在 DEBUG 層級記錄,如果外掛程式使用在 DEBUG 層級記錄憑證的程式庫,這會導致憑證洩漏。此瑕疵不會影響 Ansible 模組,因為這些模組是在獨立的程序中執行。(CVE-2019-14846)

- 當使用 Sumologic 和 Splunk 回呼外掛程式將工作結果事件傳送至收集器時,Ansible 2.9.1 之前的 2.9.x 版、2.8.7 之前的 2.8.x 版和 2.7.15 之前的 2.7.x 版未遵循將其設為 True 的旗標,這會洩漏和收集任何敏感資料。(CVE-2019-14864)

- 在 Ansible Community 模組的 solaris_zone 模組中發現一個缺陷。在 Solaris 主機上設定區域名稱時,可藉由在遠端計算機上使用「ps」bare 命令列出程序來檢查此區域名稱。攻擊者可利用此缺陷,來構建此區域的名稱並在遠端主機中執行任意命令。Ansible Engine 2.7.15、2.8.7 、2.9.2 以及更早版本受到影響。(CVE-2019-14904)

- 在 Ansible Engine 2.7.x、2.8.x、2.7.17 之前的 2.9.x 版、2.8.9 和 2.9.6 版中發現一個弱點,當使用 ansible_facts 作為本身的子金鑰並在啟用插入時將其升級未變數時,會發生清除後覆寫 ansible_facts。攻擊者可藉由篡改 ansible_facts (例如 ansible_hosts)、使用者和任何金鑰資料,利用此弱點執行權限提升或程式碼插入攻擊。(CVE-2020-10684)

- 當使用用來解密 Vault 檔案的模組時 (例如 assemble、script、unarchive、win_copy、aws_s3 或 copy 模組),發現 Ansible Engine 中有一個缺陷,此問題會影響 Ansible Engine 2.7.17 之前的 2.7.x 版、2.8.11 之前的 2.8.x 版和 2.9.7 之前的 2.9.x 版,以及 3.4.5、3.5.5 和 3.6.3 版 (含) 之前的 Ansible Tower。在 /tmp 中建立的暫存目錄未加密 s ts。在 /tmp 不是 tmpfs 而是根磁碟分割一部分的作業系統上,僅在開機時清除此目錄,在主機關閉時加密 emains。系統在未執行時會受到攻擊,因此必須盡快清除解密的資料,並清除通常可加密的資料。(CVE-2020-10685)

- 在 Ansible 中使用不充分的隨機值時發現一個缺陷。長度相同的兩個隨機密碼查閱會產生與相同檔案的範本快取操作相同的值,這是因為沒有發生重新評估行爲。此弱點的最大威脅是,該檔案的所有密碼會同時遭到洩漏。此缺陷會影響 Ansible Engine 2.9.6 之前版本。(CVE-2020-10729)

- 使用 uri 模組時,在 Ansible 中發現記錄輸出中和不當缺陷,其中敏感資料會洩漏給內容和 json 輸出。攻擊者可利用此缺陷來存取已執行工作的記錄或輸出,以從 uri 模組內的其他使用者處讀取 playbook 中使用的金鑰。此弱點對資料機密性的威脅最大。(CVE-2020-14330)

- 使用 module_args 時,在 Ansible Engine 中發現一個缺陷。以檢查模式 (--check-mode) 執行的工作未正確中和事件資料中暴露的敏感資料,未經授權的使用者可利用此缺陷來讀取此資料。此弱點對機密性的威脅最大。
(CVE-2020-14332)

- 安裝使用 dnf 模組的套件時,發現 Ansible Engine 中存在缺陷,此缺陷影響 ansible-engine 2.8.x 的 2.8.15 之前版本和 ansible-engine 2.9.x 的 2.9.13 之前版本。即使將 disable_gpg_check 設為 False (預設行為),程式仍會在安裝期間忽略 GPG 簽章。此缺陷會導致系統上安裝惡意套件,攻擊者透過套件安裝指令碼執行任意程式碼。此弱點對完整性及系統可用性的威脅最大。
(CVE-2020-14365)

- 在 Ansible Engine 2.7.17 及之前版本、2.8.9 及之前版本、2.9.6 及之前版本中,以無權限的 become 使用者身份執行 playbook 時,發現爭用情形。當 Ansible 需要以 become 使用者身分執行模組時,會在 /var/tmp 中建立暫存目錄。此目錄使用「umask 77 && mkdir -p」建立。如果目錄已存在且由其他使用者擁有,則此作業不會失敗。因為可藉由重複「/proc//cmdline」來擷取目標目錄,攻擊者可趁機控制 become 使用者。(CVE-2020-1733)

- 使用 fetch 模組時,在 Ansible Engine 中發現一個缺陷。攻擊者可攔截該模組、插入新路徑,然後在控制器節點上選擇新的目的地路徑。據信,2.7.x 版、2.8.x 版和 2.9.x 版中的所有版本都容易受到此弱點攻擊。(CVE-2020-1735)

- 使用 svn 模組的「password」引數設定密碼時,在 Ansible 2.7.16 及之前版本、2.8.8 及之前版本、2.9.5 及之前版本中發現一個瑕疵,在 svn 命令行中使用此密碼時,密碼會被洩漏給相同節點內的其他使用者。攻擊者可利用此瑕疵,從 procfs 上的特定 PID 讀取 cmdline 檔案。(CVE-2020-1739)

- 使用 Ansible Vault 編輯加密檔案時,在 Ansible Engine 中發現一個瑕疵。當使用者執行「ansible-vault edit」時,相同電腦上的其他使用者可讀取舊的和新的密碼,這是因為此密碼是在使用 mkstemp 的暫存檔中建立,並且已傳回的檔案描述符號已關閉,系統呼叫 write_data 方法在檔案中寫入原有密碼。此方法會刪除該檔案,然後以不安全的方式重新建立檔案。據信,2.7.x 版、2.8.x 版和 2.9.x 版中的所有版本都容易受到此弱點攻擊。
(CVE-2020-1740)

- 使用 ldap_attr 和 ldap_entry 社群模組時,在 Ansible Engine 中發現一個缺陷,這會影響 Ansible Engine 2.7.x 版的 2.7.17 之前版本、2.8.x 的 2.8.11 之前版本以及 2.9.x 的 2.9.7 之前版本、3.4.5 版和 3.5.5 版和 3.6.3 版 (含) 的 Ansible Tower。如果 playbook 工作是使用參數欄位中的 bind_pw 寫入,則此問題會將 LDAP 繫結密碼洩漏給 stdout 或記錄檔。此弱點對資料機密性的威脅最大。(CVE-2020-1746)

- 使用 k8s 模組管理 kubernetes 時,在 Ansible Engine 發現安全性缺陷,這會影響 Ansible 2.7.x 的 2.7.17 之前所有版本,2.8.x 的 2.8.11 之前所有版本、Ansible 2.9.x 的 2.9.7 之前所有版本。敏感參數 (如密碼和權杖) 會從命令行傳遞至 kubectl,而非使用環境變數或輸入設定檔。這會洩漏程序清單中的密碼和權杖,而除錯模組中的 no_log 指示詞不產生任何作用,從而造成在 stdout 和記錄檔上洩漏這些密碼。(CVE-2020-1753)

- 在 Ansible Engine 2.9.18 中發現一個缺陷,使用 basic.py 模組的 sub-option 功能時,敏感資訊未依預設遮罩且不受 no_log 功能保護。攻擊者可利用此缺陷取得敏感資訊。此弱點對機密性的威脅最大。(CVE-2021-20228)

請注意,Nessus 並未測試此問題,而是僅依據應用程式自我報告的版本號碼作出判斷。

解決方案

升級 ansible 套件。

針對穩定的發行版本 (buster),已在 2.7.7+dfsg-1+deb10u1 版本中修正這些問題。

另請參閱

https://security-tracker.debian.org/tracker/source-package/ansible

https://www.debian.org/security/2021/dsa-4950

https://security-tracker.debian.org/tracker/CVE-2019-10156

https://security-tracker.debian.org/tracker/CVE-2019-10206

https://security-tracker.debian.org/tracker/CVE-2019-14846

https://security-tracker.debian.org/tracker/CVE-2019-14864

https://security-tracker.debian.org/tracker/CVE-2019-14904

https://security-tracker.debian.org/tracker/CVE-2020-10684

https://security-tracker.debian.org/tracker/CVE-2020-10685

https://security-tracker.debian.org/tracker/CVE-2020-10729

https://security-tracker.debian.org/tracker/CVE-2020-14330

https://security-tracker.debian.org/tracker/CVE-2020-14332

https://security-tracker.debian.org/tracker/CVE-2020-14365

https://security-tracker.debian.org/tracker/CVE-2020-1733

https://security-tracker.debian.org/tracker/CVE-2020-1735

https://security-tracker.debian.org/tracker/CVE-2020-1739

https://security-tracker.debian.org/tracker/CVE-2020-1740

https://security-tracker.debian.org/tracker/CVE-2020-1746

https://security-tracker.debian.org/tracker/CVE-2020-1753

https://security-tracker.debian.org/tracker/CVE-2021-20228

https://packages.debian.org/source/buster/ansible

Plugin 詳細資訊

嚴重性: High

ID: 152270

檔案名稱: debian_DSA-4950.nasl

版本: 1.5

類型: local

代理程式: unix

已發布: 2021/8/7

已更新: 2023/12/6

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

風險資訊

VPR

風險因素: Medium

分數: 6.6

CVSS v2

風險因素: Medium

基本分數: 6.6

時間分數: 5.2

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

CVSS 評分資料來源: CVE-2020-14365

CVSS v3

風險因素: High

基本分數: 7.8

時間分數: 7

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

時間媒介: CVSS:3.0/E:P/RL:O/RC:C

CVSS 評分資料來源: CVE-2019-14846

弱點資訊

CPE: p-cpe:/a:debian:debian_linux:ansible, p-cpe:/a:debian:debian_linux:ansible-doc, cpe:/o:debian:debian_linux:10.0

必要的 KB 項目: Host/local_checks_enabled, Host/Debian/release, Host/Debian/dpkg-l

可被惡意程式利用: true

可輕鬆利用: Exploits are available

修補程式發佈日期: 2021/8/7

弱點發布日期: 2019/6/9

參考資訊

CVE: CVE-2019-10156, CVE-2019-10206, CVE-2019-14846, CVE-2019-14864, CVE-2019-14904, CVE-2020-10684, CVE-2020-10685, CVE-2020-10729, CVE-2020-14330, CVE-2020-14332, CVE-2020-14365, CVE-2020-1733, CVE-2020-1735, CVE-2020-1739, CVE-2020-1740, CVE-2020-1746, CVE-2020-1753, CVE-2021-20228

IAVB: 2019-B-0092-S, 2020-B-0016-S, 2020-B-0073-S, 2021-B-0013-S