Oracle Linux 8:squid:4 (ELSA-2020-4743)

critical Nessus Plugin ID 180917

概要

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

說明

遠端 Oracle Linux 8 主機中安裝的套件受到 ELSA-2020-4743 公告中提及的多個弱點影響。

- 在 Squid 4.10 之前版本中發現一個問題。它允許特製的 FTP 伺服器從堆積記憶體觸發敏感資訊洩漏,例如與其他使用者工作階段或非 Squid 處理程序相關的資訊。(CVE-2019-12528)

- 在 Squid 4.10 之前版本中發現一個問題。由於緩衝區管理不正確,遠端用戶端可造成作為反向代理伺服器的 Squid 執行個體發生緩衝區溢位。(CVE-2020-8450)

在 4.12 版之前和 5.0.3 之前 5.x 版的 Squid 中,發現 http/ContentLengthInterpreter.cc 中有一個問題。可針對 HTTP 快取發動要求走私和毒害攻擊。用戶端會傳送具有 Content-Length 標頭的 HTTP 要求,標頭中包含 + \- 或長度欄位值或含有不常見的 shell 空白字元前置詞。(CVE-2020-15049)

- 4.13 之前和 5.0.4 之前的 5.x 版 Squid 允許一個可信節點在處理特製 Cache Digest 回應訊息期間消耗所有可用的 CPU 週期,從而造成拒絕服務。僅當使用具有快取摘要功能的 cache_peer 時才會發生此問題。此問題之所以存在,是因為 peer_digest.cc 中的 peerDigestHandleReply() 動態鎖定未正確處理 EOF。(CVE-2020-24606)

- 在 Squid 4.10 之前版本中發現一個問題。由於不正確的輸入驗證,它可以非預期的方式解譯特製的 HTTP 要求,以存取早期安全性篩選器禁止的伺服器資源。
(CVE-2020-8449)

- 在 Squid 4.7 及之前版本中發現一個問題。Squid 剖析 ESI 時,會將 ESI 元素保留在 ESIContext 中。ESIContext 中有一個緩衝區,用於保留 ESIElements 堆疊。剖析新的 ESIElement 時,它會透過 addStackElement 進行新增。 addStackElement 會檢查此緩衝區中的元素數,但會差一,從而導致堆積溢位元素為 1。此溢位發生於相同結構內,因此不會影響相鄰的記憶體區塊,只會在處理時導致當機。
(CVE-2019-12521)

- 在 Squid 4.9 之前版本中發現一個問題。處理 URN 要求時,程式會提出對應的 HTTP 要求。此 HTTP 要求不會經過傳入 HTTP 要求所經過的存取權限檢查。這會造成所有存取權限檢查被略過,並且允許存取受限制的 HTTP 伺服器,例如,攻擊者可連線至僅在 localhost 上接聽的 HTTP 伺服器。(CVE-2019-12523)

- 在 Squid 4.7 及之前版本中發現一個問題。處理使用者發出的要求時,Squid 會檢查其規則以查看是否應拒絕該要求。Squid 依預設使用可封鎖快取管理員存取權限的規則,而該快取管理員可爲維護者提供伺服器詳細資訊。此規則是透過 url_regex 實作。url_regex 規則 URL 的處理常式會解碼傳入的要求,這讓攻擊者可以對其 URL 進行編碼,以繞過 url_regex 檢查,並取得對封鎖資源的存取權。(CVE-2019-12524)

- 在 Squid 4.9 之前版本中發現一個問題。Squid 中的 URN 回應處理受到一個堆積型緩衝區溢位問題的影響。當從遠端伺服器接收資料以回應 URN 要求時,Squid 無法確保回應能夠放入緩衝區。這會導致由攻擊者控制的資料在堆積中溢位。(CVE-2019-12526)

- 在 Squid 2.x 至 2.7.STABLE9 版、3.x 至 3.5.28 和 4.x 至 4.7 版中發現一個問題。將 Squid 設定為使用基本驗證時,它會透過 uudecode 剖析 Proxy-Authorization 標頭。
uudecode 透過反覆輸入並檢查其表格來決定將要解碼的位元組數量,然後使用該長度開始解碼字串。沒有任何檢查確保其計算的長度不會大於輸入緩衝區。這也會導致相鄰記憶體被解碼。除非 Squid 維護者已設定錯誤頁面上的使用者名稱顯示,否則攻擊者無法擷取解碼後的資料。(CVE-2019-12529)

- 使用特定的網頁瀏覽器時,Squid 4.9 之前版本會將 host (即主機名稱) 參數中的 HTML 錯誤處理為 cachemgr.cgi。(CVE-2019-18860)

