Security update for the Linux Kernel

SUSE Security Update: Security update for the Linux Kernel
Announcement ID: SUSE-SU-2022:2382-1
Rating: important
References: #1065729 #1129770 #1177282 #1194013 #1196964 #1197170 #1199482 #1199487 #1199657 #1200343 #1200571 #1200599 #1200600 #1200604 #1200605 #1200608 #1200619 #1200692 #1200762 #1200806 #1200807 #1200809 #1200810 #1200813 #1200820 #1200821 #1200822 #1200829 #1200868 #1200869 #1200870 #1200871 #1200872 #1200873 #1200925 #1201080 #1201251
Cross-References:CVE-2020-26541 CVE-2021-4157 CVE-2022-1012 CVE-2022-1679 CVE-2022-20132 CVE-2022-20141 CVE-2022-20154 CVE-2022-2318 CVE-2022-26365 CVE-2022-29900 CVE-2022-29901 CVE-2022-33740 CVE-2022-33741 CVE-2022-33742 CVE-2022-33981
Affected Products:
  • SUSE Linux Enterprise Desktop 12-SP5
  • SUSE Linux Enterprise High Availability 12-SP5
  • SUSE Linux Enterprise High Performance Computing 12-SP5
  • SUSE Linux Enterprise Live Patching 12-SP5
  • SUSE Linux Enterprise Server 12-SP5
  • SUSE Linux Enterprise Server for SAP Applications 12-SP5
  • SUSE Linux Enterprise Software Development Kit 12-SP5
  • SUSE Linux Enterprise Workstation Extension 12-SP5

An update that solves 15 vulnerabilities and has 22 fixes is now available.

Description:

The SUSE Linux Enterprise 12 SP5 kernel was updated to receive various security and bugfixes.

The following security bugs were fixed:

  • CVE-2022-29900, CVE-2022-29901: Fixed the RETBLEED attack, a new Spectre like Branch Target Buffer attack, that can leak arbitrary kernel information (bsc#1199657).
  • CVE-2022-1679: Fixed a use-after-free in the Atheros wireless driver in the way a user forces the ath9k_htc_wait_for_target function to fail with some input messages (bsc#1199487).
  • CVE-2022-20132: Fixed out of bounds read due to improper input validation in lg_probe and related functions of hid-lg.c (bsc#1200619).
  • CVE-2022-1012: Fixed information leak caused by small table perturb size in the TCP source port generation algorithm (bsc#1199482).
  • CVE-2022-33981: Fixed use-after-free in floppy driver (bsc#1200692)
  • CVE-2022-20141: Fixed a possible use after free due to improper locking in ip_check_mc_rcu() (bsc#1200604).
  • CVE-2021-4157: Fixed an out of memory bounds write flaw in the NFS subsystem, related to the replication of files with NFS. A user could potentially crash the system or escalate privileges on the system (bsc#1194013).
  • CVE-2022-20154: Fixed a use after free due to a race condition in lock_sock_nested of sock.c. This could lead to local escalation of privilege with System execution privileges needed (bsc#1200599).
  • CVE-2020-26541: Enforce the secure boot forbidden signature database (aka dbx) protection mechanism. (bsc#1177282)
  • CVE-2022-2318: Fixed a use-after-free vulnerabilities in the timer handler in net/rose/rose_timer.c that allow attackers to crash the system without any privileges (bsc#1201251).
  • CVE-2022-26365, CVE-2022-33740, CVE-2022-33741, CVE-2022-33742: Fixed multiple potential data leaks with Block and Network devices when using untrusted backends (bsc#1200762).

The following non-security bugs were fixed:
  • add mainline tag for a pci-hyperv change
  • audit: fix a race condition with the auditd tracking code (bsc#1197170).
  • block: bio-integrity: Advance seed correctly for larger interval sizes (git-fixes).
  • bnxt_en: Remove the setting of dev_port (git-fixes).
  • bonding: fix bond_neigh_init() (git-fixes).
  • dm crypt: Avoid percpu_counter spinlock contention in crypt_page_alloc() (git-fixes).
  • drbd: fix duplicate array initializer (git-fixes).
  • drbd: remove assign_p_sizes_qlim (git-fixes).
  • drbd: use bdev_alignment_offset instead of queue_alignment_offset (git-fixes).
  • drbd: use bdev based limit helpers in drbd_send_sizes (git-fixes).
  • exec: Force single empty string when argv is empty (bsc#1200571).
  • ext4: fix bug_on ext4_mb_use_inode_pa (bsc#1200810).
  • ext4: fix bug_on in __es_tree_search (bsc#1200809).
  • ext4: fix bug_on in ext4_writepages (bsc#1200872).
  • ext4: fix overhead calculation to account for the reserved gdt blocks (bsc#1200869).
  • ext4: fix race condition between ext4_write and ext4_convert_inline_data (bsc#1200807).
  • ext4: fix symlink file size not match to file content (bsc#1200868).
  • ext4: fix use-after-free in ext4_rename_dir_prepare (bsc#1200871).
  • ext4: force overhead calculation if the s_overhead_cluster makes no sense (bsc#1200870).
  • ext4: limit length to bitmap_maxbytes - blocksize in punch_hole (bsc#1200806).
  • ext4: make variable "count" signed (bsc#1200820).
  • fs-writeback: writeback_sb_inodes Recalculate 'wrote' according skipped pages (bsc#1200873).
  • i915_vma: Rename vma_lookup to i915_vma_lookup (git-fixes).
  • ibmvnic: Properly dispose of all skbs during a failover (bsc#1200925).
  • init: Initialize noop_backing_dev_info early (bsc#1200822).
  • inotify: show inotify mask flags in proc fdinfo (bsc#1200600).
  • Input: bcm5974 - set missing URB_NO_TRANSFER_DMA_MAP urb flag (git-fixes).
  • Input: elan_i2c - fix regulator enable count imbalance after suspend/resume (git-fixes).
  • Input: elan_i2c - move regulator_[en|dis]able() out of elan_[en|dis]able_power() (git-fixes).
  • Input: omap4-keypad - fix pm_runtime_get_sync() error checking (git-fixes).
  • iomap: iomap_write_failed fix (bsc#1200829).
  • kvm: fix wrong exception emulation in check_rdtsc (git-fixes).
  • kvm: i8254: remove redundant assignment to pointer s (git-fixes).
  • KVM: LAPIC: Prevent setting the tscdeadline timer if the lapic is hw disabled (git-fixes).
  • KVM: s390: vsie/gmap: reduce gmap_rmap overhead (git-fixes).
  • KVM: x86: Allocate new rmap and large page tracking when moving memslot (git-fixes).
  • KVM: x86: always stop emulation on page fault (git-fixes).
  • KVM: x86: clear stale x86_emulate_ctxt->intercept value (git-fixes).
  • KVM: x86: clflushopt should be treated as a no-op by emulation (git-fixes).
  • kvm: x86/cpuid: Only provide CPUID leaf 0xA if host has architectural PMU (git-fixes).
  • KVM: x86: Do not force set BSP bit when local APIC is managed by userspace (git-fixes).
  • KVM: x86: do not modify masked bits of shared MSRs (git-fixes).
  • KVM: x86/emulator: Defer not-present segment check in __load_segment_descriptor() (git-fixes).
  • KVM: x86: Fix emulation in writing cr8 (git-fixes).
  • KVM: x86: Fix off-by-one error in kvm_vcpu_ioctl_x86_setup_mce (git-fixes).
  • KVM: x86: Fix potential put_fpu() w/o load_fpu() on MPX platform (git-fixes).
  • KVM: x86: Fix x86_decode_insn() return when fetching insn bytes fails (git-fixes).
  • KVM: x86: Free wbinvd_dirty_mask if vCPU creation fails (git-fixes).
  • kvm: x86: Improve emulation of CPUID leaves 0BH and 1FH (git-fixes).
  • KVM: x86: Inject #GP if guest attempts to toggle CR4.LA57 in 64-bit mode (git-fixes).
  • KVM: x86: Manually calculate reserved bits when loading PDPTRS (git-fixes).
  • KVM: x86: Manually flush collapsible SPTEs only when toggling flags (git-fixes).
  • KVM: x86: Migrate the PIT only if vcpu0 is migrated, not any BSP (git-fixes).
  • KVM: x86/mmu: Treat invalid shadow pages as obsolete (git-fixes).
  • KVM: x86: Refactor prefix decoding to prevent Spectre-v1/L1TF attacks (git-fixes).
  • KVM: x86: Remove spurious clearing of async #PF MSR (git-fixes).
  • KVM: x86: Remove spurious kvm_mmu_unload() from vcpu destruction path (git-fixes).
  • KVM: x86: remove stale comment from struct x86_emulate_ctxt (git-fixes).
  • KVM: x86: set ctxt->have_exception in x86_decode_insn() (git-fixes).
  • kvm: x86: skip populating logical dest map if apic is not sw enabled (git-fixes).
  • KVM: x86: Trace the original requested CPUID function in kvm_cpuid() (git-fixes).
  • md: bcache: check the return value of kzalloc() in detached_dev_do_request() (git-fixes).
  • md: fix an incorrect NULL check in does_sb_need_changing (git-fixes).
  • md: fix an incorrect NULL check in md_reload_sb (git-fixes).
  • md/raid0: Ignore RAID0 layout if the second zone has only one device (git-fixes).
  • mm: add vma_lookup(), update find_vma_intersection() comments (git-fixes).
  • net/mlx5: Avoid double free of root ns in the error flow path (git-fixes).
  • net/mlx5e: Replace reciprocal_scale in TX select queue function (git-fixes).
  • net/mlx5e: Switch to Toeplitz RSS hash by default (git-fixes).
  • net/mlx5: Fix auto group size calculation (git-fixes).
  • net: qed: Disable aRFS for NPAR and 100G (git-fixes).
  • net: qede: Disable aRFS for NPAR and 100G (git-fixes).
  • net: stmmac: update rx tail pointer register to fix rx dma hang issue (git-fixes).
  • NFSD: Fix possible sleep during nfsd4_release_lockowner() (git-fixes).
  • NFS: Further fixes to the writeback error handling (git-fixes).
  • PCI/ACPI: Allow D3 only if Root Port can signal and wake from D3 (git-fixes).
  • PCI: Tidy comments (git-fixes).
  • platform/chrome: cros_ec_proto: Send command again when timeout occurs (git-fixes).
  • powerpc/idle: Fix return value of __setup() handler (bsc#1065729).
  • powerpc/perf: Fix the threshold compare group constraint for power9 (bsc#1065729).
  • powerpc/rtas: Allow ibm,platform-dump RTAS call with null buffer address (bsc#1200343 ltc#198477).
  • qed: Enable automatic recovery on error condition (bsc#1196964).
  • raid5: introduce MD_BROKEN (git-fixes).
  • s390: fix detection of vector enhancements facility 1 vs. vector packed decimal facility (git-fixes).
  • s390: fix strrchr() implementation (git-fixes).
  • s390/ftrace: fix ftrace_update_ftrace_func implementation (git-fixes).
  • s390/gmap: do not unconditionally call pte_unmap_unlock() in __gmap_zap() (git-fixes).
  • s390/gmap: validate VMA in __gmap_zap() (git-fixes).
  • s390/mm: fix VMA and page table handling code in storage key handling functions (git-fixes).
  • s390/mm: validate VMA in PGSTE manipulation functions (git-fixes).
  • scsi: dc395x: Fix a missing check on list iterator (git-fixes).
  • scsi: ufs: qcom: Add a readl() to make sure ref_clk gets enabled (git-fixes).
  • scsi: ufs: qcom: Fix ufs_qcom_resume() (git-fixes).
  • SUNRPC: Fix the calculation of xdr->end in xdr_get_next_encode_buffer() (git-fixes).
  • target: remove an incorrect unmap zeroes data deduction (git-fixes).
  • tracing: Fix return value of trace_pid_write() (git-fixes).
  • usb: musb: Fix missing of_node_put() in omap2430_probe (git-fixes).
  • USB: serial: option: add Quectel BG95 modem (git-fixes).
  • USB: storage: karma: fix rio_karma_init return (git-fixes).
  • usb: usbip: add missing device lock on tweak configuration cmd (git-fixes).
  • usb: usbip: fix a refcount leak in stub_probe() (git-fixes).
  • video: fbdev: clcdfb: Fix refcount leak in clcdfb_of_vram_setup (bsc#1129770)
  • writeback: Avoid skipping inode writeback (bsc#1200813).
  • writeback: Fix inode->i_io_list not be protected by inode->i_lock error (bsc#1200821).

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 Linux Enterprise Workstation Extension 12-SP5:
    zypper in -t patch SUSE-SLE-WE-12-SP5-2022-2382=1
  • SUSE Linux Enterprise Software Development Kit 12-SP5:
    zypper in -t patch SUSE-SLE-SDK-12-SP5-2022-2382=1
  • SUSE Linux Enterprise Server 12-SP5:
    zypper in -t patch SUSE-SLE-SERVER-12-SP5-2022-2382=1
  • SUSE Linux Enterprise Live Patching 12-SP5:
    zypper in -t patch SUSE-SLE-Live-Patching-12-SP5-2022-2382=1
  • SUSE Linux Enterprise High Availability 12-SP5:
    zypper in -t patch SUSE-SLE-HA-12-SP5-2022-2382=1

Package List:

  • SUSE Linux Enterprise Workstation Extension 12-SP5 (x86_64):
    • kernel-default-debuginfo-4.12.14-122.127.1
    • kernel-default-debugsource-4.12.14-122.127.1
    • kernel-default-extra-4.12.14-122.127.1
    • kernel-default-extra-debuginfo-4.12.14-122.127.1
  • SUSE Linux Enterprise Software Development Kit 12-SP5 (aarch64 ppc64le s390x x86_64):
    • kernel-obs-build-4.12.14-122.127.1
    • kernel-obs-build-debugsource-4.12.14-122.127.1
  • SUSE Linux Enterprise Software Development Kit 12-SP5 (noarch):
    • kernel-docs-4.12.14-122.127.1
  • SUSE Linux Enterprise Server 12-SP5 (aarch64 ppc64le s390x x86_64):
    • kernel-default-4.12.14-122.127.1
    • kernel-default-base-4.12.14-122.127.1
    • kernel-default-base-debuginfo-4.12.14-122.127.1
    • kernel-default-debuginfo-4.12.14-122.127.1
    • kernel-default-debugsource-4.12.14-122.127.1
    • kernel-default-devel-4.12.14-122.127.1
    • kernel-syms-4.12.14-122.127.1
  • SUSE Linux Enterprise Server 12-SP5 (x86_64):
    • kernel-default-devel-debuginfo-4.12.14-122.127.1
  • SUSE Linux Enterprise Server 12-SP5 (noarch):
    • kernel-devel-4.12.14-122.127.1
    • kernel-macros-4.12.14-122.127.1
    • kernel-source-4.12.14-122.127.1
  • SUSE Linux Enterprise Server 12-SP5 (s390x):
    • kernel-default-man-4.12.14-122.127.1
  • SUSE Linux Enterprise Live Patching 12-SP5 (ppc64le s390x x86_64):
    • kernel-default-debuginfo-4.12.14-122.127.1
    • kernel-default-debugsource-4.12.14-122.127.1
    • kernel-default-kgraft-4.12.14-122.127.1
    • kernel-default-kgraft-devel-4.12.14-122.127.1
    • kgraft-patch-4_12_14-122_127-default-1-8.3.1
  • SUSE Linux Enterprise High Availability 12-SP5 (ppc64le s390x x86_64):
    • cluster-md-kmp-default-4.12.14-122.127.1
    • cluster-md-kmp-default-debuginfo-4.12.14-122.127.1
    • dlm-kmp-default-4.12.14-122.127.1
    • dlm-kmp-default-debuginfo-4.12.14-122.127.1
    • gfs2-kmp-default-4.12.14-122.127.1
    • gfs2-kmp-default-debuginfo-4.12.14-122.127.1
    • kernel-default-debuginfo-4.12.14-122.127.1
    • kernel-default-debugsource-4.12.14-122.127.1
    • ocfs2-kmp-default-4.12.14-122.127.1
    • ocfs2-kmp-default-debuginfo-4.12.14-122.127.1

References: