Containers failed to start due to memory allocation failure in ip_set_net_init().
Kernel module 'ip_set' tried to allocate physically contiguous memory areas for its array of pointers to 'ip_set' structures in ip_set_net_init(). If large enough maximum number of IP sets was requested from the user space, memory allocation would fail. Containers would fail to start as a result.
Out-of-bounds access in show_timer() function.
The implementation of timer_create system call in the Linux kernel before 4.14.8 doesn't properly validate the sigevent::sigev_notify field, which leads to out-of-bounds access in the show_timer function (called when /proc/$PID/timers is read). This allows userspace applications to read arbitrary kernel memory (on a kernel built with CONFIG_POSIX_TIMERS and CONFIG_CHECKPOINT_RESTORE).
SGID bit was not cleared on the files created by the users not present in the group that owned the SGID directory.
It was discovered that the local users could create files with an unintended group ownership and with group execution and SGID permission bits set. It was possible when a directory was SGID, belonged to a certain group and was writable by a user who was not a member of this group. This could lead to excessive permissions granted in case when they should not.
sctp: user-triggerable soft lockups.
A flaw was discovered in the implementation of SCTP protocol. A local unprivileged user could exploit it to cause soft lockups in the kernel (and, eventually, a denial of service) using specially crafted sequences of system calls.
Missing unlock_page() in the error path in fuse_readpages_fill().
Kernel warning in kill_block_super() when a mount operation fails.
The system could fail to restore a container with lots of mounts even if the number of mounts was within the limit.
It was discovered that the system could fail to restore a container ("VZctlError: Not enough system resources") if the container had more mounts than one third of the limit shown in /proc/sys/fs/ve-mount-nr.
Kernel crash in fuse_direct_IO_bvec().
It was discovered that an assertion (BUG_ON) in fuse_direct_IO_bvec() was too strict and could be triggered during the normal operation of FUSE, leading to a kernel crash.
Kernel crashes (NULL pointer dereference) if memory allocation fails in alloc_vfsmnt().
Mapping a FUSE-backed file onto the command line arguments of a process causes denial of service.
By mapping a FUSE-backed file onto the memory area containing command line arguments or environment strings of a process, an attacker can cause any program that reads /proc//cmdline or /proc//environ for that process to block indefinitely or for a controlled amount of time. 'ps' and 'w' utilities are affected, among other things.
Potential kernel crash (NULL pointer dereference) in ip6_route_dev_notify().
Potential kernel crash (NULL pointer dereference) in sysfs_readdir().
Kernel crash due to missing length check in _sctp_make_chunk() function.
It was found that _sctp_make_chunk() function did not check if the chunk length for INIT and INIT_ACK packets was within the allowed limits. A local attacker could exploit this to trigger a kernel crash.
Potential kernel crash in tcache_detach_page().
ptrace: incorrect error handling leads to corruption and DoS.
The implementation of ptrace in the kernel does not handle errors correctly when working with the debug registers. As a result, the hardware breakpoints could become corrupted. An unprivileged user could exploit this flaw to crash the kernel resulting in a denial-of-service, or, potentially, to escalate their privileges in the system.
KVM: error in exception handling leads to wrong debug stack.
A flaw was found in how KVM handled exceptions delivered after Mov SS or Pop SS instructions have encountered a breakpoint. As a result, exceptions passed to the guest kernel could have wrong values on the stack. An unprivileged KVM guest user could use this flaw to crash the guest kernel or, potentially, escalate their privileges in the guest system.
ip utility hangs in netlink_recvmsg().
It was discovered that the newer versions of ip utility (4.11.0, for example) may hang in netlink_recvmsg() when running on the kernel 3.10.0-693.21.1.vz7.46.7 and older. This was caused by mis-interpretation of netlink commands.
Missing permissions check for request_key() destination allows local attackers to add keys to keyring without write permission.
The KEYS subsystem omitted an access-control check when writing a key to the default keyring of the current task, allowing a local user to bypass security checks for the keyring. This compromised the validity of the keyring for those who relied on it.
System-wide OS fingerprint list was accessible to unprivileged users.
It was discovered that xt_osf_fingers data structure was accessible from any network namespace. This allowed unprivileged local users to bypass intended access restrictions and modify the system-wide OS fingerprint list used by specific iptables rules.
Netlink monitor created in a namespace could observe system-wide activity.
It was discovered that a nlmon link inside a child network namespace was not restricted to that namespace. An unprivilged local user could exploit that to monitor system-wide netlink activity.
Potential unprivileged access to the kernel structures used by netfilter conntrack helpers.
It was discovered that nfnl_cthelper_list structure was accessible to any user with CAP_NET_ADMIN capability in a network namespace. An unprivilged local user could exploit that to affect netfilter conntrack helpers on the host.
Kernel crash in shrink_slab() when trying to mount an image with a broken ext4 file system.
Offlined memory cgroups were not destroyed for a long time.
It was found that offlined memory cgroups were not destroyed for a long time in some cases. As a result, the system could hit the limit on cgroups (65535) and would be unable to create new ones.
Kernel crash in move_freepages() due to incorrect BUG_ON() check.
It was discovered that the BUG_ON() check in move_freepages() did not verify that the relevant memory pages were valid. The kernel could crash as a result.
Kernel crash (stack overflow) caused by lots of internal mounts.
It was discovered that clone_mnt() did not clear MNT_INTERNAL flag for the internal mounts. As a result, the kernel could crash due to a stack overflow if lots of bind mounts of /proc/*/ns/* were created in a new namespace.
Kernel crash in dccp_write_xmit().
If "dccp_ipv6" module was loaded on the host, a local unprivileged user could trigger a kernel crash in dccp_write_xmit() or inet_csk_get_port() using a specially crafted sequence of system calls.
Kernel crash in ip6mr_sk_done().
If the kernel failed to create an IPv6 socket, for example, due to cgroup.memsw limit, it would crash in ip6mr_sk_done() when trying to clean up multicast routes.