kernel (SL7)

Synopsis: Important: kernel security and bug fix update
Advisory ID: SLSA-2016:1277-1
Issue Date: 2016-06-23
CVE Numbers: CVE-2015-8767

To see the complete list of bug fixes, users are directed to the related
Knowledge Article:

Security Fixes:

* A flaw was found in the way certain interfaces of the Linux kernel’s
Infiniband subsystem used write() as bi-directional ioctl() replacement,
which could lead to insufficient memory security checks when being invoked
using the splice() system call. A local unprivileged user on a system with
either Infiniband hardware present or RDMA Userspace Connection Manager
Access module explicitly loaded, could use this flaw to escalate their
privileges on the system. (CVE-2016-4565, Important)

* A race condition flaw was found in the way the Linux kernel’s SCTP
implementation handled sctp_accept() during the processing of heartbeat
timeout events. A remote attacker could use this flaw to prevent further
connections to be accepted by the SCTP server running on the system,
resulting in a denial of service. (CVE-2015-8767, Moderate)

Bug Fixes:

* When Small Computer System Interface (SCSI) devices were removed or
deleted, a system crash could occur due to a race condition between
listing all SCSI devices and SCSI device removal. The provided patch
ensures that the starting node for the klist_iter_init_node() function is
actually a member of the list before using it. As a result, a system crash
no longer occurs in the described scenario.

* This update offers a reworked series of patches for the resizable hash
table (rhashtable) including a number of backported bug fixes and
enhancements from upstream.

* Previously, the same value of the mperf Model-Specific Register (MSR)
read twice in a row could lead to a kernel panic due to the divide-by-zero
error. The provided patch fixes this bug, and the kernel now handles two
identical values of mperf gracefully.

* When a transparent proxy application was running and the number of
established connections on the computer exceeded one million, unrelated
processes, such as curl or ssh, were unable to bind to a local IP on the
box to initiate a connection. The provided patch fixes the cooperation of
the REUSEADDR/NOREUSEADDR socket option, and thus prevents the local port
from being exhausted. As a result, the aforementioned bug no longer occurs
in the described scenario.

* Previously, the kernel support for non-local bind for the IPv6 protocol
was incomplete. As a consequence, an attempt to bind a socket to an IPv6
address that is not assigned to the host could fail. The provided patch
includes changes in the ip_nonlocal_bind variable, which is now set to
allow binding to an IPv6 address that is not assigned to the host. As a
result, Linux servers are now able to bind to non-local IPv6 addresses as

* On some servers with a faster CPU, USB initialization could previously
lead to a kernel hang during boot. If this inconvenience occurred when
booting the second kernel during the kdump operation, the kdump service
failed and the vmcore was lost. The provided upstream patch fixes this
bug, and the kernel no longer hangs after USB initialization.

* Previously, when running iperf servers using the mlx4_en module, a
kernel panic occurred. The underlying source code has been fixed, and the
kernel panic no longer occurs in the described scenario.


– Scientific Linux Development Team