Security update for the Linux Kernel

SUSE Security Update: Security update for the Linux Kernel
Announcement ID: SUSE-SU-2018:3083-1
Rating: important
References: #1012382 #1062604 #1064232 #1065999 #1092903 #1093215 #1096547 #1097104 #1099811 #1099813 #1099844 #1099845 #1099846 #1099849 #1099863 #1099864 #1099922 #1100001 #1100089 #1102870 #1103445 #1104319 #1104495 #1104906 #1105322 #1105412 #1106095 #1106369 #1106509 #1106511 #1107689 #1108399 #1108912
Cross-References: CVE-2018-10853 CVE-2018-10876 CVE-2018-10877 CVE-2018-10878 CVE-2018-10879 CVE-2018-10880 CVE-2018-10881 CVE-2018-10882 CVE-2018-10883 CVE-2018-10902 CVE-2018-10940 CVE-2018-12896 CVE-2018-13093 CVE-2018-14617 CVE-2018-14634 CVE-2018-16276 CVE-2018-16658 CVE-2018-17182 CVE-2018-6554 CVE-2018-6555
Affected Products:
  • SUSE Linux Enterprise Server 12-LTSS
  • SUSE Linux Enterprise Module for Public Cloud 12

An update that solves 20 vulnerabilities and has 13 fixes is now available.

Description:


The SUSE Linux Enterprise 12 kernel was updated to receive various security and bugfixes.
The following security bugs were fixed:

  • CVE-2018-14634: Prevent integer overflow in create_elf_tables that allowed a local attacker to exploit this vulnerability via a SUID-root binary and obtain full root privileges (bsc#1108912)
  • CVE-2018-14617: Prevent NULL pointer dereference and panic in hfsplus_lookup() when opening a file (that is purportedly a hard link) in an hfs+ filesystem that has malformed catalog data, and is mounted read-only without a metadata directory (bsc#1102870)
  • CVE-2018-16276: Incorrect bounds checking in the yurex USB driver in yurex_read allowed local attackers to use user access read/writes to crash the kernel or potentially escalate privileges (bsc#1106095)
  • CVE-2018-12896: Prevent integer overflow in the POSIX timer code that was caused by the way the overrun accounting works. Depending on interval and expiry time values, the overrun can be larger than INT_MAX, but the accounting is int based. This basically made the accounting values, which are visible to user space via timer_getoverrun(2) and siginfo::si_overrun, random. This allowed a local user to cause a denial of service (signed integer overflow) via crafted mmap, futex, timer_create, and timer_settime system calls (bnc#1099922)
  • CVE-2018-13093: Prevent NULL pointer dereference and panic in lookup_slow() on a NULL inode->i_ops pointer when doing pathwalks on a corrupted xfs image. This occured because of a lack of proper validation that cached inodes are free during allocation (bnc#1100001)
  • CVE-2018-10940: The cdrom_ioctl_media_changed function allowed local attackers to use a incorrect bounds check in the CDROM driver CDROM_MEDIA_CHANGED ioctl to read out kernel memory (bsc#1092903)
  • CVE-2018-16658: Prevent information leak in cdrom_ioctl_drive_status that could have been used by local attackers to read kernel memory (bnc#1107689)
  • CVE-2018-6555: The irda_setsockopt function allowed local users to cause a denial of service (ias_object use-after-free and system crash) or possibly have unspecified other impact via an AF_IRDA socket (bnc#1106511)
  • CVE-2018-6554: Prevent memory leak in the irda_bind function that allowed local users to cause a denial of service (memory consumption) by repeatedly binding an AF_IRDA socket (bnc#1106509)
  • CVE-2018-10853: The KVM hypervisor did not check current privilege(CPL) level while emulating unprivileged instructions. An unprivileged guest user/process could have used this flaw to potentially escalate privileges inside guest (bsc#1097104)
  • CVE-2018-10902: Protect against concurrent access to prevent double realloc (double free) in snd_rawmidi_input_params() and snd_rawmidi_output_status(). A malicious local attacker could have used this for privilege escalation (bnc#1105322).
  • CVE-2018-10879: A local user could have caused a use-after-free in ext4_xattr_set_entry function and a denial of service or unspecified other impact by renaming a file in a crafted ext4 filesystem image (bsc#1099844)
  • CVE-2018-10883: A local user could have caused an out-of-bounds write in jbd2_journal_dirty_metadata(), a denial of service, and a system crash by mounting and operating on a crafted ext4 filesystem image (bsc#1099863)
  • CVE-2018-10880: Prevent stack-out-of-bounds write in the ext4 filesystem code when mounting and writing to a crafted ext4 image in ext4_update_inline_data(). An attacker could have used this to cause a system crash and a denial of service (bsc#1099845)
  • CVE-2018-10882: A local user could have caused an out-of-bound write, a denial of service, and a system crash by unmounting a crafted ext4 filesystem image (bsc#1099849)
  • CVE-2018-10881: A local user could have caused an out-of-bound access in ext4_get_group_info function, a denial of service, and a system crash by mounting and operating on a crafted ext4 filesystem image (bsc#1099864)
  • CVE-2018-10877: Prevent out-of-bound access in the ext4_ext_drop_refs() function when operating on a crafted ext4 filesystem image (bsc#1099846)
  • CVE-2018-10876: A use-after-free was possible in ext4_ext_remove_space() function when mounting and operating a crafted ext4 image (bsc#1099811)
  • CVE-2018-10878: A local user could have caused an out-of-bounds write and a denial of service or unspecified other impact by mounting and operating a crafted ext4 filesystem image (bsc#1099813)
  • CVE-2018-17182: An issue was discovered in the Linux kernel The vmacache_flush_all function in mm/vmacache.c mishandled sequence number overflows. An attacker can trigger a use-after-free (and possibly gain privileges) via certain thread creation, map, unmap, invalidation, and dereference operations (bnc#1108399).

The following non-security bugs were fixed:
  • bcache: avoid unncessary cache prefetch bch_btree_node_get().
  • bcache: calculate the number of incremental GC nodes according to the total of btree nodes.
  • bcache: display rate debug parameters to 0 when writeback is not running.
  • bcache: do not check return value of debugfs_create_dir().
  • bcache: finish incremental GC.
  • bcache: fix error setting writeback_rate through sysfs interface (bsc#1064232).
  • bcache: fix I/O significant decline while backend devices registering.
  • bcache: free heap cache_set->flush_btree in bch_journal_free.
  • bcache: make the pr_err statement used for ENOENT only in sysfs_attatch section.
  • bcache: release dc->writeback_lock properly in bch_writeback_thread().
  • bcache: set max writeback rate when I/O request is idle (bsc#1064232).
  • bcache: simplify the calculation of the total amount of flash dirty data.
  • Do not report CPU affected by L1TF when ARCH_CAP_RDCL_NO bit is set (bsc#1104906).
  • ext4: check for allocation block validity with block group locked (bsc#1104495).
  • ext4: do not update checksum of new initialized bitmaps (bnc#1012382).
  • ext4: fix check to prevent initializing reserved inodes (bsc#1104319).
  • ext4: fix false negatives *and* false positives in ext4_check_descriptors() (bsc#1103445).
  • kABI: protect struct x86_emulate_ops (kabi).
  • KEYS: prevent creating a different user's keyrings (bnc#1065999).
  • KVM: MMU: always terminate page walks at level 1 (bsc#1062604).
  • KVM: MMU: simplify last_pte_bitmap (bsc#1062604).
  • KVM: nVMX: update last_nonleaf_level when initializing nested EPT (bsc#1062604).
  • KVM: VMX: fixes for vmentry_l1d_flush module parameter (bsc#1106369).
  • KVM: VMX: Work around kABI breakage in 'enum vmx_l1d_flush_state' (bsc#1106369).
  • updated sssbd handling (bsc#1093215, bsc#1105412).
  • usbip: vhci_sysfs: fix potential Spectre v1 (bsc#1096547).
  • x86/speculation: Use ARCH_CAPABILITIES to skip L1D flush on vmentry (bsc#1106369).
  • sched/sysctl: Check user input value of sysctl_sched_time_avg (bsc#1100089).

Special Instructions and Notes:

Please reboot the system after installing this update.

Patch Instructions:

To install this SUSE Security Update use the SUSE recommended installation methods like YaST online_update or "zypper patch".
Alternatively you can run the command listed for your product:

  • SUSE Linux Enterprise Server 12-LTSS:
    zypper in -t patch SUSE-SLE-SERVER-12-2018-2185=1
  • SUSE Linux Enterprise Module for Public Cloud 12:
    zypper in -t patch SUSE-SLE-Module-Public-Cloud-12-2018-2185=1

Package List:

  • SUSE Linux Enterprise Server 12-LTSS (ppc64le s390x x86_64):
    • kernel-default-3.12.61-52.146.1
    • kernel-default-base-3.12.61-52.146.1
    • kernel-default-base-debuginfo-3.12.61-52.146.1
    • kernel-default-debuginfo-3.12.61-52.146.1
    • kernel-default-debugsource-3.12.61-52.146.1
    • kernel-default-devel-3.12.61-52.146.1
    • kernel-syms-3.12.61-52.146.1
  • SUSE Linux Enterprise Server 12-LTSS (x86_64):
    • kernel-xen-3.12.61-52.146.1
    • kernel-xen-base-3.12.61-52.146.1
    • kernel-xen-base-debuginfo-3.12.61-52.146.1
    • kernel-xen-debuginfo-3.12.61-52.146.1
    • kernel-xen-debugsource-3.12.61-52.146.1
    • kernel-xen-devel-3.12.61-52.146.1
    • kgraft-patch-3_12_61-52_146-default-1-1.5.1
    • kgraft-patch-3_12_61-52_146-xen-1-1.5.1
  • SUSE Linux Enterprise Server 12-LTSS (noarch):
    • kernel-devel-3.12.61-52.146.1
    • kernel-macros-3.12.61-52.146.1
    • kernel-source-3.12.61-52.146.1
  • SUSE Linux Enterprise Server 12-LTSS (s390x):
    • kernel-default-man-3.12.61-52.146.1
  • SUSE Linux Enterprise Module for Public Cloud 12 (x86_64):
    • kernel-ec2-3.12.61-52.146.1
    • kernel-ec2-debuginfo-3.12.61-52.146.1
    • kernel-ec2-debugsource-3.12.61-52.146.1
    • kernel-ec2-devel-3.12.61-52.146.1
    • kernel-ec2-extra-3.12.61-52.146.1
    • kernel-ec2-extra-debuginfo-3.12.61-52.146.1

References: