kernel (SL7)

Synopsis: Important: kernel security and bug fix update
Advisory ID: SLSA-2017:1615-1
Issue Date: 2017-06-28
CVE Numbers: CVE-2017-6214

Security Fix(es):

* A flaw was found in the way Linux kernel allocates heap memory to build
the scattergather list from a fragment list(skb_shinfo(skb)->frag_list) in
the socket buffer(skb_buff). The heap overflow occurred if ‘MAX_SKB_FRAGS
+ 1’ parameter and ‘NETIF_F_FRAGLIST’ feature were used together. A remote
user or process could use this flaw to potentially escalate their
privilege on a system. (CVE-2017-7477, Important)

* The NFS2/3 RPC client could send long arguments to the NFS server. These
encoded arguments are stored in an array of memory pages, and accessed
using pointer variables. Arbitrarily long arguments could make these
pointers point outside the array and cause an out-of-bounds memory access.
A remote user or program could use this flaw to crash the kernel (denial
of service). (CVE-2017-7645, Important)

* The NFSv2 and NFSv3 server implementations in the Linux kernel through
4.10.13 lacked certain checks for the end of a buffer. A remote attacker
could trigger a pointer-arithmetic error or possibly cause other
unspecified impacts using crafted requests related to fs/nfsd/nfs3xdr.c
and fs/nfsd/nfsxdr.c. (CVE-2017-7895, Important)

* The Linux kernel built with the Kernel-based Virtual Machine
(CONFIG_KVM) support was vulnerable to an incorrect segment selector(SS)
value error. The error could occur while loading values into the SS
register in long mode. A user or process inside a guest could use this
flaw to crash the guest, resulting in DoS or potentially escalate their
privileges inside the guest. (CVE-2017-2583, Moderate)

* A flaw was found in the Linux kernel’s handling of packets with the URG
flag. Applications using the splice() and tcp_splice_read() functionality
could allow a remote attacker to force the kernel to enter a condition in
which it could loop indefinitely. (CVE-2017-6214, Moderate)

Bug Fix(es):

* Previously, the reserved-pages counter (HugePages_Rsvd) was bigger than
the total-pages counter (HugePages_Total) in the /proc/meminfo file, and
HugePages_Rsvd underflowed. With this update, the HugeTLB feature of the
Linux kernel has been fixed, and HugePages_Rsvd underflow no longer

* If a directory on a NFS client was modified while being listed, the NFS
client could restart the directory listing multiple times. Consequently,
the performance of listing the directory was sub-optimal. With this
update, the restarting of the directory listing happens less frequently.
As a result, the performance of listing the directory while it is being
modified has improved.

* The Fibre Channel over Ethernet (FCoE) adapter in some cases failed to
reboot. This update fixes the qla2xxx driver, and FCoE adapter now reboots
as expected.

* When a VM with Virtual Function I/O (VFIO) device was rebooted, the QEMU
process occasionally terminated unexpectedly due to a failed VFIO Direct
Memory Access (DMA) map request. This update fixes the vfio driver and
QEMU no longer crashes in the described situation.

* When the operating system was booted with the in-box lpfc driver, a
kernel panic occurred on the little-endian variant of IBM Power Systems.
This update fixes lpfc, and the kernel no longer panics in the described

* When creating or destroying a VM with Virtual Function I/O (VFIO)
devices with “Hugepages” feature enabled, errors in Direct Memory Access
(DMA) page table entry (PTE) mappings occurred, and QEMU memory usage
behaved unpredictably. This update fixes range computation when making
room for large pages in Input/Output Memory Management Unit (IOMMU). As a
result, errors in DMA PTE mappings no longer occur, and QEMU has a
predictable memory usage in the described situation.


– Scientific Linux Development Team