Security update for the Linux Kernel

SUSE Security Update: Security update for the Linux Kernel
Announcement ID: SUSE-SU-2018:2879-1
Rating: important
References: #1037441 #1045538 #1047487 #1048185 #1050381 #1050431 #1057199 #1060245 #1064861 #1068032 #1080157 #1087081 #1092772 #1092903 #1093666 #1096547 #1097562 #1098822 #1099922 #1100132 #1100705 #1102517 #1102870 #1103119 #1103884 #1103909 #1104481 #1104684 #1104818 #1104901 #1105100 #1105322 #1105348 #1105536 #1105723 #1106095 #1106105 #1106199 #1106202 #1106206 #1106209 #1106212 #1106369 #1106509 #1106511 #1106609 #1106886 #1106930 #1106995 #1107001 #1107064 #1107071 #1107650 #1107689 #1107735 #1107949 #1108096 #1108170 #1108823 #1108912
Cross-References: CVE-2018-10902 CVE-2018-10940 CVE-2018-12896 CVE-2018-14617 CVE-2018-14634 CVE-2018-14734 CVE-2018-15572 CVE-2018-15594 CVE-2018-16276 CVE-2018-16658 CVE-2018-6554 CVE-2018-6555
Affected Products:
  • SUSE Linux Enterprise Software Development Kit 11-SP4
  • SUSE Linux Enterprise Server 11-SP4
  • SUSE Linux Enterprise Server 11-EXTRA
  • SUSE Linux Enterprise Debuginfo 11-SP4

An update that solves 12 vulnerabilities and has 48 fixes is now available.

Description:


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

  • 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-15594: Ensure correct handling of indirect calls, to prevent attackers for conducting Spectre-v2 attacks against paravirtual guests (bsc#1105348).
  • 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-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-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-15572: The spectre_v2_select_mitigation function did not always fill RSB upon a context switch, which made it easier for attackers to conduct userspace-userspace spectreRSB attacks (bnc#1102517)
  • 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-14734: ucma_leave_multicast accessed a certain data structure after a cleanup step in ucma_process_join, which allowed attackers to cause a denial of service (use-after-free) (bsc#1103119)

The following non-security bugs were fixed:
  • ACPI: APEI / ERST: Fix missing error handling in erst_reader() (bsc#1045538).
  • ALSA: fm801: propagate TUNER_ONLY bit when autodetected (bsc#1045538).
  • ALSA: pcm: Fix snd_pcm_hw_params struct copy in compat mode (bsc#1045538).
  • ALSA: pcm: Use dma_bytes as size parameter in dma_mmap_coherent() (bsc#1045538).
  • ALSA: pcm: fix fifo_size frame calculation (bsc#1045538).
  • ALSA: snd-aoa: add of_node_put() in error path (bsc#1045538).
  • ALSA: usb-audio: Add sanity checks in v2 clock parsers (bsc#1045538).
  • ALSA: usb-audio: Add sanity checks to FE parser (bsc#1045538).
  • ALSA: usb-audio: Fix UAC2 get_ctl request with a RANGE attribute (bsc#1045538).
  • ALSA: usb-audio: Fix bogus error return in snd_usb_create_stream() (bsc#1045538).
  • ALSA: usb-audio: Fix parameter block size for UAC2 control requests (bsc#1045538).
  • ALSA: usb-audio: Fix parsing descriptor of UAC2 processing unit (bsc#1045538).
  • ALSA: usb-audio: Fix potential out-of-bound access at parsing SU (bsc#1045538).
  • ALSA: usb-audio: Set correct type for some UAC2 mixer controls (bsc#1045538).
  • ASoC: blackfin: Fix missing break (bsc#1045538).
  • Enforce module signatures if the kernel is locked down (bsc#1093666).
  • KVM: VMX: Work around kABI breakage in 'enum vmx_l1d_flush_state' (bsc#1106369).
  • KVM: VMX: fixes for vmentry_l1d_flush module parameter (bsc#1106369).
  • PCI: Fix TI816X class code quirk (bsc#1050431).
  • Refresh patches.xen/xen3-x86-l1tf-04-protect-PROT_NONE-ptes.patch (bsc#1105100).
  • TPM: Zero buffer whole after copying to userspace (bsc#1050381).
  • USB: add USB_DEVICE_INTERFACE_CLASS macro (bsc#1047487).
  • USB: hub: fix non-SS hub-descriptor handling (bsc#1047487).
  • USB: serial: ftdi_sio: fix latency-timer error handling (bsc#1037441).
  • USB: serial: io_edgeport: fix possible sleep-in-atomic (bsc#1037441).
  • USB: serial: io_ti: fix NULL-deref in interrupt callback (bsc#1106609).
  • USB: serial: sierra: fix potential deadlock at close (bsc#1100132).
  • USB: visor: Match I330 phone more precisely (bsc#1047487).
  • applicom: dereferencing NULL on error path (git-fixes).
  • ath5k: Change led pin configuration for compaq c700 laptop (bsc#1048185).
  • base: make module_create_drivers_dir race-free (git-fixes).
  • block: fix an error code in add_partition() (bsc#1106209).
  • btrfs: scrub: Do not use inode page cache in scrub_handle_errored_block() (bsc#1108096).
  • btrfs: scrub: Do not use inode pages for device replace (bsc#1107949).
  • dasd: Add IFCC notice message (bnc#1104481, LTC#170484).
  • drm/i915: Remove bogus __init annotation from DMI callbacks (bsc#1106886).
  • drm/i915: fix use-after-free in page_flip_completed() (bsc#1103909).
  • drm/nouveau/gem: off by one bugs in nouveau_gem_pushbuf_reloc_apply() (bsc#1106886).
  • drm/vmwgfx: Handle vmalloc() failure in vmw_local_fifo_reserve() (bsc#1106886).
  • drm: crtc: integer overflow in drm_property_create_blob() (bsc#1106886).
  • drm: re-enable error handling (bsc#1103884)
  • fbdev: omapfb: off by one in omapfb_register_client() (bsc#1106886).
  • iommu/amd: Finish TLB flush in amd_iommu_unmap() (bsc#1106105).
  • iommu/amd: Fix the left value check of cmd buffer (bsc#1106105).
  • iommu/amd: Free domain id when free a domain of struct dma_ops_domain (bsc#1106105).
  • iommu/amd: Update Alias-DTE in update_device_table() (bsc#1106105).
  • iommu/vt-d: Do not over-free page table directories (bsc#1106105).
  • iommu/vt-d: Ratelimit each dmar fault printing (bsc#1106105).
  • ipv6: Regenerate host route according to node pointer upon loopback up (bsc#1100705).
  • ipv6: correctly add local routes when lo goes up (bsc#1100705).
  • ipv6: introduce ip6_rt_put() (bsc#1100705).
  • ipv6: reallocate addrconf router for ipv6 address when lo device up (bsc#1100705).
  • kabi: x86/speculation/l1tf: Increase l1tf memory limit for Nehalem+ (bnc#1105536).
  • kabi: x86/speculation/l1tf: Increase l1tf memory limit for Nehalem+ (bnc#1105536).
  • kthread, tracing: Do not expose half-written comm when creating kthreads (Git-fixes).
  • mm/hugetlb: add migration/hwpoisoned entry check in hugetlb_change_protection (bnc#1107071).
  • mm/mempolicy.c: avoid use uninitialized preferred_node (bnc#1107064).
  • modsign: log module name in the event of an error (bsc#1093666).
  • modsign: print module name along with error message (bsc#1093666).
  • module: make it clear when we're handling the module copy in info->hdr (bsc#1093666).
  • module: setup load info before module_sig_check() (bsc#1093666).
  • nbd: ratelimit error msgs after socket close (bsc#1106206).
  • ncpfs: return proper error from NCP_IOC_SETROOT ioctl (bsc#1106199).
  • nvme: add device id's with intel stripe quirk (bsc#1097562).
  • perf/core: Fix group scheduling with mixed hw and sw events (Git-fixes).
  • perf/x86/intel: Add cpu_(prepare|starting|dying) for core_pmu (bsc#1104901).
  • powerpc/64s: Default l1d_size to 64K in RFI fallback flush (bsc#1068032, git-fixes).
  • powerpc/fadump: Do not use hugepages when fadump is active (bsc#1092772, bsc#1107650).
  • powerpc/fadump: exclude memory holes while reserving memory in second kernel (bsc#1092772, bsc#1107650).
  • powerpc/fadump: re-register firmware-assisted dump if already registered (bsc#1108170, bsc#1108823).
  • powerpc/lib: Fix off-by-one in alternate feature patching (bsc#1064861).
  • powerpc/lib: Fix the feature fixup tests to actually work (bsc#1064861).
  • powerpc64s: Show ori31 availability in spectre_v1 sysfs file not v2 (bsc#1068032, bsc#1080157, git-fixes).
  • powerpc: Avoid code patching freed init sections (bnc#1107735).
  • powerpc: make feature-fixup tests fortify-safe (bsc#1064861).
  • ptrace: fix PTRACE_LISTEN race corrupting task->state (bnc#1107001).
  • qlge: Fix netdev features configuration (bsc#1098822).
  • resource: fix integer overflow at reallocation (bsc#1045538).
  • rpm/kernel-docs.spec.in: Expand kernel tree directly from sources (bsc#1057199)
  • s390/ftrace: use expoline for indirect branches (bnc#1106930, LTC#171029).
  • s390/kernel: use expoline for indirect branches (bnc#1106930, LTC#171029).
  • s390/qeth: do not clobber buffer on async TX completion (bnc#1060245, LTC#170349).
  • s390: Correct register corruption in critical section cleanup (bnc#1106930, LTC#171029).
  • s390: add assembler macros for CPU alternatives (bnc#1106930, LTC#171029).
  • s390: detect etoken facility (bnc#1106930, LTC#171029).
  • s390: move expoline assembler macros to a header (bnc#1106930, LTC#171029).
  • s390: move spectre sysfs attribute code (bnc#1106930, LTC#171029).
  • s390: remove indirect branch from do_softirq_own_stack (bnc#1106930, LTC#171029).
  • smsc75xx: Add workaround for gigabit link up hardware errata (bsc#1100132).
  • sys: do not hold uts_sem while accessing userspace memory (bnc#1106995).
  • tpm: fix race condition in tpm_common_write() (bsc#1050381).
  • tracing/blktrace: Fix to allow setting same value (bsc#1106212).
  • tty: vt, fix bogus division in csi_J (git-fixes).
  • tty: vt, return error when con_startup fails (git-fixes).
  • uml: fix hostfs mknod() (bsc#1106202).
  • usb: audio-v2: Correct the comment for struct uac_clock_selector_descriptor (bsc#1045538).
  • usbip: vhci_sysfs: fix potential Spectre v1 (bsc#1096547).
  • x86, l1tf: Protect PROT_NONE PTEs against speculation fixup (bnc#1104684, bnc#1104818).
  • x86/speculation/l1tf: Fix overflow in l1tf_pfn_limit() on 32bit (bnc#1087081).
  • x86/init: fix build with CONFIG_SWAP=n (bsc#1105723).
  • x86/mm: Prevent kernel Oops in PTDUMP code with HIGHPTE=y (bsc#1106105).
  • x86/speculation/l1tf: Fix off-by-one error when warning that system has too much RAM (bnc#1105536).
  • x86/speculation/l1tf: Increase l1tf memory limit for Nehalem+ (bnc#1105536).
  • x86/speculation/l1tf: Suggest what to do on systems with too much RAM (bnc#1105536).
  • x86/vdso: Fix vDSO build if a retpoline is emitted (git-fixes).
  • xen x86/speculation/l1tf: Fix off-by-one error when warning that system has too much RAM (bnc#1105536).
  • xen x86/speculation/l1tf: Increase l1tf memory limit for Nehalem+ (bnc#1105536).
  • xen, x86, l1tf: Protect PROT_NONE PTEs against speculation fixup (bnc#1104684, bnc#1104818).
  • xen: x86/speculation/l1tf: Fix overflow in l1tf_pfn_limit() on 32bit (bnc#1087081).

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 Software Development Kit 11-SP4:
    zypper in -t patch sdksp4-kernel-13796=1
  • SUSE Linux Enterprise Server 11-SP4:
    zypper in -t patch slessp4-kernel-13796=1
  • SUSE Linux Enterprise Server 11-EXTRA:
    zypper in -t patch slexsp3-kernel-13796=1
  • SUSE Linux Enterprise Debuginfo 11-SP4:
    zypper in -t patch dbgsp4-kernel-13796=1

Package List:

  • SUSE Linux Enterprise Software Development Kit 11-SP4 (noarch):
    • kernel-docs-3.0.101-108.71.1
  • SUSE Linux Enterprise Server 11-SP4 (i586 ia64 ppc64 s390x x86_64):
    • kernel-default-3.0.101-108.71.1
    • kernel-default-base-3.0.101-108.71.1
    • kernel-default-devel-3.0.101-108.71.1
    • kernel-source-3.0.101-108.71.1
    • kernel-syms-3.0.101-108.71.1
    • kernel-trace-3.0.101-108.71.1
    • kernel-trace-base-3.0.101-108.71.1
    • kernel-trace-devel-3.0.101-108.71.1
  • SUSE Linux Enterprise Server 11-SP4 (i586 x86_64):
    • kernel-ec2-3.0.101-108.71.1
    • kernel-ec2-base-3.0.101-108.71.1
    • kernel-ec2-devel-3.0.101-108.71.1
    • kernel-xen-3.0.101-108.71.1
    • kernel-xen-base-3.0.101-108.71.1
    • kernel-xen-devel-3.0.101-108.71.1
  • SUSE Linux Enterprise Server 11-SP4 (ppc64):
    • kernel-bigmem-3.0.101-108.71.1
    • kernel-bigmem-base-3.0.101-108.71.1
    • kernel-bigmem-devel-3.0.101-108.71.1
    • kernel-ppc64-3.0.101-108.71.1
    • kernel-ppc64-base-3.0.101-108.71.1
    • kernel-ppc64-devel-3.0.101-108.71.1
  • SUSE Linux Enterprise Server 11-SP4 (s390x):
    • kernel-default-man-3.0.101-108.71.1
  • SUSE Linux Enterprise Server 11-SP4 (i586):
    • kernel-pae-3.0.101-108.71.1
    • kernel-pae-base-3.0.101-108.71.1
    • kernel-pae-devel-3.0.101-108.71.1
  • SUSE Linux Enterprise Server 11-EXTRA (i586 ia64 ppc64 s390x x86_64):
    • kernel-default-extra-3.0.101-108.71.1
  • SUSE Linux Enterprise Server 11-EXTRA (i586 x86_64):
    • kernel-xen-extra-3.0.101-108.71.1
  • SUSE Linux Enterprise Server 11-EXTRA (x86_64):
    • kernel-trace-extra-3.0.101-108.71.1
  • SUSE Linux Enterprise Server 11-EXTRA (ppc64):
    • kernel-ppc64-extra-3.0.101-108.71.1
  • SUSE Linux Enterprise Server 11-EXTRA (i586):
    • kernel-pae-extra-3.0.101-108.71.1
  • SUSE Linux Enterprise Debuginfo 11-SP4 (i586 ia64 ppc64 s390x x86_64):
    • kernel-default-debuginfo-3.0.101-108.71.1
    • kernel-default-debugsource-3.0.101-108.71.1
    • kernel-trace-debuginfo-3.0.101-108.71.1
    • kernel-trace-debugsource-3.0.101-108.71.1
  • SUSE Linux Enterprise Debuginfo 11-SP4 (i586 ia64 s390x x86_64):
    • kernel-default-devel-debuginfo-3.0.101-108.71.1
    • kernel-trace-devel-debuginfo-3.0.101-108.71.1
  • SUSE Linux Enterprise Debuginfo 11-SP4 (i586 x86_64):
    • kernel-ec2-debuginfo-3.0.101-108.71.1
    • kernel-ec2-debugsource-3.0.101-108.71.1
    • kernel-xen-debuginfo-3.0.101-108.71.1
    • kernel-xen-debugsource-3.0.101-108.71.1
    • kernel-xen-devel-debuginfo-3.0.101-108.71.1
  • SUSE Linux Enterprise Debuginfo 11-SP4 (ppc64):
    • kernel-bigmem-debuginfo-3.0.101-108.71.1
    • kernel-bigmem-debugsource-3.0.101-108.71.1
    • kernel-ppc64-debuginfo-3.0.101-108.71.1
    • kernel-ppc64-debugsource-3.0.101-108.71.1
  • SUSE Linux Enterprise Debuginfo 11-SP4 (i586):
    • kernel-pae-debuginfo-3.0.101-108.71.1
    • kernel-pae-debugsource-3.0.101-108.71.1
    • kernel-pae-devel-debuginfo-3.0.101-108.71.1

References: