Oracle Linux 7:核心 (ELSA-2020-1016)

critical Nessus Plugin ID 180720

概要

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

說明

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

- 在 4.14.6 版之前的 Linux 核心中,KEYS 子系統在透過 request_key() 系統呼叫將金鑰新增至目前工作的預設要求金鑰 keyring 時,會省略存取控制檢查,這樣本機使用者就可以使用特製的系統呼叫序列,將金鑰新增至只具有該 keyring 搜尋權限 (而非寫入權限) 的 keyring,此問題與 construct_get_dest_keyring() in security/keys/request_key.c 有關。
(CVE-2017-17807)

- 在 4.19.8 及之前版本的 Linux 核心中, drivers/net/usb/hso.c 的 hso_get_config_data 函式會讀取 USB 裝置中的 if_num 並使用其索引小陣列,從而導致讀取超出邊界 (OOB) 的對象,而這可能允許系統在核心位址空間中執行任意讀取。(CVE-2018-19985)

- 4.8 之前的 Linux 核心允許本機使用者繞過 setuid 程式 (例如 /bin/su) 上的 ASLR,由於太晚呼叫 fs/binfmt_elf.c 中 load_elf_binary() 的 install_exec_creds(),因此 ptrace_may_access() 檢查在讀取 /proc/pid/stat 時會出現爭用情形。(CVE-2019-11190)

- 在 5.0.15 版之前的 Linux 核心中,net/bluetooth/hidp/sock.c 的 do_hidp_sock_ioctl 函式可能讓本機使用者得以透過 HIDPCONNADD 命令從核心堆疊記憶體取得敏感資訊,這是因為名稱欄位的結尾可能不是「\0」字元。(CVE-2019-11884)

- 在早於 4.13.14 的 Linux 核心的 tun 子系統中,未在 register_netdevice 之前呼叫 dev_get_valid_name。此問題會讓本機使用者透過含有 / 字元之 dev 名稱的 ioctl (TUNSETIFF) 呼叫,造成拒絕服務 (NULL 指標解除參照和錯誤)。此問題與 CVE-2013-4343 類似。(CVE-2018-7191)

- 在 4.19.9 版之前的 Linux 核心中發現一個問題。USB 子系統在讀取額外的描述元期間,未正確處理大小檢查,這與 drivers/usb/core/usb.c 中的 __usb_get_extra_descriptor 有關。
(CVE-2018-20169)

- ** 有爭議 ** 在 Linux 核心 5.1.5 及之前版本中,drivers/gpu/drm/drm_edid_load.c 的 drm_load_edid_firmware 中發現一個問題。fwstr 中存在未經檢查的 kstrdup,攻擊者或可藉此造成拒絕服務 (NULL 指標解除參照和系統當機)。注意:kstrdup() 傳回 NULL 的過程得到充分處理,且不可能發生 NULL 指標解除參照,因此廠商認為此問題不是弱點。(CVE-2019-12382)

- 提交 a4176ec356c73a46c07c181c6d04039fafa34a9f 之前的 Broadcom brcmfmac WiFi 驅動程式容易遭受框架驗證繞過影響。如果 brcmfmac 驅動程式收到遠端來源的韌體事件框架,則 is_wlc_event_frame 函式將造成此框架遭到捨棄並不會得到處理。如果驅動程式收到來自主機的韌體事件框架,則會呼叫適當的處置程式。如果使用的匯流排為 USB (例如 wifi 硬體鎖),則可繞過此框架驗證。這可允許處理遠端來源的韌體事件框架。在最嚴重情況下,未經驗證的遠端攻擊者或可透過傳送特別建構的 WiFi 封包,在有弱點的系統上執行任意程式碼。
更常見的情況是,此弱點將導致拒絕服務情形。(CVE-2019-9503)

- 在 5.2.3 版之前的 Linux 核心中,drivers/block/floppy.c 中的 set_geometry 未驗證 sect 和 head 欄位,整數溢位和超出邊界讀取即為一例。插入磁碟片時,無權限的本機使用者可觸發此問題。注意:QEMU 會依預設建立磁碟片裝置。(CVE-2019-14283)

- 在 4.1.4 版之前 Linux 核心中,檢查 drivers/media/dvb-frontends/cx24116.c 中的使用者空間參數時會發生緩衝區溢位。根據使用者空間 API,DiSEqC 命令的大小上限為 6。但是,程式碼允許更大的值,例如 23。(CVE-2015-9289)

- 在 4.18.0 之前的核心 3.x.x 和核心 5.x.x 的 UART 藍牙實作中發現一個瑕疵。具有藍牙硬體本機存取權和寫入權限的攻擊者可利用此瑕疵發出特製的 ioctl 函式呼叫,並造成系統當機。
(CVE-2019-10207)

- 在 5.0.1 版之前的 Linux 核心中發現一個問題。net/core/net-sysfs.c 的 register_queue_kobjects() 中存在記憶體洩漏問題,可導致拒絕服務 (CVE-2019-15916)

- 在 5.1.7 版之前的 Linux 核心中,攻擊者可以使用核心針對無連線通訊協定 (例如 UDP 和 ICMP) 產生的 IP ID 值來追踪裝置。當此類流量傳送至多個目的地 IP 位址時,可能取得 (計數器陣列索引的) 雜湊衝突,進而取得雜湊金鑰 (透過列舉)。透過主控使用 WebRTC 或 gQUIC 的特製網頁來強制 UDP 流量傳送至攻擊者控制的 IP 位址,進而發動攻擊。(CVE-2019-10638)

