Ubuntu 14.04 LTS:Linux 核心弱點 (USN-3754-1)

critical Nessus Plugin ID 112113

概要

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

說明

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

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

- 在 Linux 核心 4.12 之前版本中,drivers/acpi/acpica/nsutils.c 的 acpi_ns_terminate() 函式未排清運算元快取並會造成核心堆疊轉儲存,這讓本機使用者可以透過特製的 ACPI 表格,從核心記憶體取得敏感資訊並繞過 KASLR 保護機制 (在 4.9 及更早版本的核心中)。(CVE-2017-11472)

在 Linux 核心 3.2 及之前版本的 arch/x86/kernel/acpi/boot.c 中,mp_override_legacy_irq() 函式內的緩衝區溢位可讓本機使用者透過特製的 ACPI 表格取得權限。(CVE-2017-11473)

- 在 4.13.4 之前的 Linux 核心中,drivers/scsi/sg.c 的 sg_ioctl() 函式可讓本機使用者透過對「/dev/sg0」的 SG_GET_REQUEST_TABLE ioctl 呼叫,從未初始化的核心堆積記憶體位置取得敏感資訊。(CVE-2017-14991)

在 4.13.6 版之前的 Linux 核心中,「net/packet/af_packet.c」中的 fanout_add() 允許本機使用者透過會觸發 packet_fanout 資料結構不當處理的特製系統呼叫來取得權限,這是因為發生了會導致釋放後使用錯誤的爭用情形 (與 fanout_add 和 packet_do_bind 有關);此弱點不同於 CVE-2017-6346。(CVE-2017-15649)

- 在 4.13.6 之前的 Linux 核心中,drivers/uwb/uwbd.c 可讓本機使用者透過特製的 USB 裝置,引致拒絕服務 (一般保護錯誤和系統當機),或可能造成其他不明影響。(CVE-2017-16526)

在 Linux 核心 4.13.8 之前版本中,sound/usb/mixer.c 讓本機使用者可以透過特製的 USB 裝置,引致拒絕服務 (snd_usb_mixer_interrupt 釋放後使用和系統當機),或可能造成其他不明影響。(CVE-2017-16527)

- 在 Linux 核心 4.13.6 之前版本中,sound/usb/card.c 中的 snd_usb_create_streams 函式可讓本機使用者透過特製的 USB 裝置,造成拒絕服務 (超出邊界讀取和系統當機),或可能造成其他不明影響。(CVE-2017-16529)

- 在 4.13.6 之前的 Linux 核心中,drivers/usb/core/config.c 可讓本機使用者透過特製的 USB 裝置,引致拒絕服務 (超出邊界讀取和系統當機),或可能造成其他不明影響;這其實與 USB_DT_INTERFACE_ASSOCIATION 描述符號有關。(CVE-2017-16531)

- 在 Linux 核心 4.13.11 及之前版本中,drivers/usb/misc/usbtest.c 的 get_endpoints 函式可讓本機使用者透過特製的 USB 裝置,引致拒絕服務 (NULL 指標解除參照和系統當機),或可能造成其他不明影響。(CVE-2017-16532)

- 在 4.13.8 之前的 Linux 核心中,drivers/hid/usbhid/hid-core.c 中的 usbhid_parse 函式可讓本機使用者透過特製的 USB 裝置,引致拒絕服務 (超出邊界讀取和系統當機),或可能造成其他不明影響。(CVE-2017-16533)

- 在 Linux 核心 4.13.10 之前版本中,drivers/usb/core/config.c 中的 usb_get_bos_descriptor 函式可讓本機使用者透過特製的 USB 裝置,引致拒絕服務 (超出邊界讀取和系統當機),或可能造成其他不明影響。(CVE-2017-16535)

- 在 Linux 核心 4.13.11 及之前版本中,drivers/media/usb/cx231xx/cx231xx-cards.c 中的 cx231xx_usb_probe 函式可讓本機使用者透過特製的 USB 裝置,引致拒絕服務 (NULL 指標解除參照和系統當機),或可能造成其他不明影響。(CVE-2017-16536)

- 在 Linux 核心 4.13.11 及之前版本中,drivers/media/rc/imon.c 中的 imon_probe 函式可讓本機使用者透過特製的 USB 裝置,引致拒絕服務 (NULL 指標解除參照和系統當機),或可能造成其他不明影響。(CVE-2017-16537)

- 在 4.13.11 及之前版本的 Linux 核心中,drivers/media/usb/dvb-usb-v2/lmedm04.c 允許本機使用者透過特製的 USB 裝置,引致拒絕服務 (一般保護錯誤和系統當機) 或可能造成其他不明影響,這其實與遺漏的熱啟動檢查和錯誤的附加定時有關 (dm04_lme2510_frontend_attach 與 dm04_lme2510_tuner)。(CVE-2017-16538)

