Security update for the Linux Kernel
The SUSE Linux Enterprise 12 SP3 kernel was updated to receive various security and bugfixes. The following security bugs were fixed: - CVE-2021-3347: A use-after-free was discovered in the PI futexes during fault handling, allowing local users to execute code in the kernel (bnc#1181349). - CVE-2020-25211: Fixed a buffer overflow in ctnetlink_parse_tuple_filter() which could be triggered by a local attackers by injecting conntrack netlink configuration (bnc#1176395). - CVE-2020-27835: A use-after-free in the infiniband hfi1 driver was found, specifically in the way user calls Ioctl after open dev file and fork. A local user could use this flaw to crash the system (bnc#1179878). - CVE-2020-29569: Fixed a potential privilege escalation and information leaks related to the PV block backend, as used by Xen (bnc#1179509). - CVE-2020-29568: Fixed a denial of service issue, related to processing watch events (bnc#1179508). - CVE-2020-0444: Fixed a bad kfree due to a logic error in audit_data_to_entry (bnc#1180027). - CVE-2020-0465: Fixed multiple missing bounds checks in hid-multitouch.c that could have led to local privilege escalation (bnc#1180029). - CVE-2020-0466: Fixed a use-after-free due to a logic error in do_epoll_ctl and ep_loop_check_proc of eventpoll.c (bnc#1180031). - CVE-2020-4788: Fixed an issue with IBM Power9 processors could have allowed a local user to obtain sensitive information from the data in the L1 cache under extenuating circumstances (bsc#1177666). - CVE-2020-15436: Fixed a use after free vulnerability in fs/block_dev.c which could have allowed local users to gain privileges or cause a denial of service (bsc#1179141). - CVE-2020-27068: Fixed an out-of-bounds read due to a missing bounds check in the nl80211_policy policy of nl80211.c (bnc#1180086). - CVE-2020-27777: Fixed a privilege escalation in the Run-Time Abstraction Services (RTAS) interface, affecting guests running on top of PowerVM or KVM hypervisors (bnc#1179107). - CVE-2020-27786: Fixed an out-of-bounds write in the MIDI implementation (bnc#1179601). - CVE-2020-27825: Fixed a race in the trace_open and buffer resize calls (bsc#1179960). - CVE-2020-29660: Fixed a locking inconsistency in the tty subsystem that may have allowed a read-after-free attack against TIOCGSID (bnc#1179745). - CVE-2020-29661: Fixed a locking issue in the tty subsystem that allowed a use-after-free attack against TIOCSPGRP (bsc#1179745). - CVE-2020-28974: Fixed a slab-out-of-bounds read in fbcon which could have been used by local attackers to read privileged information or potentially crash the kernel (bsc#1178589). - CVE-2020-28915: Fixed a buffer over-read in the fbcon code which could have been used by local attackers to read kernel memory (bsc#1178886). - CVE-2020-25669: Fixed a use-after-free read in sunkbd_reinit() (bsc#1178182). - CVE-2020-15437: Fixed a null pointer dereference which could have allowed local users to cause a denial of service(bsc#1179140). - CVE-2020-36158: Fixed a potential remote code execution in the Marvell mwifiex driver (bsc#1180559). - CVE-2020-11668: Fixed the mishandling of invalid descriptors in the Xirlink camera USB driver (bnc#1168952). - CVE-2020-25285: Fixed a race condition between hugetlb sysctl handlers in mm/hugetlb.c (bnc#1176485). - CVE-2019-20934: Fixed a use-after-free in show_numa_stats() because NUMA fault statistics were inappropriately freed (bsc#1179663). - CVE-2018-10902: It was found that the raw midi kernel driver did not protect against concurrent access which leads to a double realloc (double free) in snd_rawmidi_input_params() and snd_rawmidi_output_status() which are part of snd_rawmidi_ioctl() handler in rawmidi.c file. A malicious local attacker could possibly use this for privilege escalation (bnc#1105322). The following non-security bugs were fixed: - cifs: do not revalidate mountpoint dentries (bsc#1177440). - cifs: fix potential use-after-free in cifs_echo_request() (bsc#1139944). - cifs: ignore revalidate failures in case of process gets signaled (bsc#1177440). - epoll: Keep a reference on files added to the check list (bsc#1180031). - fix regression in 'epoll: Keep a reference on files added to the check list' (bsc#1180031, git-fixes). - futex: Avoid freeing an active timer (bsc#969755). - futex: Avoid violating the 10th rule of futex (bsc#969755). - futex: Change locking rules (bsc#969755). - futex: Do not enable IRQs unconditionally in put_pi_state() (bsc#969755). - futex: Drop hb->lock before enqueueing on the rtmutex (bsc#969755). - futex: Fix incorrect should_fail_futex() handling (bsc#969755). - futex: Fix more put_pi_state() vs. exit_pi_state_list() races (bsc#969755). - futex: Fix OWNER_DEAD fixup (bsc#969755). - futex: Fix pi_state->owner serialization (bsc#969755). - futex: Fix small (and harmless looking) inconsistencies (bsc#969755). - futex: Futex_unlock_pi() determinism (bsc#969755). - futex: Handle early deadlock return correctly (bsc#969755). - futex: Handle transient 'ownerless' rtmutex state correctly (bsc#969755). - futex: Pull rt_mutex_futex_unlock() out from under hb->lock (bsc#969755). - futex: Rework futex_lock_pi() to use rt_mutex_*_proxy_lock() (bsc#969755). - futex: Rework inconsistent rt_mutex/futex_q state (bsc#969755). - futex,rt_mutex: Fix rt_mutex_cleanup_proxy_lock() (bsc#969755). - futex,rt_mutex: Introduce rt_mutex_init_waiter() (bsc#969755). - futex,rt_mutex: Provide futex specific rt_mutex API (bsc#969755). - futex,rt_mutex: Restructure rt_mutex_finish_proxy_lock() (bsc#969755). - HID: Fix slab-out-of-bounds read in hid_field_extract (bsc#1180052). - IB/hfi1: Clean up hfi1_user_exp_rcv_setup function (bsc#1179878). - IB/hfi1: Clean up pin_vector_pages() function (bsc#1179878). - IB/hfi1: Fix the bail out code in pin_vector_pages() function (bsc#1179878). - IB/hfi1: Move structure definitions from user_exp_rcv.c to user_exp_rcv.h (bsc#1179878). - IB/hfi1: Name function prototype parameters (bsc#1179878). - IB/hfi1: Use filedata rather than filepointer (bsc#1179878). - locking/futex: Allow low-level atomic operations to return -EAGAIN (bsc#969755). - mm/userfaultfd: do not access vma->vm_mm after calling handle_userfault() (bsc#1179204). - scsi: iscsi: Fix a potential deadlock in the timeout handler (bsc#1178272). - Use r3 instead of r13 for l1d fallback flush in do_uaccess_fush (bsc#1181096 ltc#190883). - video: hyperv_fb: include vmalloc.h (bsc#1175306).
02 / AFFECTED SOFTWARE
Affected packages
03 / CONNECTIONS
Connected vulnerabilities
04 / EVIDENCE
Source records
The SUSE Linux Enterprise 12 SP3 kernel was updated to receive various security and bugfixes. The following security bugs were fixed: - CVE-2021-3347: A use-after-free was discovered in the PI futexes during fault handling, allowing local users to execute code in the kernel (bnc#1181349). - CVE-2020-25211: Fixed a buffer overflow in ctnetlink_parse_tuple_filter() which could be triggered by a local attackers by injecting conntrack netlink configuration (bnc#1176395). - CVE-2020-27835: A use-after-free in the infiniband hfi1 driver was found, specifically in the way user calls Ioctl after open dev file and fork. A local user could use this flaw to crash the system (bnc#1179878). - CVE-2020-29569: Fixed a potential privilege escalation and information leaks related to the PV block backend, as used by Xen (bnc#1179509). - CVE-2020-29568: Fixed a denial of service issue, related to processing watch events (bnc#1179508). - CVE-2020-0444: Fixed a bad kfree due to a logic error in audit_data_to_entry (bnc#1180027). - CVE-2020-0465: Fixed multiple missing bounds checks in hid-multitouch.c that could have led to local privilege escalation (bnc#1180029). - CVE-2020-0466: Fixed a use-after-free due to a logic error in do_epoll_ctl and ep_loop_check_proc of eventpoll.c (bnc#1180031). - CVE-2020-4788: Fixed an issue with IBM Power9 processors could have allowed a local user to obtain sensitive information from the data in the L1 cache under extenuating circumstances (bsc#1177666). - CVE-2020-15436: Fixed a use after free vulnerability in fs/block_dev.c which could have allowed local users to gain privileges or cause a denial of service (bsc#1179141). - CVE-2020-27068: Fixed an out-of-bounds read due to a missing bounds check in the nl80211_policy policy of nl80211.c (bnc#1180086). - CVE-2020-27777: Fixed a privilege escalation in the Run-Time Abstraction Services (RTAS) interface, affecting guests running on top of PowerVM or KVM hypervisors (bnc#1179107). - CVE-2020-27786: Fixed an out-of-bounds write in the MIDI implementation (bnc#1179601). - CVE-2020-27825: Fixed a race in the trace_open and buffer resize calls (bsc#1179960). - CVE-2020-29660: Fixed a locking inconsistency in the tty subsystem that may have allowed a read-after-free attack against TIOCGSID (bnc#1179745). - CVE-2020-29661: Fixed a locking issue in the tty subsystem that allowed a use-after-free attack against TIOCSPGRP (bsc#1179745). - CVE-2020-28974: Fixed a slab-out-of-bounds read in fbcon which could have been used by local attackers to read privileged information or potentially crash the kernel (bsc#1178589). - CVE-2020-28915: Fixed a buffer over-read in the fbcon code which could have been used by local attackers to read kernel memory (bsc#1178886). - CVE-2020-25669: Fixed a use-after-free read in sunkbd_reinit() (bsc#1178182). - CVE-2020-15437: Fixed a null pointer dereference which could have allowed local users to cause a denial of service(bsc#1179140). - CVE-2020-36158: Fixed a potential remote code execution in the Marvell mwifiex driver (bsc#1180559). - CVE-2020-11668: Fixed the mishandling of invalid descriptors in the Xirlink camera USB driver (bnc#1168952). - CVE-2020-25285: Fixed a race condition between hugetlb sysctl handlers in mm/hugetlb.c (bnc#1176485). - CVE-2019-20934: Fixed a use-after-free in show_numa_stats() because NUMA fault statistics were inappropriately freed (bsc#1179663). - CVE-2018-10902: It was found that the raw midi kernel driver did not protect against concurrent access which leads to a double realloc (double free) in snd_rawmidi_input_params() and snd_rawmidi_output_status() which are part of snd_rawmidi_ioctl() handler in rawmidi.c file. A malicious local attacker could possibly use this for privilege escalation (bnc#1105322). The following non-security bugs were fixed: - cifs: do not revalidate mountpoint dentries (bsc#1177440). - cifs: fix potential use-after-free in cifs_echo_request() (bsc#1139944). - cifs: ignore revalidate failures in case of process gets signaled (bsc#1177440). - epoll: Keep a reference on files added to the check list (bsc#1180031). - fix regression in 'epoll: Keep a reference on files added to the check list' (bsc#1180031, git-fixes). - futex: Avoid freeing an active timer (bsc#969755). - futex: Avoid violating the 10th rule of futex (bsc#969755). - futex: Change locking rules (bsc#969755). - futex: Do not enable IRQs unconditionally in put_pi_state() (bsc#969755). - futex: Drop hb->lock before enqueueing on the rtmutex (bsc#969755). - futex: Fix incorrect should_fail_futex() handling (bsc#969755). - futex: Fix more put_pi_state() vs. exit_pi_state_list() races (bsc#969755). - futex: Fix OWNER_DEAD fixup (bsc#969755). - futex: Fix pi_state->owner serialization (bsc#969755). - futex: Fix small (and harmless looking) inconsistencies (bsc#969755). - futex: Futex_unlock_pi() determinism (bsc#969755). - futex: Handle early deadlock return correctly (bsc#969755). - futex: Handle transient 'ownerless' rtmutex state correctly (bsc#969755). - futex: Pull rt_mutex_futex_unlock() out from under hb->lock (bsc#969755). - futex: Rework futex_lock_pi() to use rt_mutex_*_proxy_lock() (bsc#969755). - futex: Rework inconsistent rt_mutex/futex_q state (bsc#969755). - futex,rt_mutex: Fix rt_mutex_cleanup_proxy_lock() (bsc#969755). - futex,rt_mutex: Introduce rt_mutex_init_waiter() (bsc#969755). - futex,rt_mutex: Provide futex specific rt_mutex API (bsc#969755). - futex,rt_mutex: Restructure rt_mutex_finish_proxy_lock() (bsc#969755). - HID: Fix slab-out-of-bounds read in hid_field_extract (bsc#1180052). - IB/hfi1: Clean up hfi1_user_exp_rcv_setup function (bsc#1179878). - IB/hfi1: Clean up pin_vector_pages() function (bsc#1179878). - IB/hfi1: Fix the bail out code in pin_vector_pages() function (bsc#1179878). - IB/hfi1: Move structure definitions from user_exp_rcv.c to user_exp_rcv.h (bsc#1179878). - IB/hfi1: Name function prototype parameters (bsc#1179878). - IB/hfi1: Use filedata rather than filepointer (bsc#1179878). - locking/futex: Allow low-level atomic operations to return -EAGAIN (bsc#969755). - mm/userfaultfd: do not access vma->vm_mm after calling handle_userfault() (bsc#1179204). - scsi: iscsi: Fix a potential deadlock in the timeout handler (bsc#1178272). - Use r3 instead of r13 for l1d fallback flush in do_uaccess_fush (bsc#1181096 ltc#190883). - video: hyperv_fb: include vmalloc.h (bsc#1175306).
05 / REFERENCES
Further evidence
- https://bugzilla.suse.com/1105322
- https://bugzilla.suse.com/1105323
- https://bugzilla.suse.com/1139944
- https://bugzilla.suse.com/1168952
- https://bugzilla.suse.com/1173942
- https://bugzilla.suse.com/1175306
- https://bugzilla.suse.com/1176395
- https://bugzilla.suse.com/1176485
- https://bugzilla.suse.com/1177440
- https://bugzilla.suse.com/1177666
- https://bugzilla.suse.com/1178182
- https://bugzilla.suse.com/1178272
- https://bugzilla.suse.com/1178589
- https://bugzilla.suse.com/1178886
- https://bugzilla.suse.com/1179107
- https://bugzilla.suse.com/1179140
- https://bugzilla.suse.com/1179141
- https://bugzilla.suse.com/1179204
- https://bugzilla.suse.com/1179419
- https://bugzilla.suse.com/1179508
- https://bugzilla.suse.com/1179509
- https://bugzilla.suse.com/1179601
- https://bugzilla.suse.com/1179616
- https://bugzilla.suse.com/1179663
- https://bugzilla.suse.com/1179666
- https://bugzilla.suse.com/1179745
- https://bugzilla.suse.com/1179877
- https://bugzilla.suse.com/1179878
- https://bugzilla.suse.com/1179960
- https://bugzilla.suse.com/1179961
- https://bugzilla.suse.com/1180008
- https://bugzilla.suse.com/1180027
- https://bugzilla.suse.com/1180028
- https://bugzilla.suse.com/1180029
- https://bugzilla.suse.com/1180030
- https://bugzilla.suse.com/1180031
- https://bugzilla.suse.com/1180032
- https://bugzilla.suse.com/1180052
- https://bugzilla.suse.com/1180086
- https://bugzilla.suse.com/1180559
- https://bugzilla.suse.com/1180562
- https://bugzilla.suse.com/1180815
- https://bugzilla.suse.com/1181096
- https://bugzilla.suse.com/1181158
- https://bugzilla.suse.com/1181349
- https://bugzilla.suse.com/1181553
- https://bugzilla.suse.com/969755
- https://www.suse.com/security/cve/CVE-2018-10902
- https://www.suse.com/security/cve/CVE-2019-20934
- https://www.suse.com/security/cve/CVE-2020-0444
- https://www.suse.com/security/cve/CVE-2020-0465
- https://www.suse.com/security/cve/CVE-2020-0466
- https://www.suse.com/security/cve/CVE-2020-11668
- https://www.suse.com/security/cve/CVE-2020-15436
- https://www.suse.com/security/cve/CVE-2020-15437
- https://www.suse.com/security/cve/CVE-2020-25211
- https://www.suse.com/security/cve/CVE-2020-25285
- https://www.suse.com/security/cve/CVE-2020-25669
- https://www.suse.com/security/cve/CVE-2020-27068
- https://www.suse.com/security/cve/CVE-2020-27777
- https://www.suse.com/security/cve/CVE-2020-27786
- https://www.suse.com/security/cve/CVE-2020-27825
- https://www.suse.com/security/cve/CVE-2020-27835
- https://www.suse.com/security/cve/CVE-2020-28915
- https://www.suse.com/security/cve/CVE-2020-28974
- https://www.suse.com/security/cve/CVE-2020-29568
- https://www.suse.com/security/cve/CVE-2020-29569
- https://www.suse.com/security/cve/CVE-2020-29660
- https://www.suse.com/security/cve/CVE-2020-29661
- https://www.suse.com/security/cve/CVE-2020-36158
- https://www.suse.com/security/cve/CVE-2020-4788
- https://www.suse.com/security/cve/CVE-2021-3347
- https://www.suse.com/support/update/announcement/2021/suse-su-20210452-1/