- 在早於 5.1.9 的 Linux 核心的 arch/x86/lib/insn-eval.c 中,LDT 項目存取時發生釋放後使用錯誤,這是 modify_ldt() 與 MPX 邊界違規的 #BR 例外狀況之間存在爭用情形所致。(CVE-2019-13233)

- perf_event_open() 中存在爭用情形,本機攻擊者可藉此弱點透過 setuid 程式洩漏敏感資料。
由於在 ptrace_may_access() 呼叫時沒有控制相關鎖定 (尤其是 cred_guard_mutex),特定目標工作可能在 perf_event_alloc() 確實附加前執行帶有 setuid 執行的 execve() 系統呼叫,讓攻擊者可以繞過 ptrace_may_access() 檢查和在具有特殊權限的 execve() 呼叫時在 install_exec_creds() 中執行的 perf_event_exit_task (最新) 呼叫。此問題會影響 4.8 版之前的核心版本。(CVE-2019-3901)

在 5.2.17 版及之前版本的 Linux 核心中,在 net/wireless/nl80211.c 中發現一個問題。它不會檢查 beacon 標頭中的變數元素長度,進而導致緩衝區溢位。(CVE-2019-16746)

- 5.0.8 及之前版本的 Linux 核心 4.x (自 4.1 開始發佈) 和 5.x 存在資訊洩漏 (部分核心位址洩漏) 問題,進而導致 KASLR 繞過情形。具體而言,可以使用核心針對無連線通訊協定 (例如 UDP 和 ICMP) 產生的 IP ID 值,擷取 KASLR 核心影像位移。當此類流量傳送至多個目的地 IP 位址時,可能取得 (計數器陣列索引的) 雜湊衝突,進而取得雜湊金鑰 (透過列舉)。此金鑰包含來自 (靜態變數的) 核心位址的足夠位元,因此當擷取金鑰 (透過列舉) 時,會暴露核心影像的位移。此攻擊可從遠端執行,攻擊者可強制目標裝置傳送 UDP 或 ICMP (或特定其他) 流量至攻擊者控制的 IP 位址。如果伺服器為 DNS 伺服器,很輕易就可以強制伺服器傳送 UDP 流量。如果伺服器回應 ICMP Echo 要求 (ping),則 ICMP 流量將變得微不足道。針對用戶端目標,如果目標造訪攻擊者的網頁,則可使用 WebRTC 或 gQUIC 將 UDP 流量強制傳送至攻擊者控制的 IP 位址。注意:此針對 KASLR 的攻擊之所以在 4.1 版本中變得可行,是因為 IP ID 產生已變更為與網路命名空間相關的位址有相依性。(CVE-2019-10639)

- 在 powerpc 平台上的 Linux 核心 5.2.1 和之前所有版本中,停用硬體交易記憶體時,本機使用者可透過傳送特製訊號幀的 sigreturn() 系統呼叫造成拒絕服務 (TM Bad Thing 例外狀況和系統損毀)。此問題影響 arch/powerpc/kernel/signal_32.c 和 arch/powerpc/kernel/signal_64.c。(CVE-2019-13648)

- powerpc上 5.4.1 之前的 Linux 核心允許執行 Information Exposure,因為系統未針對所有適用的 CPU 執行 Spectre-RSB 緩解措施, 亦稱 CID-39e72bf96f58。這其實與 arch/powerpc/kernel/entry_64.S 和 arch/powerpc/kernel/security.c 有關。(CVE-2019-18660)

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

解決方案

更新受影響的套件。

另請參閱

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

Plugin 詳細資訊

嚴重性: Critical

ID: 180720

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

版本: 1.0

類型: local

代理程式: unix

已發布: 2023/9/7

已更新: 2023/9/7

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

風險資訊

VPR

風險因素: Medium

分數: 6.7

CVSS v2

風險因素: High

基本分數: 7.9

時間分數: 6.2

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

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

CVSS v3

風險因素: Critical

基本分數: 9.8

時間分數: 8.8

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

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

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

弱點資訊

CPE: cpe:/o:oracle:linux:7, p-cpe:/a:oracle:linux:bpftool, p-cpe:/a:oracle:linux:kernel, p-cpe:/a:oracle:linux:kernel-abi-whitelists, p-cpe:/a:oracle:linux:kernel-debug, p-cpe:/a:oracle:linux:kernel-debug-devel, p-cpe:/a:oracle:linux:kernel-devel, p-cpe:/a:oracle:linux:kernel-headers, p-cpe:/a:oracle:linux:kernel-tools, p-cpe:/a:oracle:linux:kernel-tools-libs, p-cpe:/a:oracle:linux:kernel-tools-libs-devel, p-cpe:/a:oracle:linux:perf, p-cpe:/a:oracle:linux:python-perf

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

可被惡意程式利用: true

可輕鬆利用: Exploits are available

修補程式發佈日期: 2020/4/6

弱點發布日期: 2016/4/25

參考資訊

CVE: CVE-2015-9289, CVE-2017-17807, CVE-2018-19985, CVE-2018-20169, CVE-2018-7191, CVE-2019-10207, CVE-2019-10638, CVE-2019-10639, CVE-2019-11190, CVE-2019-11884, CVE-2019-12382, CVE-2019-13233, CVE-2019-13648, CVE-2019-14283, CVE-2019-15916, CVE-2019-16746, CVE-2019-18660, CVE-2019-3901, CVE-2019-9503