在 4.12 版之前和 5.0.3 之前 5.x 版的 Squid 中,發現一個問題。由於使用了可能危險的函式,Squid 和預設的憑證驗證協助程式在為 HTTPS 開啓連線至受攻擊者控制之伺服器的 TLS 連線時,容易遭受拒絕服務攻擊。這是因為無法識別的錯誤值會對應至 NULL,而之後的程式碼預期每個錯誤值對應至有效的錯誤字串。(CVE-2020-14058)

- 在 Squid 4.7 以及之前的所有版本和第 5 版中發現一個問題。Squid 會在接收要求時檢查其快取,以確認是否可以提供回應。它透過對要求的絕對 URL 進行 MD5 雜湊來實現這一點。
如果找到,則爲要求提供服務。絕對 URL 可包含針對特定通訊協定解碼後的 UserInfo (使用者名稱和密碼),此解碼後的資訊會附加在網域之前。攻擊者可藉此提供具有特殊字元的使用者名稱來分隔網域,並將 URL 的其餘部分視為路徑或查詢字串。攻擊者可先使用編碼的使用者名稱向其網域提出要求,然後當解碼為確切 URL 的目標網域要求傳入時,程式會提供攻擊者的 HTML,而非真正的 HTML。若 Squid 伺服器也充當反向 Proxy,這會允許攻擊者存取只有反向 Proxy 可以使用的功能,例如 ESI。(CVE-2019-12520)

- 由於字串結尾錯誤,Squid cachemgr.cgi 4.0 至 4.7 可能會存取未配置的記憶體。在具有記憶體存取保護機制的系統上,這可造成 CGI 處理程序意外終止,進而導致所有使用該處理程序的用戶端拒絕服務。(CVE-2019-12854)

- 在 Squid 3.x、4.x 至 4.8 版本中發現一個問題。由於輸入驗證不正確,程式會發生堆積型緩衝區溢位,從而導致使用 Proxy 的所有用戶端拒絕服務。此弱點發生在正常安全性檢查之前,因此屬於高嚴重性問題。任何可連線至 Proxy 連接埠的遠端用戶端皆可透過特製的 URI 配置輕鬆執行攻擊。(CVE-2019-18676)

- 使用 append_domain 設定時,Squid 3.x 以及 4.x 至 4.8 版中會產生問題 (因為附加字元未與主機名稱長度限制正確互動)。由於訊息處理不正確,它可以錯誤地將流量重新導向至不應傳送的目的地來源。
(CVE-2019-18677)

- 在 Squid 3.x、4.x 至 4.8 版本中發現一個問題。它允許攻擊者透過前端軟體將 HTTP 要求走私至 Squid 執行個體,然後由該執行個體以不同方式分割 HTTP 要求工作流程。所產生的回應訊息會在任意 URL 上使用攻擊者控制的內容損毀 (用戶端和 Squid 之間的) 快取。僅影響攻擊者用戶端和 Squid 之間的軟體。對 Squid 本身或任何上游伺服器都沒有影響。此問題涉及標頭名稱和冒號之間含有空格的一個要求標頭。(CVE-2019-18678)

- 在 Squid 2.x、3.x 及 4.x 至 4.8 版本中發現一個問題。由於資料管理不正確,處理 HTTP 摘要式驗證時容易發生資訊洩漏。Nonce token 包含堆積記憶體配置中指標的原始位元組值。此資訊會降低 ASLR 保護,並可協助攻擊者隔離作為遠端程式碼執行攻擊目標的記憶體區域。
(CVE-2019-18679)

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

解決方案

更新受影響的 libecap、libecap-devel 和/或 squid 套件。

另請參閱

https://linux.oracle.com/errata/ELSA-2020-4743.html

Plugin 詳細資訊

嚴重性: Critical

ID: 180917

檔案名稱: oraclelinux_ELSA-2020-4743.nasl

版本: 1.0

類型: local

代理程式: unix

已發布: 2023/9/7

已更新: 2023/9/7

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

風險資訊

VPR

風險因素: Medium

分數: 5.9

CVSS v2

風險因素: High

基本分數: 7.5

時間分數: 5.5

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

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

CVSS v3

風險因素: Critical

基本分數: 9.8

時間分數: 8.5

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

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

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

弱點資訊

CPE: cpe:/o:oracle:linux:8, p-cpe:/a:oracle:linux:libecap, p-cpe:/a:oracle:linux:libecap-devel, p-cpe:/a:oracle:linux:squid

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

可輕鬆利用: No known exploits are available

修補程式發佈日期: 2020/11/10

弱點發布日期: 2019/7/11

參考資訊

CVE: CVE-2019-12520, CVE-2019-12521, CVE-2019-12523, CVE-2019-12524, CVE-2019-12526, CVE-2019-12528, CVE-2019-12529, CVE-2019-12854, CVE-2019-18676, CVE-2019-18677, CVE-2019-18678, CVE-2019-18679, CVE-2019-18860, CVE-2020-14058, CVE-2020-15049, CVE-2020-24606, CVE-2020-8449, CVE-2020-8450