- 在 Linux 核心 4.13.11 之前版本中,drivers/input/tablet/gtco.c 中的 parse_hid_report_descriptor 函式可讓本機使用者透過特製的 USB 裝置,引致拒絕服務 (超出邊界讀取和系統當機),或可能造成其他不明影響。(CVE-2017-16643)

- 在 Linux 核心 4.13.11 及之前版本中,drivers/media/usb/hdpvr/hdpvr-core.c 中的 hdpvr_probe 函式可允許本機使用者透過建構的 USB 裝置造成拒絕服務 (不當錯誤處理和系統當機),或可能造成其他不明影響。(CVE-2017-16644)

- 在 Linux 核心 4.13.11 及之前版本中,drivers/input/misc/ims-pcu.c 中的 ims_pcu_get_cdc_union_desc 函式可讓本機使用者透過特製的 USB 裝置,造成拒絕服務 (ims_pcu_parse_cdc_data 超出邊界讀取和系統當機),或可能造成其他不明影響。(CVE-2017-16645)

- 在 Linux 核心 4.13.11 及之前版本中,drivers/net/usb/qmi_wwan.c 中的 qmi_wwan_bind 函式可讓本機使用者透過特製的 USB 裝置,引致拒絕服務 (除以零錯誤和系統當機),或可能造成其他不明影響。(CVE-2017-16650)

- 在 Linux 核心 4.14.8 之前版本和 4.4.114 版中,vhci_hcd 驅動程式允許本機攻擊者洩漏核心記憶體位址。如要成功利用此弱點,需要透過 IP 附加 USB 裝置。
(CVE-2017-16911)

- 在 Linux 核心 4.14.8 之前版本、4.9.71 和 4.4.114 版中,get_pipe() 函式 (drivers/usb/usbip/stub_rx.c) 允許攻擊者透過特製的 USB over IP 封包來造成拒絕服務 (超出邊界讀取)。(CVE-2017-16912)

- 在 Linux 核心 4.14.8 之前版本、4.9.71 和 4.4.114 版中,stub_recv_cmd_submit() 函式 (drivers/usb/usbip/stub_rx.c) 在處理 CMD_SUBMIT 封包時,允許攻擊者透過特製的 USB over IP 封包來造成拒絕服務 (任意記憶體分配)。(CVE-2017-16913)

- 在 Linux 核心 4.14.8 之前版本、4.9.71、4.1.49 和 4.4.107 版中,stub_send_ret_submit() 函式 (drivers/usb/usbip/stub_tx.c) 允許攻擊者透過特製的 USB over IP 封包來造成拒絕服務 (NULL 指標解除參照)。(CVE-2017-16914)

在 4.14.5 Linux 核心中,USB 核心子系統中「drivers/usb/core/config.c」的 usb_destroy_configuration() 函式未先考量組態和介面的最大數,便嘗試釋出資源,這會允許本機使用者透過特製 USB 裝置,引致拒絕服務(超出邊界存取)或可能造成其他不明影響。(CVE-2017-17558)

- 在 Linux 核心 4.11 之前版本中,kernel/events/core.c 的 perf_cpu_time_max_percent_handler 函式允許本機使用者透過大值造成拒絕服務 (整數溢位),或可能造成其他不明影響,錯誤的 sample-rate 計算結果即為一例。(CVE-2017-18255)

- 在 Linux 4.13.5 及之前版本中,本機使用者可透過 keyctl 命令為其他使用者建立 keyring,設定不需要的預設值或造成拒絕服務。(CVE-2017-18270)

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

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

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

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

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

模擬系統呼叫指示時,4.12 之前的 Linux 核心的 KVM 模組在 EFLAGS 中處理陷阱旗標 (TF) 的方式中發現一個缺陷,這導致客體堆疊中發生除錯例外狀況 (#DB)。客體中的使用者/處理程序可利用此缺陷提升其在客體內的權限。Linux 客體不受此弱點影響。(CVE-2017-7518)

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

在 4.11.5 版及之前版本的 Linux 核心中,drivers/media/pci/saa7164/saa7164-bus.c 中的 saa7164_bus_get 函式可讓本機使用者透過變更特定的序號值來造成拒絕服務 (超出邊界陣列存取),或可能造成其他不明影響,亦即「雙重擷取」弱點。
(CVE-2017-8831)

- 在 Linux 核心 4.11.7 及其之前版本中,sound/isa/msnd/msnd_pinnacle.c 中的 snd_msnd_interrupt 函式允許本機使用者透過在核心兩次讀取的訊息佇列 head 指標值之間變更此值,來造成拒絕服務 (越界存取) 或可能造成其他不明影響 ,即「雙重擷取」弱點。(CVE-2017-9984)

- 在 Linux 核心 4.11.7 及其之前版本中,sound/isa/msnd/msnd_midi.c 中的 snd_msndmidi_input_read 函式允許本機使用者透過在核心兩次讀取的訊息佇列 head 指標值之間變更此值,來造成拒絕服務 (越界存取) 或可能造成其他不明影響 ,即「雙重擷取」弱點。(CVE-2017-9985)

- Linux 核心 3.18 至 4.16 版本不會使用 dxfer_direction=SG_DXFER_FROM_DEV 和空位元 cmdp 正確處理 /dev/sg0 上的 SG_IO ioctl。這可導致最多將 1000 個核心堆積頁面複製到使用者空間。此問題已在 https://github.com/torvalds/linux/commit/a45b599ad808c3c982fdcdc12b0b8611c2f92824 上游修正。此問題的範圍有限,因為使用者通常沒有存取 SCSI 裝置的權限。反之,例如 Nero 使用者手冊建議執行 `chmod o+r+w /dev/sg*`,以使裝置可供存取。注意:第三方對此報告的相關性存有疑慮,指出攻擊者必須具備 CAP_SYS_ADMIN 和 CAP_SYS_RAWIO 功能才能利用此問題,而這基本不可能。(CVE-2018-1000204)

- 在 4.16 之前的 Linux 核心中,drivers/scsi/libsas/sas_scsi_host.c 允許本機使用者藉由觸發特定失敗情形來導致拒絕服務 (ata qc 洩漏)。注意:第三方對此報告的相關性存有爭議,因為只有在靠近 SAS Host Bus Adapter 纜線的情況下,實際位置靠近的攻擊者才會遭遇失敗。(CVE-2018-10021)

- 在 4.13 之前的 Linux 核心中,當使用不明架構和編譯器時,kernel/wait.c 中的 kernel_wait4 函式可能會允許本機使用者觸發嘗試使用 -INT_MIN 值,進而引致拒絕服務。(CVE-2018-10087)

- 在 4.13 之前的 Linux 核心中,當使用不明架構和編譯器時,kernel/wait.c 中的 kernel_wait4 函式可能會允許本機使用者透過使用 -INT_MIN 引數,進而引致拒絕服務。(CVE-2018-10124)

- 在 Linux 核心 4.16.3 及之前版本中,fs/xfs/libxfs/xfs_bmap.c 的 xfs_bmap_extents_to_btree 函式允許本機使用者透過特製的 xfs 影像,造成拒絕服務 (xfs_bmapi_write NULL 指標解除參照) 。(CVE-2018-10323)

在 Linux 核心 4.12.9 的 mm/mempolicy.c 中,do_get_mempolicy() 函式可讓本機使用者透過特製的系統呼叫,命中釋放後使用錯誤,因此造成拒絕服務 (DoS) 或者可能造成其他不明影響。(CVE-2018-10675)

- Linux 核心 ext4 檔案系統在特製的 ext4 檔案系統影像上作業時,容易受到 ext4_ext_drop_refs() 函式中的超出邊界存取影響。(CVE-2018-10877)

在 Linux 核心的 ext4 檔案系統中發現一個缺陷。本機使用者可藉由掛接特製的 ext4 檔案系統映像並在該系統上操作,造成 ext4_get_group_info 函式中發生超出邊界寫入、拒絕服務和系統當機。(CVE-2018-10881)

在 4.15.15 及更早版本的 Linux 核心中,fs/ext4/inode.c 的 ext4_iget 函式會以不當方式處理含 zero i_links_count 的 Root 目錄,這允許攻擊者透過特製 ext4 影像引致拒絕服務 (ext4_process_freed_data NULL 指標解除參照和 OOPS)。(CVE-2018-1092)

- 在 Linux 核心 4.15.15 及之前版本中,fs/ext4/balloc.c 的 ext4_valid_block_bitmap 函式可以讓攻擊者透過特製的 ext4 影像引致拒絕服務 (超出邊界讀取和系統當機),其原因在於 balloc.c 和 ialloc 不會驗證點陣圖區塊編號。(CVE-2018-1093)

- 在 4.16.6 之前的 Linux 核心中,drivers/cdrom/cdrom.c 的 cdrom_ioctl_media_changed 函式允許本機攻擊者在 CDROM 驅動程式 CDROM_MEDIA_CHANGED ioctl 中使用錯誤的邊界檢查,藉此讀取核心記憶體。(CVE-2018-10940)

- 在 Linux 核心 4.17.1 及其之前版本中,在 fs/jfs/xattr.c 的 ea_get 函式中, 如果針對相同檔案呼叫兩次具有兩個不同延伸屬性名稱的 setxattr,即可觸發 JFS 中的記憶體損毀錯誤。能夠建立檔案並執行程式的無權限使用者可觸發此弱點。kmalloc 呼叫不正確,進而導致 jfs_xattr 中發生 slab 超出邊界問題。
(CVE-2018-12233)

- 在 Linux 核心 4.17.3 及之前版本的 fs/xfs/libxfs/xfs_attr_leaf.c 中發現一個問題。使用 NULL bp 呼叫 xfs_da_shrink_inode() 之後,損毀的 xfs 影像可能會發生 OOPS。(CVE-2018-13094)

- 在 Linux 核心 3.16 及之前版本中,fs/inode.c 的 inode_init_owner 函式邏輯中有一個弱點,當目錄是 SGID 且隸屬於特定群組,並可由非此群組成員的使用者寫入時,本機使用者可藉此弱點建立具有非預定群組所有權的檔案。然後,非成員可觸發建立群組擁有權為該群組的純檔案。預定行為是此非成員可觸發建立群組擁有權為該群組的目錄 (而非純檔案)。非成員可藉由將純檔案設為可執行檔和 SGID 來提升權限。(CVE-2018-13405)

- 在 Linux 核心 4.17.4 之前版本中,drivers/video/fbdev/uvesafb.c 中的 uvesafb_setcmap 函式存在整數溢位弱點,因為未使用 kmalloc_array,這讓本機攻擊者能夠造成核心損毀,或可能提升權限。(CVE-2018-13406)

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

解決方案

更新受影響的 kernel 套件。

另請參閱

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

Plugin 詳細資訊

嚴重性: Critical

ID: 112113

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

版本: 1.11

類型: local

代理程式: unix

已發布: 2018/8/24

已更新: 2024/1/9

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

風險資訊

VPR

風險因素: High

分數: 7.4

CVSS v2

風險因素: High

基本分數: 7.5

時間分數: 5.9

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

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

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-3.13.0-157-generic, p-cpe:/a:canonical:ubuntu_linux:linux-image-3.13.0-157-generic-lpae, p-cpe:/a:canonical:ubuntu_linux:linux-image-3.13.0-157-lowlatency, p-cpe:/a:canonical:ubuntu_linux:linux-image-3.13.0-157-powerpc-e500, p-cpe:/a:canonical:ubuntu_linux:linux-image-3.13.0-157-powerpc-e500mc, p-cpe:/a:canonical:ubuntu_linux:linux-image-3.13.0-157-powerpc-smp, p-cpe:/a:canonical:ubuntu_linux:linux-image-3.13.0-157-powerpc64-emb, p-cpe:/a:canonical:ubuntu_linux:linux-image-3.13.0-157-powerpc64-smp, cpe:/o:canonical:ubuntu_linux:14.04:-:lts

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

可被惡意程式利用: true

可輕鬆利用: Exploits are available

修補程式發佈日期: 2018/8/24

弱點發布日期: 2017/1/15

參考資訊

CVE: CVE-2016-10208, CVE-2017-11472, CVE-2017-11473, CVE-2017-14991, CVE-2017-15649, CVE-2017-16526, CVE-2017-16527, CVE-2017-16529, CVE-2017-16531, CVE-2017-16532, CVE-2017-16533, CVE-2017-16535, CVE-2017-16536, CVE-2017-16537, CVE-2017-16538, CVE-2017-16643, CVE-2017-16644, CVE-2017-16645, CVE-2017-16650, CVE-2017-16911, CVE-2017-16912, CVE-2017-16913, CVE-2017-16914, CVE-2017-17558, CVE-2017-18255, CVE-2017-18270, CVE-2017-2583, CVE-2017-2584, CVE-2017-2671, CVE-2017-5549, CVE-2017-5897, CVE-2017-6345, CVE-2017-6348, CVE-2017-7518, CVE-2017-7645, CVE-2017-8831, CVE-2017-9984, CVE-2017-9985, CVE-2018-1000204, CVE-2018-10021, CVE-2018-10087, CVE-2018-10124, CVE-2018-10323, CVE-2018-10675, CVE-2018-10877, CVE-2018-10881, CVE-2018-1092, CVE-2018-1093, CVE-2018-10940, CVE-2018-12233, CVE-2018-13094, CVE-2018-13405, CVE-2018-13406

USN: 3754-1