Ubuntu 16.04 LTS / 18.04 LTS:Linux 核心弱點 (USN-4115-1)

critical Nessus Plugin ID 128475

概要

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

說明

遠端 Ubuntu 16.04 LTS/18.04 LTS 主機上安裝的一個套件受到 USN-4115-1 公告中所提及的多個弱點影響。

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

- 在 4.20.2 之前的 Linux 核心中,kernel/sched/fair.c 不會正確處理 leaf cfs_rq's,進而允許攻擊者透過引發高負載,引致拒絕服務 (在 update_blocked_averages 中進入無限迴圈),或可能造成其他不明影響。(CVE-2018-20784)

- 21.10 之前的 Intel(R) PROSet/Wireless WiFi Software 驅動程式中的存取控制不充分,進而可能允許未經驗證的使用者透過相鄰存取啟用拒絕服務。(CVE-2019-0136)

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

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

- 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)

- 5.1-rc5 之前的 Linux 核心允許 page->_refcount 參照計數溢位,若存在約 140 GiB 的 RAM,則會產生釋放後使用問題。這與 fs/fuse/dev.c、fs/pipe.c, fs/splice.c、include/linux/mm.h、include/linux/pipe_fs_i.h、kernel/trace/trace.c、mm/gup.c 和 mm/hugetlb.c 有關。FUSE 要求會發生此問題。(CVE-2019-11487)

- 在 5.0.10 之前的 Linux 核心中,coredump 實作未在執行時使用鎖定或其他機制來防止 vma 版面配置或 vma 旗幟變更,本機使用者可藉此觸發 mmget_not_zero 或 get_task_mm 呼叫的競爭條件,進而獲得敏感資訊、造成拒絕服務,甚或可能造成其他不明影響。此弱點與 fs/userfaultfd.c、 mm/mmap.c、fs/proc/task_mmu.c 和 drivers/infiniband/core/uverbs_main.c 有關。(CVE-2019-11599)

- 在 5.0.7 版之前的 Linux 核心中發現一個問題。當 drivers/scsi/megaraid/megaraid_sas_base.c 中 megasas_alloc_cmds() 的 megasas_create_frame_pool() 故障時,會發生 NULL 指標解除參照的情形。
這樣會造成拒絕服務,與釋放後使用相關。(CVE-2019-11810)

- 在 5.2.1 及之前版本的 Linux 核心的 drivers/input/tablet/gtco.c 的 parse_hid_report_descriptor 中,惡意 USB 裝置可傳送 HID 報告,同時在產生除錯訊息時觸發超出邊界寫入。(CVE-2019-13631)

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

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

- 在 5.2.3 版之前的 Linux 核心中,drivers/block/floppy.c 允許透過 setup_format_params 除以零來引致拒絕服務。連續出現兩個可觸發錯誤的 ioctl:首先,應使用 .sect 和 .rate 值設定磁碟機幾何,使 F_SECT_PER_TRACK 為零。接著,應呼叫磁碟片格式作業。插入磁碟片時,無權限的本機使用者不可觸發此問題。注意:QEMU 會依預設建立磁碟片裝置。(CVE-2019-14284)

- 在 4.16.4 之前的 Linux 核心中,drivers/usb/dwc3/gadget.c 的雙重鎖定錯誤可能造成 f_hid 鎖死。(CVE-2019-14763)

- 在 Linux 核心 5.1.12 之前版本的 drivers/scsi/qedi/qedi_dbg.c 中發現一個問題。qedi_dbg_* 系列函式中存在超出邊界讀取問題。(CVE-2019-15090)

- 在 5.2.6 版之前的 Linux 核心中發現一個問題。由於 drivers/media/radio/radio-raremono.c 未正確配置記憶體,drivers/media/v4l2-core/v4l2-dev.c 驅動程式中存在惡意 USB 裝置造成的釋放後使用情形。(CVE-2019-15211)

- 在 5.1.8 版之前的 Linux 核心中發現一個問題。惡意 USB 裝置可在 drivers/usb/misc/rio500.c 驅動程式中造成重複釋放。(CVE-2019-15212)

- 在 5.0.10 版之前的 Linux 核心中發現一個問題。音效子系統中存在釋放後使用情形,這是因為卡斷線造成某些資料結構過早刪除所致。這與 sound/core/init.c 和 sound/core/info.c 有關。(CVE-2019-15214)

- 在 5.2.6 版之前的 Linux 核心中發現一個問題。drivers/media/usb/cpia2/cpia2_usb.c 驅動程式中存在因惡意 USB 裝置造成的釋放後使用。(CVE-2019-15215)

- 在 5.0.14 版之前的 Linux 核心中發現一個問題。在 drivers/usb/misc/yurex.c 驅動程式中,存在一個由惡意 USB 裝置造成的 NULL 指標解除參照問題。(CVE-2019-15216)

- 在 5.1.8 版之前的 Linux 核心中發現一個問題。在 drivers/media/usb/siano/smsusb.c driver 驅動程式中,有一個惡意 USB 裝置造成的 NULL 指標解除參照問題。 (CVE-2019-15218)

- 在 5.2.1 版之前的 Linux 核心中發現一個問題。drivers/net/wireless/intersil/p54/p54usb.c 驅動程式中存在由惡意 USB 裝置造成的釋放後使用情形。(CVE-2019-15220)

- 在 5.1.17 版之前的 Linux 核心中發現一個問題。在 sound/usb/line6/pcm.c 驅動程式中,有一個惡意 USB 裝置造成的 NULL 指標解除參照問題。 (CVE-2019-15221)

- 在 5.0.9 版之前的 Linux 核心中發現一個問題。atalk_proc_exit 中有一個釋放後使用問題,其與 net/appletalk/atalk_proc.c、net/appletalk/ddp.c 和 net/appletalk/sysctl_net_atalk.c 有關。
(CVE-2019-15292)

- 在到 Linux 核心 4.19.13 為止的所有版本中,在 net/can/gw.c 內的 can_can_gw_rcv 發現一個問題。CAN 框架修改規則使得亦可適用於 can_dlc 欄位的位元邏輯運算得以執行。
具有 CAP_NET_ADMIN 權限的有權限使用者 root 可建立 CAN 框架修改規則,使資料長度程式碼的值高於可用的 CAN 框架資料大小。結合已設定的 checksum 計算,其中相對於資料結尾 (例如 cgw_csum_xor_rel) 和 skb 結尾 (例如 skb_shared_info 中的frag_list指標) 的結果可能會遭到覆寫,最終導致系統當機。因為遺漏檢查,CAN 驅動程式在處理 can-gw 操控輸出框架時,可能會寫入 CAN 控制器之 I/O 記憶體中登錄資料以外的任意內容。
(CVE-2019-3701)

發現在 Linux 核心中 drivers/hid/hid-debug.c 檔案內的 hid_debug_events_read() 函式存在一個缺陷,其可能會進入含有從使用者空間傳來之特定參數的無限迴圈。有權限的本機使用者 (root) 可造成系統鎖定及拒絕服務。v4.18 和更新版本容易受到影響。(CVE-2019-3819)

- 據發現,在 v5.1-rc6 及之前的 Linux 核心中,處理 handle_rx() 中的傳入封包時,在 vhost_net 核心模組中存在無限迴圈問題。若一端傳送封包的速度比另一端處理封包的速度還快,就可能發生此問題。客體使用者 (可能是遠端使用者) 可利用此缺陷停止 vhost_net 核心執行緒,進而導致 DoS 狀況。(CVE-2019-3900)

- 5.1 版及其之前的所有 Bluetooth BR/EDR 規格允許極低的加密金鑰長度,且無法防範攻擊者影響金鑰長度交涉。這種情況允許有心人士發動暴力密碼破解攻擊 (即 KNOB),進而在受害者不知情的情況下,將流量解密並插入任意加密文字。(CVE-2019-9506)

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

解決方案

更新受影響的 kernel 套件。

另請參閱

https://ubuntu.com/security/notices/USN-4115-1

Plugin 詳細資訊

嚴重性: Critical

ID: 128475

檔案名稱: ubuntu_USN-4115-1.nasl

版本: 1.9

類型: local

代理程式: unix

已發布: 2019/9/3

已更新: 2024/1/9

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

風險資訊

VPR

風險因素: Medium

分數: 6.7

CVSS v2

風險因素: Critical

基本分數: 10

時間分數: 8.3

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

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

CVSS v3

風險因素: Critical

基本分數: 9.8

時間分數: 9.1

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

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

CVSS 評分資料來源: CVE-2018-20784

弱點資訊

CPE: p-cpe:/a:canonical:ubuntu_linux:linux-image-4.15.0-1022-oracle, p-cpe:/a:canonical:ubuntu_linux:linux-image-4.15.0-1041-gcp, p-cpe:/a:canonical:ubuntu_linux:linux-image-4.15.0-1041-gke, p-cpe:/a:canonical:ubuntu_linux:linux-image-4.15.0-1043-kvm, p-cpe:/a:canonical:ubuntu_linux:linux-image-4.15.0-1044-raspi2, p-cpe:/a:canonical:ubuntu_linux:linux-image-4.15.0-1056-azure, p-cpe:/a:canonical:ubuntu_linux:linux-image-4.15.0-60-generic, p-cpe:/a:canonical:ubuntu_linux:linux-image-4.15.0-60-generic-lpae, p-cpe:/a:canonical:ubuntu_linux:linux-image-4.15.0-60-lowlatency, cpe:/o:canonical:ubuntu_linux:16.04:-:lts, cpe:/o:canonical:ubuntu_linux:18.04:-:lts

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

可被惡意程式利用: true

可輕鬆利用: Exploits are available

修補程式發佈日期: 2019/9/2

弱點發布日期: 2019/1/3

參考資訊

CVE: CVE-2018-19985, CVE-2018-20784, CVE-2019-0136, CVE-2019-10207, CVE-2019-10638, CVE-2019-10639, CVE-2019-11487, CVE-2019-11599, CVE-2019-11810, CVE-2019-13631, CVE-2019-13648, CVE-2019-14283, CVE-2019-14284, CVE-2019-14763, CVE-2019-15090, CVE-2019-15211, CVE-2019-15212, CVE-2019-15214, CVE-2019-15215, CVE-2019-15216, CVE-2019-15218, CVE-2019-15220, CVE-2019-15221, CVE-2019-15292, CVE-2019-3701, CVE-2019-3819, CVE-2019-3900, CVE-2019-9506

USN: 4115-1