Security update for the Linux Kernel

SUSE Security Update: Security update for the Linux Kernel
Announcement ID: SUSE-SU-2021:3935-1
Rating: important
References: #1073928 #1098425 #1100416 #1119934 #1129735 #1171217 #1171420 #1173346 #1176724 #1177666 #1181158 #1181854 #1181855 #1183089 #1184673 #1185726 #1185727 #1185758 #1185973 #1186109 #1186390 #1188172 #1188563 #1188601 #1188838 #1188876 #1188983 #1188985 #1189057 #1189262 #1189278 #1189291 #1189399 #1189420 #1189706 #1190022 #1190023 #1190025 #1190067 #1190117 #1190159 #1190194 #1190349 #1190351 #1190601 #1190717 #1191193 #1191315 #1191790 #1191801 #1191958 #1191961 #1192267 #1192400 #1192775 #1192781
Cross-References:CVE-2017-17862 CVE-2017-17864 CVE-2018-13405 CVE-2018-16882 CVE-2020-0429 CVE-2020-12655 CVE-2020-14305 CVE-2020-3702 CVE-2020-4788 CVE-2021-20265 CVE-2021-20322 CVE-2021-31916 CVE-2021-33033 CVE-2021-34556 CVE-2021-34981 CVE-2021-3542 CVE-2021-35477 CVE-2021-3640 CVE-2021-3653 CVE-2021-3655 CVE-2021-3659 CVE-2021-3679 CVE-2021-3715 CVE-2021-37159 CVE-2021-3732 CVE-2021-3752 CVE-2021-3753 CVE-2021-37576 CVE-2021-3760 CVE-2021-3772 CVE-2021-38160 CVE-2021-38198 CVE-2021-38204 CVE-2021-3896 CVE-2021-40490 CVE-2021-42008 CVE-2021-42739 CVE-2021-43389
Affected Products:
  • SUSE OpenStack Cloud Crowbar 8
  • SUSE OpenStack Cloud 8
  • SUSE Linux Enterprise Server for SAP 12-SP3
  • SUSE Linux Enterprise Server 12-SP3-LTSS
  • SUSE Linux Enterprise Server 12-SP3-BCL
  • SUSE Linux Enterprise High Availability 12-SP3
  • HPE Helion Openstack 8

An update that solves 38 vulnerabilities and has 18 fixes is now available.

Description:



