-
CVE-2019-14835
vhost-net: guest to host kernel escape during migration
A buffer overflow vulnerability was found in the networking virtualization functionality (vhost-net) that could be abused during live migration of virtual machines. A privileged guest user may pass descriptors with invalid length to the host when live migration is underway to crash the host kernel or, potentially, escalate their privileges on the host.
https://bugzilla.redhat.com/show_bug.cgi?id=1750727
-
PSBM-96533
The warning in mem_cgroup_reparent_charges() was triggered too early and too often in certain cases.
-
PSBM-96262
kvm: potential system hang due to an error in mmu_shrink_scan().
-
CVE-2018-16871
nfs: NULL pointer dereference due to an anomalized NFS message sequence.
An attacker, who is able to mount an exported NFS filesystem, is able to trigger a null pointer dereference by using an invalid NFS sequence. This can panic the machine and deny access to the NFS server. Any outstanding disk writes to the NFS server will be lost.
https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2018-16871
-
PSBM-96057
Processes could get stuck in copy_net_ns() forever.
-
PSBM-95815
vziolimit: kernel crash due to a division by zero in throttle_charge().
-
VSTOR-24241
mem_cgroup_reparent_charges() could get stuck while holding cgroup_mutex and make the whole system hang.
-
PSBM-95077
kvm: inefficient memory shrinking for VMs.
It was discovered that a node with dozens of CPU cores, lots of RAM and many VMs running could get into a situation when almost all CPU cores were busy in mmu_shrink_scan(). This could happen because memory shrinking was done under kvm_lock spinlock and only for one VM at a time. All CPU cores but one just waited for kvm_lock in such cases, while the last one was busy with the actual memory shrinking for a VM.
-
CVE-2019-11477
tcp: integer overflow while processing SACK blocks allows remote denial of service.
An integer overflow was found in the way the Linux kernel's networking subsystem processed TCP Selective Acknowledgment (SACK) segments. While processing SACK segments, the Linux kernel's socket buffer (SKB) data structure becomes fragmented. Each fragment is about TCP maximum segment size (MSS) bytes. To efficiently process SACK blocks, the Linux kernel merges multiple fragmented SKBs into one, potentially overflowing the variable holding the number of segments. A remote attacker could use this flaw to crash the Linux kernel by sending a crafted sequence of SACK segments on a TCP connection with small value of TCP MSS, resulting in a denial of service.
https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2019-11477
-
VSTOR-22575
OOM killer would kill tasks from cgroups without memory guarantees first.
If the amount of free memory is low, OOM killer would kill the tasks from cgroups without memory guarantees first. However, it seems more reasonable to kill the tasks from cgroups exceeding their guarantees the most.
-
PSBM-92312
virtio_scsi: a race condition in the Linux block layer could cause certain I/O requests to hang.
-
PSBM-94270
ploop: kernel crash in ploop_congested().
-
PSBM-93988
ext4: inode tables created during online resize were not zeroed.
It was discovered that inode tables created during online resize of an ext4 filesystem were not zeroed after that. This could potentially result in lower performance of the filesystem.
-
PSBM-94429
Windows Server 2016 Essentials failed to install into a QEMU VM with disabled PMU.
It was found that if no PMU counters were exposed to guest, KVM skipped the whole remaining PMU-related initialization, including filling of LBR-related data. As it turned out, Windows Server 2016 Essentials tried to access these data during the installation and failed to install as a result.
-
PSBM-94727
ploop: 'pcompact' could hang if run simultaneously with 'ploop-balloon status'
-
PSBM-94535
Memory leak in the implementation of IPv4 routing.
It was discovered that a certain sequence of operations related to IPv4 routing could trigger a kernel memory leak. An attacker could potentially exploit that from a container to cause a denial of service.
-
CVE-2019-6974
KVM: potential use-after-free via kvm_ioctl_create_device().
A use-after-free vulnerability was found in the way KVM implements its device control API. When a device is created via kvm_ioctl_create_device(), it holds a reference to a VM object. This reference is transferred to file descriptor table of the caller. If such file descriptor was closed, reference count to the VM object could become zero, which could lead to a use-after-free issue. A user/process could use this flaw to crash the guest VM resulting in a denial of service or, potentially, gain privileged access to a system.
https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2019-6974
-
CVE-2019-7221
KVM: use-after-free in the emulation of the preemption timer for the L2 guest systems.
A use-after-free vulnerability was found in the way KVM emulates a preemption timer for L2 guests when nested virtualization is enabled. A guest user/process could use this flaw to crash the host kernel resulting in a denial of service or, potentially, gain privileged access to a system.
https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2019-7221
-
PSBM-93349
ploop: potential data corruption due to a race between 'prepare_merge' and 'submit_alloc' operations.
-
PSBM-93713
High order page allocations were made in neigh_probe() in certain cases.
-
PSBM-93672
High order page allocations were triggered by CRIU while restoring TCP sockets.
-
VSTOR-21390
Network performance issues due to the usage of pfmemalloc reserves.
It was discovered that network drivers could allocate memory for the socket buffers from pfmemalloc memory reserves, even when it was unnecessary. As a result, the network packets were dropped by sk_filter_trim_cap() causing performance issues.
-
PSBM-93052
skb drops due to the usage of pfmemalloc reserves were difficult to debug.
Additional diagnostics was introduced to make it easier to detect and analyze skb drops due to the usage of pfmemalloc reserves.
-
PSBM-93016
KVM did not update CPUID bits OSXSAVE and OSPKE in some cases.
It was discovered that CPUID bits OSXSAVE and OSPKE were not updated properly by KVM when the guest system rebooted. As a result, the guest system could crash.
-
PSBM-92132
The per-container limit on the network interfaces was too low for Docker in some cases.
It was discovered that Docker running inside a Virtuozzo container could hit the limit on the network interfaces (256) when it tried to start 50+ its containers. This fix allows changing that limit for the running containers and increases the default limit to 1024.
-
PSBM-92064
txqueuelen could not be changed via SIOCSIFTXQLEN ioctl on the host.
-
PSBM-91819
Kernel crash in ext4_clear_inode().
-
PSBM-91566
A large tarball with a lot of small files can fail to unpack inside a container if kmem limit is set.
It was found that unpacking a large tarball with a lot of small files could fail inside a container. This could happen because kmem limit was hit prematurely, while reclaimable memory was still available.
-
PSBM-91598
sr_mod: kernel crash in sr_block_revalidate_disk().
-
PSBM-91794
overlayfs: kernel crash in may_open().
CVE-2019-10140. An attacker with local access can create a denial of service situation via NULL pointer dereference in ovl_posix_acl_create(). The ovl_create() function can return a positive number leading to a null pointer derference of path in may_open(). This can allow attackers with ability to create directories on overlayfs to crash the kernel creating a Denial Of Service (DOS).
-
PSBM-91042
Links to certain files in /proc/ inside containers were not validated.
It was discovered that a malicious user inside a Virtuozzo container could potentially overwrite "vzctl" binary on the host. The attacker could replace executables in that container with symlinks to /proc/self/exe. After that, "vzctl exec" called from the host to run one of such executables would try to run the host's "vzctl" there instead. If the attacker managed to intercept that, they would be able to change the contents of the host's "vzctl" binary. The issue is similar to CVE-2019-5736, but affects "vzctl" rather than "runc".
https://virtuozzosupport.force.com/s/article/000017636
-
PSBM-91361
Kernel crash (BUG_ON) ploop_relocblks_ioc().
-
PSBM-91032
/proc/sys/net/core/somaxconn was not available in the containers.
-
CVE-2018-18397
userfaultfd bypasses tmpfs file permissions.
A flaw was found in the implementation of userfaultfd. An attacker is able to bypass file permissions on filesystems mounted with tmpfs/hugetlbs to modify a file and possibly disrupt normal system behaviour. At this time there is an understanding there is no crash or priviledge escalation but the impact of modifications on these filesystems of files in production systems may have adverse affects.
https://bugzilla.redhat.com/show_bug.cgi?id=1641548
-
PSBM-91527
ipvs: an unneeded debug message is output when a network namespace is initialized.
Debug message 'IPVS: Creating netns size=... id=...' could be output many times to the system log when the network namespaces are initialized, making the log less readable.
-
PSBM-91181
'perf record -a' causes segfaults in applications executing vsyscalls.
-
PSBM-90828
Resuming a container failed on the systems with PKU supported by the CPUs but not by the kernel.
If the CPUs in the system supported memory protection keys for userspace (X86_FEATURE_PKU) but the kernel did not, resuming a container could fail. This only affects kernel 3.10.0-693.21.1.vz7.48.2 and older.
-
PSBM-90803
Some operations with ebtables could consume large amounts of memory, resulting in DoS.
A flaw was found in the implementation of ebtables in the Linux kernel. A local attacker in a container could exploit it to consume large amounts of memory, eventually causing denial of service on the host.
-
PSBM-90329
Kernel crash (access out of bounds) in SyS_mincore().
-
PSBM-90291
vhost: kernel crash (access out of bounds) in memcpy_fromiovecend().
-
PSBM-89403
tcache was not shrunk in some situations.
-
CVE-2018-16884
NFS: use-after-free in svc_process_common().
A flaw was found in the implementation of NFS v4.1 in the Linux kernel. NFS v4.1 shares mounted in different network namespaces at the same time can make bc_svc_process() use wrong back-channel id and cause a use-after-free. A malicious user in a container can exploit this to cause a host kernel memory corruption and a system crash.
https://bugzilla.redhat.com/show_bug.cgi?id=1660375
-
CVE-2018-9568
Memory corruption due to incorrect socket cloning.
Transforming an IPv6-socket to an IPv4, and then transforming it back to a listening socket could result in a kernel memory corruption. An unprivileged user on the host or in a container could exploit this to crash the kernel.
https://bugzilla.redhat.com/show_bug.cgi?id=1655904
-
PSBM-90052
Asynchronous discard requests could fail with EIO because ploop did not properly align them.
-
PSBM-90024
Some operations with NFS server running in a container could crash the host kernel.
It was discovered that a special sequence of operations involving NFS server in a container with FEATURES="nfsd=on" could crash the host kernel.
-
PSBM-89856
Data corruption after online resize of an empty ploop image located on Virtuozzo Storage.
-
CVE-2018-16862
cleancache: missing invalidation of an inode could cause data corruption.
-
PSBM-89583
Errors in the implementation of online resize in ext4 caused failures of ploop resize operations.
-
PSBM-89323
Potential kernel crash in cbt_flush_cpu_cache().
-
PSBM-89725
Ploop: integer overflow in the implementation of direct IO could lead to errors when resizing the ploop image.
-
PSBM-89520
Incorrect accounting of network namespaces in the error paths in copy_net_ns().
-
CVE-2018-18559
Use-after-free due to race condition in AF_PACKET implementation.
It was discovered that a race condition between packet_do_bind() and packet_notifier() in the implementation of AF_PACKET could lead to use-after-free. An unprivileged user on the host or in a container could exploit this to crash the kernel or, potentially, to escalate their privileges in the system.
https://bugzilla.redhat.com/show_bug.cgi?id=1641878
-
PSBM-88809
Potential kernel crash in ext4_close_pfcache().
-
CVE-2018-14634
Integer overflow in create_elf_tables() function.
An integer overflow flaw was found in create_elf_tables(). An unprivileged local user with access to SUID (or otherwise privileged) binary could use this flaw to escalate their privileges on the system.
https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2018-14634
-
CVE-2017-1000365
Bypass of the size restriction on the arguments and environment variables of a process.
The Linux kernel imposes a size limit on the memory needed to store the arguments and environment variables of a process, 1/4 of the maximum stack size (RLIMIT_STACK). However, the pointers to these data were not taken into account, which allowed attackers to bypass the limit and even exhaust the stack of the process.
https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2017-1000365
-
PSBM-88818
Kernel crash in __run_hrtimer().
It was found that the implementation of high resolution timers ('hrtimer' subsystem) did not handle the situation when a timer was started simultaneously with its restart in another thread. As a result, a BUG_ON() could trigger in __run_hrtimer() leading to kernel crash.
-
PSBM-88577
Soft lockup in xfrm_policy_flush().
If an error occurred during execution of xfrm_net_init() when a new network namespace was created, xfrm_policy_lock could remain uninitialized. As a result, soft lockup could happen in xfrm_policy_flush() if it tried to acquire the lock after that.
-
PSBM-88561
ploop: kernel crash in dio_open().
It was found that the implementation of ploop did not handle errors reported by kthread_create() properly. This could lead to a kernel crash in dio_open().
-
PSBM-88082
File systems: insufficient error handling in sget() could lead to excessive memory consumption.
-
PSBM-73001
sunrpc: potential kernel crash (use after free) in svc_process_common().
-
PSBM-87649
Potential out-of-bounds read in fuse_dev_splice_write().
-
PSBM-87670
Attempts to start a container fail with errors like 'cannot create directory /sys/fs/cgroup/beancounter/{something}'.
-
PSBM-87281
'libvirtd' service was unresponsive because 'cgroup_mutex' was held for a long time.
-
PSBM-87642
Host system could hang because of a leaked cache-related counter in memcg.
-
PSBM-87338
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.
-
CVE-2017-18344
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).
https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2017-18344
-
CVE-2018-13405
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.
https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2018-13405
-
PSBM-86804
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.
-
PSBM-86790
Missing unlock_page() in the error path in fuse_readpages_fill().
-
PSBM-80743
Kernel warning in kill_block_super() when a mount operation fails.
-
PSBM-86511
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.
-
PSBM-86420
Kernel crashes (NULL pointer dereference) if memory allocation fails in alloc_vfsmnt().
https://bugs.openvz.org/browse/OVZ-7039
-
CVE-2018-1120
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.
https://bugzilla.redhat.com/show_bug.cgi?id=1575472
-
PSBM-86093
Potential kernel crash (NULL pointer dereference) in ip6_route_dev_notify().
-
PSBM-85929
Potential kernel crash (NULL pointer dereference) in sysfs_readdir().
-
CVE-2018-5803
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.
https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2018-5803
-
PSBM-81731
Potential kernel crash in tcache_detach_page().
-
CVE-2018-1000199
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.
https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2018-1000199
-
CVE-2018-1087
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.
https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2018-1087
-
PSBM-84191
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.
-
CVE-2017-17807
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.
https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2017-17807
-
CVE-2017-17450
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.
https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2017-17450
-
CVE-2017-17449
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.
https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2017-17449
-
CVE-2017-17448
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.
https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2017-17448
-
PSBM-83691
Kernel crash in shrink_slab() when trying to mount an image with a broken ext4 file system.
-
PSBM-83628
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.
-
PSBM-83746
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.
-
PSBM-83874
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.
https://www.spinics.net/lists/netdev/msg496514.html
-
CVE-2018-1130
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.
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=67f93df79aeefc3add4e4b31a752600f834236e2
-
PSBM-83474
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.
-
PSBM-79229
Live migration of containers failed: it could not create tun device.
If a container used its own network namespace for tun devices, suspend/resume and live migration of the container would fail with errors like "Can't create tun device".
-
PSBM-81798
IPv6 routing tables incorrectly handled routing rules for throw routes.
It was discovered that IPv6 routing tables incorrectly handled routing rules for throw routes. This happened because errors were not propagated properly up to the fib_rules_lookup().
-
PSBM-82766
Container remained mounted in some cases after 'shutdown -h now' in it.
It was discovered that incorrect state of a container could be reported in /sys/fs/cgroup/ve/CTID/ve.state in some cases, which confused the user-space tools. As a result, a container could remain mounted after 'shutdown -h now' in it.
-
PSBM-82984
Potential kernel crash in fs/file.c: out-of-bounds access to the file descriptor table.
-
CVE-2018-1068
ebtables: out-of-bounds write via userland offsets in ebt_entry struct.
It was discovered that the implementation of ebtables in the kernel did not properly validate the offsets received from the user space. A local user with enough privileges in the user and network namespaces could use that to trigger an out-of-bounds write to the kernel address space.
https://bugzilla.redhat.com/show_bug.cgi?id=1552048
-
PSBM-81940
tcache invalidation was broken.
The fix for a race in tcache inadvertently broke tcache invalidation, leading to kernel warnings in tcache_invalidate_node_pages() among other things.
-
PSBM-81939
Potential kernel hang (endless loop) in try_charge().