Security update for the Real Time Linux Kernel (important)

ID SUSE-SU-2015:1376-1
Type suse
Reporter Suse
Modified 2015-08-12T19:09:18


The SUSE Linux Enterprise 11 Service Pack 3 RealTime Extension kernel was updated to fix various bugs and security issues.

The following vulnerabilities have been fixed:

CVE-2015-3636: A missing sk_nulls_node_init() in ping_unhash() inside the ipv4 stack can cause crashes if a disconnect is followed by another connect() attempt. (bnc#929525)

CVE-2015-3339: Race condition in the prepare_binprm function in fs/exec.c in the Linux kernel before 3.19.6 allows local users to gain privileges by executing a setuid program at a time instant when a chown to root is in progress, and the ownership is changed but the setuid bit is not yet stripped. (bnc#928130)

CVE-2015-3331: The __driver_rfc4106_decrypt function in arch/x86/crypto/aesni-intel_glue.c in the Linux kernel before 3.19.3 does not properly determine the memory locations used for encrypted data, which allows context-dependent attackers to cause a denial of service (buffer overflow and system crash) or possibly execute arbitrary code by triggering a crypto API call, as demonstrated by use of a libkcapi test program with an AF_ALG(aead) socket. (bnc#927257)

CVE-2015-2922: The ndisc_router_discovery function in net/ipv6/ndisc.c in the Neighbor Discovery (ND) protocol implementation in the IPv6 stack in the Linux kernel before 3.19.6 allows remote attackers to reconfigure a hop-limit setting via a small hop_limit value in a Router Advertisement (RA) message. (bnc#922583)

CVE-2015-2830: arch/x86/kernel/entry_64.S in the Linux kernel before 3.19.2 does not prevent the TS_COMPAT flag from reaching a user-mode task, which might allow local users to bypass the seccomp or audit protection mechanism via a crafted application that uses the (1) fork or (2) close system call, as demonstrated by an attack against seccomp before 3.16. (bnc#926240)

CVE-2015-2150: XSA-120: Xen 3.3.x through 4.5.x and the Linux kernel through 3.19.1 do not properly restrict access to PCI command registers, which might allow local guest users to cause a denial of service (non-maskable interrupt and host crash) by disabling the (1) memory or (2) I/O decoding for a PCI Express device and then accessing the device, which triggers an Unsupported Request (UR) response. (bnc#919463)

CVE-2015-2042: net/rds/sysctl.c in the Linux kernel before 3.19 uses an incorrect data type in a sysctl table, which allows local users to obtain potentially sensitive information from kernel memory or possibly have unspecified other impact by accessing a sysctl entry. (bnc#919018)

CVE-2015-2041: net/llc/sysctl_net_llc.c in the Linux kernel before 3.19 uses an incorrect data type in a sysctl table, which allows local users to obtain potentially sensitive information from kernel memory or possibly have unspecified other impact by accessing a sysctl entry. (bnc#919007)

CVE-2015-1421: Use-after-free vulnerability in the sctp_assoc_update function in net/sctp/associola.c in the Linux kernel before 3.18.8 allows remote attackers to cause a denial of service (slab corruption and panic) or possibly have unspecified other impact by triggering an INIT collision that leads to improper handling of shared-key data. (bnc#915577)

CVE-2015-0777: drivers/xen/usbback/usbback.c in linux-2.6.18-xen-3.4.0 (aka the Xen 3.4.x support patches for the Linux kernel 2.6.18), as used in the Linux kernel 2.6.x and 3.x in SUSE Linux distributions, allows guest OS users to obtain sensitive information from uninitialized locations in host OS kernel memory via unspecified vectors. (bnc#917830)

CVE-2014-9683: Off-by-one error in the ecryptfs_decode_from_filename function in fs/ecryptfs/crypto.c in the eCryptfs subsystem in the Linux kernel before 3.18.2 allows local users to cause a denial of service (buffer overflow and system crash) or possibly gain privileges via a crafted filename. (bnc#918333)

CVE-2014-9529: Race condition in the key_gc_unused_keys function in security/keys/gc.c in the Linux kernel through 3.18.2 allows local users to cause a denial of service (memory corruption or panic) or possibly have unspecified other impact via keyctl commands that trigger access to a key structure member during garbage collection of a key. (bnc#912202)

CVE-2014-9419: The __switch_to function in arch/x86/kernel/process_64.c in the Linux kernel through 3.18.1 does not ensure that Thread Local Storage (TLS) descriptors are loaded before proceeding with other steps, which makes it easier for local users to bypass the ASLR protection mechanism via a crafted application that reads a TLS base address. (bnc#911326)

CVE-2014-8159: The InfiniBand (IB) implementation in the Linux kernel does not properly restrict use of User Verbs for registration of memory regions, which allows local users to access arbitrary physical memory locations, and consequently cause a denial of service (system crash) or gain privileges, by leveraging permissions on a uverbs device under /dev/infiniband/. (bnc#914742)

CVE-2014-8086: Race condition in the ext4_file_write_iter function in fs/ext4/file.c in the Linux kernel through 3.17 allows local users to cause a denial of service (file unavailability) via a combination of a write action and an F_SETFL fcntl operation for the O_DIRECT flag. (bnc#900881)

The following non-security bugs have been fixed:

   * mm: exclude reserved pages from dirtyable memory (bnc#931015,
   * mm: fix calculation of dirtyable memory (bnc#931015, bnc#930788).
   * mm/page-writeback.c: fix dirty_balance_reserve subtraction from
     dirtyable memory (bnc#931015, bnc#930788).
   * mm, oom: fix and cleanup oom score calculations (bnc#930171).
   * mm: fix anon_vma->degree underflow in anon_vma endless growing
     prevention (bnc#904242).
   * mm, slab: lock the correct nodelist after reenabling irqs
   * x86: irq: Check for valid irq descriptor
     incheck_irq_vectors_for_cpu_disable (bnc#914726).
   * x86/mce: Introduce mce_gather_info() (bsc#914987).
   * x86/mce: Fix mce regression from recent cleanup (bsc#914987).
   * x86/mce: Update MCE severity condition check (bsc#914987).
   * x86, kvm: Remove incorrect redundant assembly constraint
   * x86/reboot: Fix a warning message triggered by stop_other_cpus()
   * x86/apic/uv: Update the UV APIC HUB check (bsc#929145).
   * x86/apic/uv: Update the UV APIC driver check (bsc#929145).
   * x86/apic/uv: Update the APIC UV OEM check (bsc#929145).
   * kabi: invalidate removed sys_elem_dir::children (bnc#919589).
   * kabi: fix for changes in the sysfs_dirent structure (bnc#919589).
   * iommu/amd: Correctly encode huge pages in iommu page tables
   * iommu/amd: Optimize amd_iommu_iova_to_phys for new fetch_pte
     interface (bsc#931014).
   * iommu/amd: Optimize alloc_new_range for new fetch_pte interface
   * iommu/amd: Optimize iommu_unmap_page for new fetch_pte interface
   * iommu/amd: Return the pte page-size in fetch_pte (bsc#931014).
   * rtc: Prevent the automatic reboot after powering off the system
   * rtc: Restore the RTC alarm time to the configured alarm time in BIOS
     Setup (bnc#930145, bnc#927262).
   * rtc: Add more TGCS models for alarm disable quirk (bnc#927262).
   * kernel: Fix IA64 kernel/kthread.c build woes. Hide #include
     <linux/hardirq.h> from kABI checker.
   * cpu: Correct cpu affinity for dlpar added cpus (bsc#928970).
   * proc: deal with deadlock in d_walk fix (bnc#929148, bnc#929283).
   * proc: /proc/stat: convert to single_open_size() (bnc#928122).
   * proc: new helper: single_open_size() (bnc#928122).
   * proc: speed up /proc/stat handling (bnc#928122).
   * sched: Fix potential near-infinite distribute_cfs_runtime() loop
   * tty: Correct tty buffer flush (bnc#929647).
   * tty: hold lock across tty buffer finding and buffer filling
   * fork: report pid reservation failure properly (bnc#909684).
   * random: Fix add_timer_randomness throttling
   * random: account for entropy loss due to overwrites (FATE#317374).
   * random: allow fractional bits to be tracked (FATE#317374).
   * random: statically compute poolbitshift, poolbytes, poolbits
   * crypto: Limit allocation of crypto mechanisms to dialect which
     requires (bnc#925729).
   * net: relax rcvbuf limits (bug#923344).
   * udp: only allow UFO for packets from SOCK_DGRAM sockets (bnc#909309).
   * acpi / sysfs: Treat the count field of counter_show() as unsigned
   * acpi / osl: speedup grace period in acpi_os_map_cleanup (bnc#877456).
   * btrfs: upstream fixes from 3.18
   * btrfs: fix race when reusing stale extent buffers that leads to
   * btrfs: btrfs_release_extent_buffer_page did not free pages of dummy
     extent (bnc#930226, bnc#916521).
   * btrfs: set error return value in btrfs_get_blocks_direct.
   * btrfs: fix off-by-one in cow_file_range_inline().
   * btrfs: wake up transaction thread from SYNC_FS ioctl.
   * btrfs: fix wrong fsid check of scrub.
   * btrfs: try not to ENOSPC on log replay.
   * btrfs: fix build_backref_tree issue with multiple shared blocks.
   * btrfs: add missing end_page_writeback on submit_extent_page failure.
   * btrfs: fix crash of btrfs_release_extent_buffer_page.
   * btrfs: fix race in WAIT_SYNC ioctl.
   * btrfs: fix kfree on list_head in btrfs_lookup_csums_range error
   * btrfs: cleanup orphans while looking up default subvolume
   * btrfs: fix lost return value due to variable shadowing.
   * btrfs: abort the transaction if we fail to update the free space
     cache inode.
   * btrfs: fix scheduler warning when syncing log.
   * btrfs: add more checks to btrfs_read_sys_array.
   * btrfs: cleanup, rename a few variables in btrfs_read_sys_array.
   * btrfs: add checks for sys_chunk_array sizes.
   * btrfs: more superblock checks, lower bounds on devices and
   * btrfs: fix setup_leaf_for_split() to avoid leaf corruption.
   * btrfs: fix typos in btrfs_check_super_valid.
   * btrfs: use macro accessors in superblock validation checks.
   * btrfs: add more superblock checks.
   * btrfs: avoid premature -ENOMEM in clear_extent_bit().
   * btrfs: avoid returning -ENOMEM in convert_extent_bit() too early.
   * btrfs: call inode_dec_link_count() on mkdir error path.
   * btrfs: fix fs corruption on transaction abort if device supports
   * btrfs: make sure we wait on logged extents when fsycning two subvols.
   * btrfs: make xattr replace operations atomic.
   * xfs: xfs_alloc_fix_minleft can underflow near ENOSPC (bnc#913080,
   * xfs: prevent deadlock trying to cover an active log (bsc#917093).
   * xfs: introduce xfs_bmapi_read() (bnc#891641).
   * xfs: factor extent map manipulations out of xfs_bmapi (bnc#891641).
   * nfs: Fix a regression in nfs_file_llseek() (bnc#930401).
   * nfs: do not try to use lock state when we hold a delegation
     (bnc#831029) - add to series.conf
   * sunrpc: Fix the execution time statistics in the face of RPC
     restarts (bnc#924271).
   * fsnotify: Fix handling of renames in audit (bnc#915200).
   * configfs: fix race between dentry put and lookup (bnc#924333).
   * fs/pipe.c: add ->statfs callback for pipefs (bsc#916848).
   * fs/buffer.c: make block-size be per-page and protected by the page
     lock (bnc#919357).
   * st: fix corruption of the st_modedef structures in st_set_options()
   * lpfc: Fix race on command completion (bnc#906027,bnc#889221).
   * cifs: fix use-after-free bug in find_writable_file (bnc#909477).
   * sysfs: Make sysfs_rename safe with sysfs_dirents in rbtrees
   * sysfs: use rb-tree for inode number lookup (bnc#919589).
   * sysfs: use rb-tree for name lookups (bnc#919589).
   * dasd: Fix inability to set a DASD device offline (bnc#927338,
   * dasd: Fix device having no paths after suspend/resume (bnc#927338,
   * dasd: Fix unresumed device after suspend/resume (bnc#927338,
   * dasd: Missing partition after online processing (bnc#917120,
   * af_iucv: fix AF_IUCV sendmsg() errno (bnc#927338, LTC#123304).
   * s390: avoid z13 cache aliasing (bnc#925012).
   * s390: enable large page support with CONFIG_DEBUG_PAGEALLOC
   * s390: z13 base performance (bnc#925012, LTC#KRN1514).
   * s390/spinlock: cleanup spinlock code (bnc#925012).
   * s390/spinlock: optimize spinlock code sequence (bnc#925012).
   * s390/spinlock,rwlock: always to a load-and-test first (bnc#925012).
   * s390/spinlock: refactor arch_spin_lock_wait[_flags] (bnc#925012).
   * s390/spinlock: optimize spin_unlock code (bnc#925012).
   * s390/rwlock: add missing local_irq_restore calls (bnc#925012).
   * s390/time: use stck clock fast for do_account_vtime (bnc#925012).
   * s390/kernel: use stnsm 255 instead of stosm 0 (bnc#925012).
   * s390/mm: align 64-bit PIE binaries to 4GB (bnc#925012).
   * s390/mm: use pfmf instruction to initialize storage keys
   * s390/mm: speedup storage key initialization (bnc#925012).
   * s390/memory hotplug: initialize storage keys (bnc#925012).
   * s390/memory hotplug: use pfmf instruction to initialize storage keys
   * s390/facilities: cleanup PFMF and HPAGE machine facility detection
   * powerpc/perf: Cap 64bit userspace backtraces to PERF_MAX_STACK_DEPTH
   * powerpc+sparc64/mm: Remove hack in mmap randomize layout
   * powerpc: Make chip-id information available to userspace
   * powerpc/mm: Fix mmap errno when MAP_FIXED is set and mapping exceeds
     the allowed address space (bsc#930669).
   * ib/ipoib: Add missing locking when CM object is deleted (bsc#924340).
   * ib/ipoib: Fix RCU pointer dereference of wrong object (bsc#924340).
   * IPoIB: Fix race in deleting ipoib_neigh entries (bsc#924340).
   * IPoIB: Fix ipoib_neigh hashing to use the correct daddr octets
   * IPoIB: Fix AB-BA deadlock when deleting neighbours (bsc#924340).
   * IPoIB: Fix memory leak in the neigh table deletion flow (bsc#924340).
   * ch: fixup refcounting imbalance for SCSI devices (bsc#925443).
   * ch: remove ch_mutex (bnc#925443).
   * DLPAR memory add failed on Linux partition (bsc#927190).
   * Revert "pseries/iommu: Remove DDW on kexec" (bsc#926016).
   * Revert "powerpc/pseries/iommu: remove default window before
     attempting DDW manipulation" (bsc#926016).
   * alsa: hda_intel: apply the Seperate stream_tag for Sunrise Point
   * alsa: hda_intel: apply the Seperate stream_tag for Skylake
   * alsa: hda_controller: Separate stream_tag for input and output
     streams (bsc#925370).
   * md: do not give up looking for spares on first failure-to-add
   * md: fix safe_mode buglet (bnc#926767).
   * md: do not wait for plug_cnt to go to zero (bnc#891641).
   * epoll: fix use-after-free in eventpoll_release_file (epoll scaling).
   * eventpoll: use-after-possible-free in epoll_create1() (bug#917648).
   * direct-io: do not read inode->i_blkbits multiple times (bnc#919357).
   * scsifront: do not use bitfields for indicators modified under
     different locks.
   * msi: also reject resource with flags all clear.
   * pvscsi: support suspend/resume (bsc#902286).
   * do not switch internal CDC device on IBM NeXtScale nx360 M5
   * dm: optimize use SRCU and RCU (bnc#910517).
   * uvc: work on XHCI controllers without ring expansion (bnc#915045).
   * qla2xxx: Do not crash system for sp ref count zero
   * megaraid_sas : Update threshold based reply post host index register
   * bnx2x: Fix kdump when iommu=on (bug#921769).
   * Provide/Obsolete all subpackages of old flavors (bnc#925567)
   * tgcs: Ichigan 6140-x3x Integrated touchscreen is not precised

Security Issues:

   * CVE-2014-8086
     <<a  rel="nofollow" href=""></a>>
   * CVE-2014-8159
     <<a  rel="nofollow" href=""></a>>
   * CVE-2014-9419
     <<a  rel="nofollow" href=""></a>>
   * CVE-2014-9529
     <<a  rel="nofollow" href=""></a>>
   * CVE-2014-9683
     <<a  rel="nofollow" href=""></a>>
   * CVE-2015-0777
     <<a  rel="nofollow" href=""></a>>
   * CVE-2015-1421
     <<a  rel="nofollow" href=""></a>>
   * CVE-2015-2041
     <<a  rel="nofollow" href=""></a>>
   * CVE-2015-2042
     <<a  rel="nofollow" href=""></a>>
   * CVE-2015-2150
     <<a  rel="nofollow" href=""></a>>
   * CVE-2015-2830
     <<a  rel="nofollow" href=""></a>>
   * CVE-2015-2922
     <<a  rel="nofollow" href=""></a>>
   * CVE-2015-3331
     <<a  rel="nofollow" href=""></a>>
   * CVE-2015-3339
     <<a  rel="nofollow" href=""></a>>
   * CVE-2015-3636
     <<a  rel="nofollow" href=""></a>>