The SUSE Linux Enterprise 12 SP3 LTSS kernel was updated to receive various security and bugfixes.
The following security bugs were fixed:

  • Unprivileged BPF has been disabled by default to reduce attack surface as too many security issues have happened in the past (jsc#SLE-22573)

You can reenable via systemctl setting /proc/sys/kernel/unprivileged_bpf_disabled to 0. (kernel.unprivileged_bpf_disabled = 0)
  • CVE-2021-31916: An out-of-bounds (OOB) memory write flaw was found in list_devices in drivers/md/dm-ioctl.c in the Multi-device driver module in the Linux kernel A bound check failure allowed an attacker with special user (CAP_SYS_ADMIN) privilege to gain access to out-of-bounds memory leading to a system crash or a leak of internal kernel information. The highest threat from this vulnerability is to system availability (bnc#1192781).
  • CVE-2021-20322: Make the ipv4 and ipv6 ICMP exception caches less predictive to avoid information leaks about UDP ports in use. (bsc#1191790)
  • CVE-2021-34981: Fixed file refcounting in cmtp when cmtp_attach_device fails (bsc#1191961).
  • CVE-2020-12655: An issue was discovered in xfs_agf_verify in fs/xfs/libxfs/xfs_alloc.c. Attackers may trigger a sync of excessive duration via an XFS v5 image with crafted metadata, aka CID-d0c7feaf8767 (bnc#1171217).
  • CVE-2021-43389: There was an array-index-out-of-bounds flaw in the detach_capi_ctr function in drivers/isdn/capi/kcapi.c (bnc#1191958).
  • CVE-2021-37159: hso_free_net_device in drivers/net/usb/hso.c called unregister_netdev without checking for the NETREG_REGISTERED state, leading to a use-after-free and a double free (bnc#1188601).
  • CVE-2021-34556: An unprivileged BPF program can obtain sensitive information from kernel memory via a Speculative Store Bypass side-channel attack because the protection mechanism neglects the possibility of uninitialized memory locations on the BPF stack (bnc#1188983).
  • CVE-2021-35477: An unprivileged BPF program can obtain sensitive information from kernel memory via a Speculative Store Bypass side-channel attack because a certain preempting store operation did not necessarily occur before a store operation that has an attacker-controlled value (bnc#1188985).
  • CVE-2017-17862: kernel/bpf/verifier.c in the Linux kernel ignores unreachable code, even though it would still be processed by JIT compilers. This behavior, also considered an improper branch-pruning logic issue, could possibly be used by local users for denial of service (bnc#1073928).
  • CVE-2017-17864: kernel/bpf/verifier.c in the Linux kernel mishandled states_equal comparisons between the pointer data type and the UNKNOWN_VALUE data type, which allowed local users to obtain potentially sensitive address information, aka a "pointer leak (bnc#1073928).
  • CVE-2021-20265: A flaw was found in the way memory resources were freed in the unix_stream_recvmsg function in the Linux kernel when a signal was pending. This flaw allowed an unprivileged local user to crash the system by exhausting available memory. The highest threat from this vulnerability is to system availability (bnc#1183089).
  • CVE-2021-3772: Fixed sctp vtag check in sctp_sf_ootb (bsc#1190351).
  • CVE-2021-3655: Missing size validations on inbound SCTP packets may have allowed the kernel to read uninitialized memory (bnc#1188563).
  • CVE-2018-13405: The inode_init_owner function in fs/inode.c in the Linux kernel allowed local users to create files with an unintended group ownership, in a scenario where a directory is SGID to a certain group and is writable by a user who is not a member of that group. Here, the non-member can trigger creation of a plain file whose group ownership is that group. The intended behavior was that the non-member can trigger creation of a directory (but not a plain file) whose group ownership is that group. The non-member can escalate privileges by making the plain file executable and SGID (bnc#1100416 bnc#1129735).
  • CVE-2021-3760: Fixed a use-after-free vulnerability with the ndev->rf_conn_info object (bsc#1190067).
  • CVE-2021-42739: The firewire subsystem in the Linux kernel has a buffer overflow related to drivers/media/firewire/firedtv-avc.c and drivers/media/firewire/firedtv-ci.c, because avc_ca_pmt mishandled bounds checking (bnc#1184673).
  • CVE-2021-3542: Fixed heap buffer overflow in firedtv driver (bsc#1186063).
  • CVE-2021-33033: The Linux kernel has a use-after-free in cipso_v4_genopt in net/ipv4/cipso_ipv4.c because the CIPSO and CALIPSO refcounting for the DOI definitions is mishandled, aka CID-ad5d07f4a9cd. This leads to writing an arbitrary value (bnc#1186109 bnc#1186390 bnc#1188876).
  • CVE-2020-14305: An out-of-bounds memory write flaw was found in how the Linux kernel’s Voice Over IP H.323 connection tracking functionality handled connections on ipv6 port 1720. This flaw allowed an unauthenticated remote user to crash the system, causing a denial of service. The highest threat from this vulnerability is to confidentiality, integrity, as well as system availability (bnc#1173346).
  • CVE-2021-3715: Fixed a use-after-free in route4_change() in net/sched/cls_route.c (bsc#1190349).
  • CVE-2021-3896: Fixed a array-index-out-bounds in detach_capi_ctr in drivers/isdn/capi/kcapi.c (bsc#1191958).
  • CVE-2021-42008: The decode_data function in drivers/net/hamradio/6pack.c in the Linux kernel has a slab out-of-bounds write. Input from a process that has the CAP_NET_ADMIN capability can lead to root access (bnc#1191315).
  • CVE-2020-3702: Specifically timed and handcrafted traffic can cause internal errors in a WLAN device that lead to improper layer 2 Wi-Fi encryption with a consequent possibility of information disclosure over the air for a discrete set of traffic (bnc#1191193).
  • CVE-2021-3752: Fixed a use after free vulnerability in the Linux kernel's bluetooth module. (bsc#1190023)
  • CVE-2021-40490: A race condition was discovered in ext4_write_inline_data_end in fs/ext4/inline.c in the ext4 subsystem in the Linux kernel (bnc#1190159 bnc#1192775)
  • CVE-2021-3640: Fixed a Use-After-Free vulnerability in function sco_sock_sendmsg() in the bluetooth stack (bsc#1188172).
  • CVE-2021-38160: Data corruption or loss could be triggered by an untrusted device that supplies a buf->len value exceeding the buffer size in drivers/char/virtio_console.c (bsc#1190117)
  • CVE-2021-3753: Fixed race out-of-bounds in virtual terminal handling (bsc#1190025).
  • CVE-2021-3732: Mounting overlayfs inside an unprivileged user namespace can reveal files (bsc#1189706).
  • CVE-2021-3653: A flaw was found in the KVM's AMD code for supporting SVM nested virtualization. The flaw occurs when processing the VMCB (virtual machine control block) provided by the L1 guest to spawn/handle a nested guest (L2). Due to improper validation of the "int_ctl" field, this issue could allow a malicious L1 to enable AVIC support (Advanced Virtual Interrupt Controller) for the L2 guest. As a result, the L2 guest would be allowed to read/write physical pages of the host, resulting in a crash of the entire system, leak of sensitive data or potential guest-to-host escape. This flaw affects Linux kernel versions prior to 5.14-rc7 (bnc#1189399 bnc#1189420).
  • CVE-2021-38198: arch/x86/kvm/mmu/paging_tmpl.h in the Linux kernel incorrectly computes the access permissions of a shadow page, leading to a missing guest protection page fault (bnc#1189262 bnc#1189278).
  • CVE-2021-38204: drivers/usb/host/max3421-hcd.c in the Linux kernel allowed physically proximate attackers to cause a denial of service (use-after-free and panic) by removing a MAX-3421 USB device in certain situations (bnc#1189291).
  • CVE-2021-3679: A lack of CPU resource in the Linux kernel tracing module functionality in versions prior to 5.14-rc3 was found in the way user uses trace ring buffer in a specific way. Only privileged local users (with CAP_SYS_ADMIN capability) could use this flaw to starve the resources causing denial of service (bnc#1189057).
  • CVE-2018-16882: A use-after-free issue was found in the way the Linux kernel's KVM hypervisor processed posted interrupts when nested(=1) virtualization is enabled. In nested_get_vmcs12_pages(), in case of an error while processing posted interrupt address, it unmaps the 'pi_desc_page' without resetting 'pi_desc' descriptor address, which is later used in pi_test_and_clear_on(). A guest user/process could use this flaw to crash the host kernel resulting in DoS or potentially gain privileged access to a system. Kernel versions and are vulnerable (bnc#1119934).
  • CVE-2020-0429: In l2tp_session_delete and related functions of l2tp_core.c, there is possible memory corruption due to a use after free. This could lead to local escalation of privilege with System execution privileges needed. User interaction is not needed for exploitation (bnc#1176724).
  • CVE-2020-4788: IBM Power9 (AIX 7.1, 7.2, and VIOS 3.1) processors could allow a local user to obtain sensitive information from the data in the L1 cache under extenuating circumstances. IBM X-Force ID: 189296 (bnc#1177666 bnc#1181158).
  • CVE-2021-3659: Fixed a NULL pointer dereference in llsec_key_alloc() in net/mac802154/llsec.c (bsc#1188876).
  • CVE-2021-37576: arch/powerpc/kvm/book3s_rtas.c in the Linux kernel on the powerpc platform allowed KVM guest OS users to cause host OS memory corruption via rtas_args.nargs, aka CID-f62f3c20647e (bnc#1188838).

The following non-security bugs were fixed:
  • PCI: hv: Use expected affinity when unmasking IRQ (bsc#1185973).
  • SUNRPC: improve error response to over-size gss credential (bsc#1190022).
  • Update config files: Add CONFIG_BPF_UNPRIV_DEFAULT_OFF is not set
  • blacklist.conf: Drop a line that was added by mistake
  • bpf: Add kconfig knob for disabling unpriv bpf by default (jsc#SLE-22918)
  • bpf: Disallow unprivileged bpf by default (jsc#SLE-22918).
  • bpf: properly enforce index mask to prevent out-of-bounds speculation (bsc#1098425).
  • config: disable unprivileged BPF by default (jsc#SLE-22918)
  • cpufreq: intel_pstate: Add Icelake servers support in no-HWP mode (bsc#1185758,bsc#1192400).
  • ftrace: Fix scripts/recordmcount.pl due to new binutils (bsc#1192267).
  • hv: mana: adjust mana_select_queue to old API (jsc#SLE-18779, bsc#1185727).
  • hv: mana: declare vzalloc (jsc#SLE-18779, bsc#1185726).
  • hv: mana: fake bitmap API (jsc#SLE-18779, bsc#1185726).
  • hv: mana: remove netdev_lockdep_set_classes usage (jsc#SLE-18779, bsc#1185727).
  • kABI: protect struct bpf_map (kabi).
  • mm: replace open coded page to virt conversion with page_to_virt() (jsc#SLE-18779, bsc#1185727).
  • net/mlx4_en: Avoid scheduling restart task if it is already running (bsc#1181854 bsc#1181855).
  • net/mlx4_en: Handle TX error CQE (bsc#1181854 bsc#1181855).
  • net: mana: Add WARN_ON_ONCE in case of CQE read overflow (jsc#SLE-18779, bsc#1185727).
  • net: mana: Add a driver for Microsoft Azure Network Adapter (MANA) (jsc#SLE-18779, bsc#1185727).
  • net: mana: Add support for EQ sharing (jsc#SLE-18779, bsc#1185727).
  • net: mana: Fix a memory leak in an error handling path in (jsc#SLE-18779, bsc#1185727).
  • net: mana: Fix error handling in mana_create_rxq() (git-fixes, bsc#1191801).
  • net: mana: Move NAPI from EQ to CQ (jsc#SLE-18779, bsc#1185727).
  • net: mana: Use int to check the return value of mana_gd_poll_cq() (jsc#SLE-18779, bsc#1185727).
  • net: mana: fix PCI_HYPERV dependency (jsc#SLE-18779, bsc#1185727).
  • net: mana: remove redundant initialization of variable err (jsc#SLE-18779, bsc#1185727).
  • net: sched: sch_teql: fix null-pointer dereference (bsc#1190717).
  • s390/bpf: Fix 64-bit subtraction of the -0x80000000 constant (bsc#1190601).
  • s390/bpf: Fix branch shortening during codegen pass (bsc#1190601).
  • s390/bpf: Fix optimizing out zero-extensions (bsc#1190601).
  • s390/bpf: Wrap JIT macro parameter usages in parentheses (bsc#1190601).
  • s390: bpf: implement jitting of BPF_ALU | BPF_ARSH | BPF_* (bsc#1190601).
  • scsi: sg: add sg_remove_request in sg_write (bsc#1171420 CVE2020-12770).
  • sctp: check asoc peer.asconf_capable before processing asconf (bsc#1190351).
  • sctp: fully initialize v4 addr in some functions (bsc#1188563).
  • sctp: simplify addr copy (bsc#1188563).
  • x86/CPU: Add more Icelake model numbers (bsc#1185758,bsc#1192400).
  • x86/tlb: Flush global mappings when KAISER is disabled (bsc#1190194).

Special Instructions and Notes:

Please reboot the system after installing this update.

Patch Instructions:

To install this SUSE Security Update use the SUSE recommended installation methods like YaST online_update or "zypper patch".
Alternatively you can run the command listed for your product:

  • SUSE OpenStack Cloud Crowbar 8:
    zypper in -t patch SUSE-OpenStack-Cloud-Crowbar-8-2021-3935=1
  • SUSE OpenStack Cloud 8:
    zypper in -t patch SUSE-OpenStack-Cloud-8-2021-3935=1
  • SUSE Linux Enterprise Server for SAP 12-SP3:
    zypper in -t patch SUSE-SLE-SAP-12-SP3-2021-3935=1
  • SUSE Linux Enterprise Server 12-SP3-LTSS:
    zypper in -t patch SUSE-SLE-SERVER-12-SP3-2021-3935=1
  • SUSE Linux Enterprise Server 12-SP3-BCL:
    zypper in -t patch SUSE-SLE-SERVER-12-SP3-BCL-2021-3935=1
  • SUSE Linux Enterprise High Availability 12-SP3:
    zypper in -t patch SUSE-SLE-HA-12-SP3-2021-3935=1
  • HPE Helion Openstack 8:
    zypper in -t patch HPE-Helion-OpenStack-8-2021-3935=1

Package List:

  • SUSE OpenStack Cloud Crowbar 8 (x86_64):
    • kernel-default-4.4.180-94.150.1
    • kernel-default-base-4.4.180-94.150.1
    • kernel-default-base-debuginfo-4.4.180-94.150.1
    • kernel-default-debuginfo-4.4.180-94.150.1
    • kernel-default-debugsource-4.4.180-94.150.1
    • kernel-default-devel-4.4.180-94.150.1
    • kernel-default-kgraft-4.4.180-94.150.1
    • kernel-syms-4.4.180-94.150.1
    • kgraft-patch-4_4_180-94_150-default-1-4.3.1
    • kgraft-patch-4_4_180-94_150-default-debuginfo-1-4.3.1
  • SUSE OpenStack Cloud Crowbar 8 (noarch):
    • kernel-devel-4.4.180-94.150.1
    • kernel-macros-4.4.180-94.150.1
    • kernel-source-4.4.180-94.150.1
  • SUSE OpenStack Cloud 8 (noarch):
    • kernel-devel-4.4.180-94.150.1
    • kernel-macros-4.4.180-94.150.1
    • kernel-source-4.4.180-94.150.1
  • SUSE OpenStack Cloud 8 (x86_64):
    • kernel-default-4.4.180-94.150.1
    • kernel-default-base-4.4.180-94.150.1
    • kernel-default-base-debuginfo-4.4.180-94.150.1
    • kernel-default-debuginfo-4.4.180-94.150.1
    • kernel-default-debugsource-4.4.180-94.150.1
    • kernel-default-devel-4.4.180-94.150.1
    • kernel-default-kgraft-4.4.180-94.150.1
    • kernel-syms-4.4.180-94.150.1
    • kgraft-patch-4_4_180-94_150-default-1-4.3.1
    • kgraft-patch-4_4_180-94_150-default-debuginfo-1-4.3.1
  • SUSE Linux Enterprise Server for SAP 12-SP3 (ppc64le x86_64):
    • kernel-default-4.4.180-94.150.1
    • kernel-default-base-4.4.180-94.150.1
    • kernel-default-base-debuginfo-4.4.180-94.150.1
    • kernel-default-debuginfo-4.4.180-94.150.1
    • kernel-default-debugsource-4.4.180-94.150.1
    • kernel-default-devel-4.4.180-94.150.1
    • kernel-default-kgraft-4.4.180-94.150.1
    • kernel-syms-4.4.180-94.150.1
    • kgraft-patch-4_4_180-94_150-default-1-4.3.1
    • kgraft-patch-4_4_180-94_150-default-debuginfo-1-4.3.1
  • SUSE Linux Enterprise Server for SAP 12-SP3 (noarch):
    • kernel-devel-4.4.180-94.150.1
    • kernel-macros-4.4.180-94.150.1
    • kernel-source-4.4.180-94.150.1
  • SUSE Linux Enterprise Server 12-SP3-LTSS (aarch64 ppc64le s390x x86_64):
    • kernel-default-4.4.180-94.150.1
    • kernel-default-base-4.4.180-94.150.1
    • kernel-default-base-debuginfo-4.4.180-94.150.1
    • kernel-default-debuginfo-4.4.180-94.150.1
    • kernel-default-debugsource-4.4.180-94.150.1
    • kernel-default-devel-4.4.180-94.150.1
    • kernel-syms-4.4.180-94.150.1
  • SUSE Linux Enterprise Server 12-SP3-LTSS (ppc64le x86_64):
    • kernel-default-kgraft-4.4.180-94.150.1
    • kgraft-patch-4_4_180-94_150-default-1-4.3.1
    • kgraft-patch-4_4_180-94_150-default-debuginfo-1-4.3.1
  • SUSE Linux Enterprise Server 12-SP3-LTSS (noarch):
    • kernel-devel-4.4.180-94.150.1
    • kernel-macros-4.4.180-94.150.1
    • kernel-source-4.4.180-94.150.1
  • SUSE Linux Enterprise Server 12-SP3-LTSS (s390x):
    • kernel-default-man-4.4.180-94.150.1
  • SUSE Linux Enterprise Server 12-SP3-BCL (x86_64):
    • kernel-default-4.4.180-94.150.1
    • kernel-default-base-4.4.180-94.150.1
    • kernel-default-base-debuginfo-4.4.180-94.150.1
    • kernel-default-debuginfo-4.4.180-94.150.1
    • kernel-default-debugsource-4.4.180-94.150.1
    • kernel-default-devel-4.4.180-94.150.1
    • kernel-syms-4.4.180-94.150.1
  • SUSE Linux Enterprise Server 12-SP3-BCL (noarch):
    • kernel-devel-4.4.180-94.150.1
    • kernel-macros-4.4.180-94.150.1
    • kernel-source-4.4.180-94.150.1
  • SUSE Linux Enterprise High Availability 12-SP3 (ppc64le s390x x86_64):
    • cluster-md-kmp-default-4.4.180-94.150.1
    • cluster-md-kmp-default-debuginfo-4.4.180-94.150.1
    • dlm-kmp-default-4.4.180-94.150.1
    • dlm-kmp-default-debuginfo-4.4.180-94.150.1
    • gfs2-kmp-default-4.4.180-94.150.1
    • gfs2-kmp-default-debuginfo-4.4.180-94.150.1
    • kernel-default-debuginfo-4.4.180-94.150.1
    • kernel-default-debugsource-4.4.180-94.150.1
    • ocfs2-kmp-default-4.4.180-94.150.1
    • ocfs2-kmp-default-debuginfo-4.4.180-94.150.1
  • HPE Helion Openstack 8 (noarch):
    • kernel-devel-4.4.180-94.150.1
    • kernel-macros-4.4.180-94.150.1
    • kernel-source-4.4.180-94.150.1
  • HPE Helion Openstack 8 (x86_64):
    • kernel-default-4.4.180-94.150.1
    • kernel-default-base-4.4.180-94.150.1
    • kernel-default-base-debuginfo-4.4.180-94.150.1
    • kernel-default-debuginfo-4.4.180-94.150.1
    • kernel-default-debugsource-4.4.180-94.150.1
    • kernel-default-devel-4.4.180-94.150.1
    • kernel-default-kgraft-4.4.180-94.150.1
    • kernel-syms-4.4.180-94.150.1
    • kgraft-patch-4_4_180-94_150-default-1-4.3.1
    • kgraft-patch-4_4_180-94_150-default-debuginfo-1-4.3.1

References: