Ubuntu 16.04 LTS:Linux 核心 (HWE) 弱點 (USN-3361-1)

critical Nessus Plugin ID 101929

概要

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

說明

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

- Linux 核心 3.x 的 VFS 子系統針對 setattr 作業提供了一組不完整的需求,其對移除延伸權限屬性的規定不足,本機使用者可藉此透過系統呼叫的失敗叫用來造成拒絕服務 (功能去除),使用 chown 從 ping 或 Wireshark dumpcap 程式中移除功能即為一例。(CVE-2015-1350)

在 4.9.8 版之前的 Linux 核心中,fs / ext4 / super.c 的 ext4_fill_super 函式未正確驗證中繼區塊群組,進而允許實際位置靠近的攻擊者透過以下方式引致拒絕服務:(超出邊界讀取和系統當機) 特製的 ext4 影像。(CVE-2016-10208)

- 核心元件 (包括 ION 子系統、Binder、USB 驅動程式和網路子系統) 中有一個資訊洩漏弱點,可讓本機惡意應用程式存取超出其權限層級的資料。我們將此問題評定為中等嚴重性,因為第一步就需要入侵有權限的處理程序。產品:Android。版本:核心-3.10、核心-3.18。Android ID:A-31651010。(CVE-2016-8405)

- 在 4.9.10 之前的 Linux 核心中,drivers/infiniband/sw/rxe/rxe_mr.c 的 mem_check_range 函式有整數溢位弱點,這可能會讓本機使用者造成拒絕服務 (記憶體損毀)、從核心記憶體取得敏感資訊,或可能擁有透過涉及 RDMA 通訊協定 infiniband (即 Soft RoCE) 技術的寫入或讀取要求,造成其他不明影響。(CVE-2016-8636)

- 在 4.8.11 及之前版本的 Linux 核心中,drivers/vfio/pci/vfio_pci.c 允許本機使用者利用 vfio PCI 裝置檔案的存取權發出 VFIO_DEVICE_SET_IRQS ioctl 呼叫,繞過整數溢位檢查,並引致拒絕服務 (記憶體損毀) 或造成其他不明影響,亦即狀態機器混淆錯誤。(CVE-2016-9083)

- 在 4.8.11 及之前版本的 Linux 核心中,drivers/vfio/pci/vfio_pci_intrs.c 會誤用 kzalloc 函式,進而允許本機使用者利用 vfio PCI 裝置檔案的存取權,引致拒絕服務 (整數溢位) 或造成其他不明影響。(CVE-2016-9084)

在 4.8.11 版之前的 Linux 核心中,cgroup 離線實作未正確處理某些排出作業,進而允許本機使用者利用容器環境的存取權來執行特製應用程式,進而引致拒絕服務 (系統懸置),trinity 即為一例。(CVE-2016-9191)

據發現,root 可取得直接存取內部 keyring 的權限,如 RHEL-7 或「.builtin_trusted_keys」上游中的「dns_resolver」,方法是將之作為其工作階段 keyring 加入。root 可藉此將自有 devising 的新公開金鑰新增到 keyring 中,進而繞過模組簽名驗證。(CVE-2016-9604)

- 在 4.9 之前的 Linux 核心中,netfilter 子系統未正確處理 IPv6 重組,其允許本機使用者透過特製的應用程式,造成拒絕服務 (整數溢位、超出邊界寫入和 GPF) 或可能會透過特製的應用程式 (該應用程式進行套接字、連接和 writev 系統調用) 產生未指定的其他影響。此弱點與 net/ipv6/netfilter/nf_conntrack_reasm.c 和 net/ipv6/netfilter/nf_defrag_ipv6_hooks.c 相關。
(CVE-2016-9755)

- 在 4.9.5 之前的 Linux 核心中,arch/x86/kvm/emulate.c 的 load_segment_descriptor 實作不會正確模擬 MOV SS, NULL 選取器指令,進而允許來賓 OS 使用者透過特製應用程式引致拒絕服務 (來賓 OS 當機) 或取得來賓 OS 權限。(CVE-2017-2583)

- 在 4.9.3 及之前版本的 Linux 核心中,arch/x86/kvm/emulate.c 允許本機使用者透過利用 fxrstor、fxsave、sgdt 和 sidt 指令模擬的特製應用程式,來從核心記憶體取得敏感資訊,或造成拒絕服務 (釋放後使用)。(CVE-2017-2584)

- 在 4.9.8 之前的 Linux 核心中,arch/x86/kvm/vmx.c 的 nested_vmx_check_vmptr 函式未正確模擬 VMXON 指令,進而允許 KVM L1 來賓 OS 使用者利用不當處理頁面參照,引致拒絕服務 (主機 OS 記憶體消耗)。 (CVE-2017-2596)

4.9.10 之前的 Linux 核心處理清除 /proc/pid/attr 檔案內 SELinux 屬性的方式中,發現一個缺陷。對此檔案執行的空 (null) 寫入動作會使系統當機:這是因為系統會因此嘗試存取未對應的核心記憶體。(CVE-2017-2618)

- 在 4.10.8 及之前版本的 Linux 核心中,net/ipv4/ping.c 的 ping_unhash 函式取得特定鎖定為時已晚,因而無法確保中斷連線函式呼叫的安全,進而允許本機使用者利用通訊端系統呼叫中 IPPROTO_ICMP 的通訊協定值存取權,引致拒絕服務 (錯誤)。(CVE-2017-2671)

- 在 Linux 核心 4.8.x 和 4.9.5 之前的 4.9.x 中,mm/slab.c 的 freelist-randomization 功能允許本機使用者造成拒絕服務 (重複的可用清單項目和系統當機),或透過利用隨機數的大值的選擇,可能有機會產生其他不明影響。(CVE-2017-5546)

- 在 4.9.5 版之前的 Linux 核心中,drivers/usb/serial/kl5kusb105.c 的 klsi_105_get_line_state 函式會在無法讀取行狀態時,將未初始化的堆積記憶體內容放入記錄項目,進而允許本機使用者透過讀取記錄。(CVE-2017-5549)

- 在 4.9.5 版之前的 Linux 核心中,lib/iov_iter.c 的 pipe_advance 函式有差一錯誤,本機使用者有機會藉此在錯誤的緩衝區釋放決策後,透過從管道讀取來從未初始化的堆積記憶體位置取得敏感資訊。(CVE-2017-5550)

- 在 4.9.6 之前的 Linux 核心中,fs/posix_acl.c 的 simple_set_acl 函式會在涉及 tmpfs 檔案系統的 setxattr 呼叫時保留 setgid 位元,本機使用者可充分利用既有的 setgid 程式和執行權限限制獲得群組權限。注意:此弱點是 CVE-2016-7097 的修正不完整所致。(CVE-2017-5551)

- 在 4.9.7 版之前的 Linux 核心中,VideoCore DRM 驅動程式之 drivers/gpu/drm/vc4/vc4_gem.c 的 vc4_get_bcl 函式中存在整數溢位弱點,其允許本機使用者造成拒絕服務,或可能會透過 VC4_SUBMIT_CL ioctl 呼叫中特製的大小值造成其他不明影響。(CVE-2017-5576)

在 do_shmat 功能 IPC / shm.c 在 Linux 內核中通過 4.9.12 不限制按一定的舍入操作,這允許本地用戶映射零頁,並且因此旁路存在的 MMAP 系統保護機制計算出的地址在有權限的內容中進行特製的 shmget 和 shmat 系統呼叫。(CVE-2017-5669)

在 Linux 核心中,net/ipv6/ip6_gre.c 的 ip6gre_err 函式允許遠端攻擊者透過涉及 IPv6 封包中 GRE 旗標的向量造成不明影響,進而觸發超出邊界存取。(CVE-2017-5897)

在 4.9.9 之前的 Linux 核心中,net/ipv4/ip_sockglue.c 所用的 ipv4_pktinfo_prepare 函式允許攻擊者透過 (1) 進行特製系統呼叫的應用程式,也可能透過 (2) IP 選項無效的 IPv4 傳輸,造成拒絕服務 (系統當機)。(CVE-2017-5970)

在 4.9.7 版之前的 Linux 核心中,kernel/events/core.c 內有爭用情形,本機使用者因而得以透過特製的應用程式獲得權限,此特製應用程式會發出同步的 perf_event_open 系統呼叫,將軟體群組移入硬體內容中。注意:此弱點是 CVE-2016-6786 的修正不完整所致。(CVE-2017-6001)

- 在 4.9.11 之前的 Linux 核心中,net/ipv4/tcp.c 所用的 tcp_splice_read 函式允許遠端攻擊者透過具 URG 旗標之 TCP 封包的向量,造成拒絕服務 (無限迴圈和軟式鎖定)。(CVE-2017-6214)

- 在 4.9.13 之前的 Linux 核心中,LLC 子系統並未確保必要情況下存在特定解構函式,進而允許本機使用者透過特製的系統呼叫,引致拒絕服務 (BUG_ON) 或可能造成其他不明影響。(CVE-2017-6345)

- 在 4.9.13 之前的 Linux 核心中,net/packet/af_packet.c 內出現爭用情形,此情形允許本機使用者透過發出 PACKET_FANOUT setsockopt 系統呼叫的多執行緒應用程式,造成拒絕服務 (釋放後使用),也可能造成其他不明影響。(CVE-2017-6346)

- 在 4.10.1 之前的 Linux 核心中,net / ipv4 / ip_sockglue.c 的 ip_cmsg_recv_checksum 函式對skb資料配置的預期不正確,進而允許本機使用者透過特製系統呼叫,引致拒絕服務 (緩衝區過度讀取),或可能造成其他不明影響;搭配使用回送 UDP 傳輸和 MSG_MORE 旗標即為一例。(CVE-2017-6347)

- 在 4.9.13 之前的 Linux 核心中,net/irda/irqueue.c 的 hashbin_delete 函式未正確管理鎖定放置,進而允許本機使用者透過 IrDA 裝置上的特製作業,造成拒絕服務 (鎖死)。(CVE-2017-6348)

在 4.10.4 及之前版本的 Linux 核心中,drivers/scsi/sg.c 的 sg_ioctl 函式可讓本機使用者透過 SG_NEXT_CMD_LEN ioctl 呼叫中的大型命令大小,引致拒絕服務 (堆疊型緩衝區溢位) 或可能造成其他不明影響,進而導致 sg_write 函式中的超出邊界寫入存取。(CVE-2017-7187)

- 在 4.10.5 及之前版本的 Linux 核心中,drivers/gpu/drm/vmwgfx/vmwgfx_surface.c 的 vmw_surface_define_ioctl 函式不會檢查特定層級資料的零值,進而允許本機使用者透過 /dev/dri/renderD* 裝置的特製 ioctl 呼叫,引致拒絕服務 (ZERO_SIZE_PTR 解除參照、 GPF 和可能發生錯誤)。(CVE-2017-7261)

在 4.9.4 之前的 Linux 核心 3.2 和 4.x 中,drivers/hid/hid-cypress.c 所用的 cp_report_fixup 函式允許實際位置靠近的攻擊者透過特製的 HID 報告造成拒絕服務 (整數反向溢位),也可能造成其他不明影響。(CVE-2017-7273)

在 4.10.13 版之前的 Linux 核心中,KEYS 子系統允許本機使用者透過一系列 KEY_REQKEY_DEFL_THREAD_KEYRING keyctl_set_reqkey_keyring 呼叫,引致拒絕服務 (記憶體消耗)。
(CVE-2017-7472)

在 4.10.9 及之前版本的 Linux 核心中,「mm/mempolicy.c」的 set_mempolicy 和 mbind compat syscalls 中,不正確的錯誤處理允許本機使用者透過觸發特定點陣圖作業失敗,從未初始化的堆疊資料取得敏感資訊。(CVE-2017-7616)

4.10.9 及之前版本的 Linux 核心的 crypto/ahash.c 可讓攻擊者透過在已滿佇列上觸發 EBUSY,引致拒絕服務 (呼叫自身回呼的 API 作業和無限遞迴)。
(CVE-2017-7618)

在 4.10.11 之前的 Linux 核心中,nfsd 子系統的 NFSv2/NFSv3 伺服器允許遠端攻擊者透過長 RPC 回覆,引致拒絕服務 (系統當機);此問題與 net/sunrpc/svc.c、fs/nfsd/nfs3xdr.c 和 fs/nfsd/nfsxdr.c 相關。(CVE-2017-7645)

在 3.2 之前的 Linux 核心中,mm 子系統未正確強制執行 CONFIG_STRICT_DEVMEM 保護機制,因而允許本機使用者透過開啟 /dev/mem 檔案 (與 arch/x86/mm/init.c 和 drivers/char/mem.c 有關) 的應用程式來讀取或寫入第一個位元組的核心記憶體位置 (且繞過 slab 配置存取限制)。(CVE-2017-7889)

在 4.10.13 及之前版本的 Linux 核心中,NFSv2 和 NFSv3 伺服器實作缺少對緩衝區結尾的特定檢查,這會讓遠端攻擊者透過特製要求觸髮指標算術錯誤,或可能造成其他不明影響;此問題與 fs/nfsd/nfs3xdr.c 和 fs/nfsd/nfsxdr.c 相關。
(CVE-2017-7895)

- 在 Linux 核心 4.10.4 之前版本中,drivers/usb/serial/io_ti.c 的 edge_bulk_in_callback 函式讓本機使用者可以透過使用特製的 USB 裝置 (偽裝為 io_ti USB 系列裝置) 來觸發整數反向溢位,從而自未初始化的核心記憶體取得敏感資訊 (在 dmesg ringbuffer 和 syslog 中)。(CVE-2017-8924)

- 在 Linux 核心 4.10.4 之前版本中,drivers/usb/serial/omninet.c 的 omninet_open 函式讓本機使用者可以利用參照計數處理不當弱點造成拒絕服務 (tty 耗盡)。
(CVE-2017-8925)

- 在 4.11.1 版之前的 Linux 核心中,kernel/bpf/verifier.c 的 do_check 函式未使 allow_ptr_leaks 值可用於限制 print_bpf_insn 函式的輸出,進而允許本機使用者透過特製的 bpf 系統呼叫取得敏感位址資訊。(CVE-2017-9150)

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

解決方案

更新受影響的 kernel 套件。

另請參閱

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

Plugin 詳細資訊

嚴重性: Critical

ID: 101929

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

版本: 3.9

類型: local

代理程式: unix

已發布: 2017/7/24

已更新: 2024/1/9

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

風險資訊

VPR

風險因素: Medium

分數: 6.7

CVSS v2

風險因素: Critical

基本分數: 10

時間分數: 7.8

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

CVSS 評分資料來源: CVE-2017-7895

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

弱點資訊

CPE: p-cpe:/a:canonical:ubuntu_linux:linux-image-4.10.0-27-generic, p-cpe:/a:canonical:ubuntu_linux:linux-image-4.10.0-27-generic-lpae, p-cpe:/a:canonical:ubuntu_linux:linux-image-4.10.0-27-lowlatency, cpe:/o:canonical:ubuntu_linux:16.04:-:lts

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

可被惡意程式利用: true

可輕鬆利用: Exploits are available

修補程式發佈日期: 2017/7/21

弱點發布日期: 2016/5/2

參考資訊

CVE: CVE-2015-1350, CVE-2016-10208, CVE-2016-8405, CVE-2016-8636, CVE-2016-9083, CVE-2016-9084, CVE-2016-9191, CVE-2016-9604, CVE-2016-9755, CVE-2017-2583, CVE-2017-2584, CVE-2017-2596, CVE-2017-2618, CVE-2017-2671, CVE-2017-5546, CVE-2017-5549, CVE-2017-5550, CVE-2017-5551, CVE-2017-5576, CVE-2017-5669, CVE-2017-5897, CVE-2017-5970, CVE-2017-6001, CVE-2017-6214, CVE-2017-6345, CVE-2017-6346, CVE-2017-6347, CVE-2017-6348, CVE-2017-7187, CVE-2017-7261, CVE-2017-7273, CVE-2017-7472, CVE-2017-7616, CVE-2017-7618, CVE-2017-7645, CVE-2017-7889, CVE-2017-7895, CVE-2017-8924, CVE-2017-8925, CVE-2017-9150

USN: 3361-1