Security update for the Linux Kernel
The SUSE Linux Enterprise 12 SP5 kernel was updated to receive various security and bugfixes. The following security bugs were fixed: - CVE-2022-0435: Fixed remote stack overflow in net/tipc module that validate domain record count on input (bsc#1195254). - CVE-2021-3564: Fixed double-free memory corruption in the Linux kernel HCI device initialization subsystem that could have been used by attaching malicious HCI TTY Bluetooth devices. A local user could use this flaw to crash the system (bnc#1186207). - CVE-2020-28097: Fixed out-of-bounds read in vgacon subsystem that mishandled software scrollback (bnc#1187723). - CVE-2021-44733: Fixed a use-after-free exists in drivers/tee/tee_shm.c in the TEE subsystem, that could have occured because of a race condition in tee_shm_get_from_id during an attempt to free a shared memory object (bnc#1193767). - CVE-2022-0322: Fixed SCTP issue with account stream padding length for reconf chunk (bsc#1194985). - CVE-2021-4135: Fixed zero-initialize memory inside netdevsim for new map's value in function nsim_bpf_map_alloc (bsc#1193927). - CVE-2022-22942: Fixed stale file descriptors on failed usercopy (bsc#1195065). - CVE-2021-39657: Fixed out of bounds read due to a missing bounds check in ufshcd_eh_device_reset_handler of ufshcd.c. This could lead to local information disclosure with System execution privileges needed (bnc#1193864). - CVE-2021-39648: Fixed possible disclosure of kernel heap memory due to a race condition in gadget_dev_desc_UDC_show of configfs.c. This could lead to local information disclosure with System execution privileges needed. User interaction is not needed for exploitation (bnc#1193861). - CVE-2022-0330: Fixed flush TLBs before releasing backing store (bsc#1194880). - CVE-2021-4197: Use cgroup open-time credentials for process migraton perm checks (bsc#1194302). - CVE-2021-4202: Fixed NFC race condition by adding NCI_UNREG flag (bsc#1194529). - CVE-2021-4083: Fixed a read-after-free memory flaw inside the garbage collection for Unix domain socket file handlers when users call close() and fget() simultaneouslyand can potentially trigger a race condition (bnc#1193727). - CVE-2021-4149: Fixed btrfs unlock newly allocated extent buffer after error (bsc#1194001). The following non-security bugs were fixed: - KVM: remember position in kvm->vcpus array (bsc#1190973). - KVM: s390: index kvm->arch.idle_mask by vcpu_idx (bsc#1190973). - SUNRPC: Add basic load balancing to the transport switch - kabi fix. (bnc#1192729). - SUNRPC: Add basic load balancing to the transport switch. (bnc#1192729) - SUNRPC: Fix initialisation of struct rpc_xprt_switch (bnc#1192729). - SUNRPC: Optimise transport balancing code (bnc#1192729). - SUNRPC: Replace division by multiplication in calculation of queue length (bnc#1192729). - SUNRPC: Skip zero-refcount transports (bnc#1192729). - USB: serial: option: add Telit FN990 compositions (git-fixes). - bpf: Verifer, adjust_scalar_min_max_vals to always call update_reg_bounds() (bsc#1194227). - crypto: qat - fix undetected PFVF timeout in ACK loop (git-fixes). - ext4: set csum seed in tmp inode while migrating to extents (bsc#1195272). - fget: clarify and improve __fget_files() implementation (bsc#1193727). - hv_netvsc: Set needed_headroom according to VF (bsc#1193507). - ibmvnic: Allow extra failures before disabling (bsc#1195073 ltc#195713). - ibmvnic: do not spin in tasklet (bsc#1195073 ltc#195713). - ibmvnic: init ->running_cap_crqs early (bsc#1195073 ltc#195713). - ibmvnic: remove unused ->wait_capability (bsc#1195073 ltc#195713). - kABI fixup after adding vcpu_idx to struct kvm_cpu (bsc#1190973). - kabi: mask new member 'empty' of struct Qdisc (bsc#1183405). - kabi: revert drop of Qdisc::atomic_qlen (bsc#1183405). - kprobes: Limit max data_size of the kretprobe instances (bsc#1193669). - livepatch: Avoid CPU hogging with cond_resched (bsc#1071995). - memstick: rtsx_usb_ms: fix UAF (bsc#1194516). - mm/hwpoison: do not lock page again when me_huge_page() successfully recovers (bsc#1194814). - moxart: fix potential use-after-free on remove path (bsc#1194516). - net, xdp: Introduce xdp_init_buff utility routine (bsc#1193507). - net, xdp: Introduce xdp_prepare_buff utility routine (bsc#1193507). - net/sched: annotate lockless accesses to qdisc->empty (bsc#1183405). - net/sched: fix race between deactivation and dequeue for NOLOCK qdisc (bsc#1183405). - net/sched: pfifo_fast: fix wrong dereference in pfifo_fast_enqueue (bsc#1183405). - net/sched: pfifo_fast: fix wrong dereference when qdisc is reset (bsc#1183405). - net: Using proper atomic helper (bsc#1186222). - net: allow retransmitting a TCP packet if original is still in queue (bsc#1188605 bsc#1187428). - net: caif: avoid using qdisc_qlen() (bsc#1183405). - net: cdc_ncm: Allow for dwNtbOutMaxSize to be unset or zero (git-fixes). - net: dev: introduce support for sch BYPASS for lockless qdisc (bsc#1183405). - net: mana: Add RX fencing (bsc#1193507). - net: mana: Add XDP support (bsc#1193507). - net: sch_generic: aviod concurrent reset and enqueue op for lockless qdisc (bsc#1183405). - net: sched: Avoid using yield() in a busy waiting loop (bsc#1183405). - net: sched: add barrier to ensure correct ordering for lockless qdisc (bsc#1183405). - net: sched: add empty status flag for NOLOCK qdisc (bsc#1183405). - net: sched: always do stats accounting according to TCQ_F_CPUSTATS (bsc#1183405). - net: sched: avoid unnecessary seqcount operation for lockless qdisc (bsc#1183405). - net: sched: fix packet stuck problem for lockless qdisc (bsc#1183405). - net: sched: fix tx action reschedule issue with stopped queue (bsc#1183405). - net: sched: fix tx action rescheduling issue during deactivation (bsc#1183405). - net: sched: prefer qdisc_is_empty() over direct qlen access (bsc#1183405). - net: sched: replaced invalid qdisc tree flush helper in qdisc_replace (bsc#1183405). - net: sched: when clearing NOLOCK, clear TCQ_F_CPUSTATS, too (bsc#1183405). - net: tipc: validate domain record count on input (bsc#1195254). - net: usb: lan78xx: add Allied Telesis AT29M2-AF (git-fixes). - net_sched: avoid resetting active qdisc for multiple times (bsc#1183405). - net_sched: get rid of unnecessary dev_qdisc_reset() (bsc#1183405). - net_sched: use qdisc_reset() in qdisc_destroy() (bsc#1183405). - nfs: do not dirty kernel pages read by direct-io (bsc#1194410). - nvme: add 'iopolicy' module parameter (bsc#1177599 bsc#1193096). - nvme: return BLK_STS_TRANSPORT unless DNR for NVME_SC_NS_NOT_READY (bsc#1163405). - of: Add cpu node iterator for_each_of_cpu_node() (bsc#1065729). - of: Add device_type access helper functions (bsc#1065729). - of: Fix cpu node iterator to not ignore disabled cpu nodes (bsc#1065729). - of: Fix property name in of_node_get_device_type (bsc#1065729). - of: add node name compare helper functions (bsc#1065729). - powerpc/perf: Fix data source encodings for L2.1 and L3.1 accesses (bsc#1065729). - powerpc/prom_init: Fix improper check of prom_getprop() (bsc#1065729). - powerpc/pseries/cpuhp: cache node corrections (bsc#1065729). - powerpc/pseries/cpuhp: delete add/remove_by_count code (bsc#1065729). - powerpc/pseries/mobility: ignore ibm, platform-facilities updates (bsc#1065729). - powerpc/traps: do not enable irqs in _exception (bsc#1065729). - powerpc: add interrupt_cond_local_irq_enable helper (bsc#1065729). - s390/cio: make ccw_device_dma_* more robust (bsc#1193242). - s390/pci: add s390_iommu_aperture kernel parameter (bsc#1193234). - s390/pci: move pseudo-MMIO to prevent MIO overlap (bsc#1194965). - select: Fix indefinitely sleeping task in poll_schedule_timeout() (bsc#1194027). - tpm: Check for integer overflow in tpm2_map_response_body() (bsc#1082555). - tpm: add request_locality before write TPM_INT_ENABLE (bsc#1082555). - tpm: fix potential NULL pointer access in tpm_del_char_device (bsc#1184209 ltc#190917 git-fixes bsc#1193660 ltc#195634). - tracing/kprobes: 'nmissed' not showed correctly for kretprobe (git-fixes). - tracing: Fix check for trace_percpu_buffer validity in get_trace_buf() (git-fixes). - ucsi_ccg: Check DEV_INT bit only when starting CCG4 (git-fixes). - usb: core: config: fix validation of wMaxPacketValue entries (git-fixes). - usbnet: fix error return code in usbnet_probe() (git-fixes). - usbnet: sanity check for maxpacket (git-fixes). - vfs: check fd has read access in kernel_read_file_from_fd() (bsc#1194888). - virtio: write back F_VERSION_1 before validate (bsc#1193235). - x86/platform/uv: Add more to secondary CPU kdump info (bsc#1194493).
02 / AFFECTED SOFTWARE
Affected packages
03 / CONNECTIONS
Connected vulnerabilities
04 / EVIDENCE
Source records
The SUSE Linux Enterprise 12 SP5 kernel was updated to receive various security and bugfixes. The following security bugs were fixed: - CVE-2022-0435: Fixed remote stack overflow in net/tipc module that validate domain record count on input (bsc#1195254). - CVE-2021-3564: Fixed double-free memory corruption in the Linux kernel HCI device initialization subsystem that could have been used by attaching malicious HCI TTY Bluetooth devices. A local user could use this flaw to crash the system (bnc#1186207). - CVE-2020-28097: Fixed out-of-bounds read in vgacon subsystem that mishandled software scrollback (bnc#1187723). - CVE-2021-44733: Fixed a use-after-free exists in drivers/tee/tee_shm.c in the TEE subsystem, that could have occured because of a race condition in tee_shm_get_from_id during an attempt to free a shared memory object (bnc#1193767). - CVE-2022-0322: Fixed SCTP issue with account stream padding length for reconf chunk (bsc#1194985). - CVE-2021-4135: Fixed zero-initialize memory inside netdevsim for new map's value in function nsim_bpf_map_alloc (bsc#1193927). - CVE-2022-22942: Fixed stale file descriptors on failed usercopy (bsc#1195065). - CVE-2021-39657: Fixed out of bounds read due to a missing bounds check in ufshcd_eh_device_reset_handler of ufshcd.c. This could lead to local information disclosure with System execution privileges needed (bnc#1193864). - CVE-2021-39648: Fixed possible disclosure of kernel heap memory due to a race condition in gadget_dev_desc_UDC_show of configfs.c. This could lead to local information disclosure with System execution privileges needed. User interaction is not needed for exploitation (bnc#1193861). - CVE-2022-0330: Fixed flush TLBs before releasing backing store (bsc#1194880). - CVE-2021-4197: Use cgroup open-time credentials for process migraton perm checks (bsc#1194302). - CVE-2021-4202: Fixed NFC race condition by adding NCI_UNREG flag (bsc#1194529). - CVE-2021-4083: Fixed a read-after-free memory flaw inside the garbage collection for Unix domain socket file handlers when users call close() and fget() simultaneouslyand can potentially trigger a race condition (bnc#1193727). - CVE-2021-4149: Fixed btrfs unlock newly allocated extent buffer after error (bsc#1194001). The following non-security bugs were fixed: - KVM: remember position in kvm->vcpus array (bsc#1190973). - KVM: s390: index kvm->arch.idle_mask by vcpu_idx (bsc#1190973). - SUNRPC: Add basic load balancing to the transport switch - kabi fix. (bnc#1192729). - SUNRPC: Add basic load balancing to the transport switch. (bnc#1192729) - SUNRPC: Fix initialisation of struct rpc_xprt_switch (bnc#1192729). - SUNRPC: Optimise transport balancing code (bnc#1192729). - SUNRPC: Replace division by multiplication in calculation of queue length (bnc#1192729). - SUNRPC: Skip zero-refcount transports (bnc#1192729). - USB: serial: option: add Telit FN990 compositions (git-fixes). - bpf: Verifer, adjust_scalar_min_max_vals to always call update_reg_bounds() (bsc#1194227). - crypto: qat - fix undetected PFVF timeout in ACK loop (git-fixes). - ext4: set csum seed in tmp inode while migrating to extents (bsc#1195272). - fget: clarify and improve __fget_files() implementation (bsc#1193727). - hv_netvsc: Set needed_headroom according to VF (bsc#1193507). - ibmvnic: Allow extra failures before disabling (bsc#1195073 ltc#195713). - ibmvnic: do not spin in tasklet (bsc#1195073 ltc#195713). - ibmvnic: init ->running_cap_crqs early (bsc#1195073 ltc#195713). - ibmvnic: remove unused ->wait_capability (bsc#1195073 ltc#195713). - kABI fixup after adding vcpu_idx to struct kvm_cpu (bsc#1190973). - kabi: mask new member 'empty' of struct Qdisc (bsc#1183405). - kabi: revert drop of Qdisc::atomic_qlen (bsc#1183405). - kprobes: Limit max data_size of the kretprobe instances (bsc#1193669). - livepatch: Avoid CPU hogging with cond_resched (bsc#1071995). - memstick: rtsx_usb_ms: fix UAF (bsc#1194516). - mm/hwpoison: do not lock page again when me_huge_page() successfully recovers (bsc#1194814). - moxart: fix potential use-after-free on remove path (bsc#1194516). - net, xdp: Introduce xdp_init_buff utility routine (bsc#1193507). - net, xdp: Introduce xdp_prepare_buff utility routine (bsc#1193507). - net/sched: annotate lockless accesses to qdisc->empty (bsc#1183405). - net/sched: fix race between deactivation and dequeue for NOLOCK qdisc (bsc#1183405). - net/sched: pfifo_fast: fix wrong dereference in pfifo_fast_enqueue (bsc#1183405). - net/sched: pfifo_fast: fix wrong dereference when qdisc is reset (bsc#1183405). - net: Using proper atomic helper (bsc#1186222). - net: allow retransmitting a TCP packet if original is still in queue (bsc#1188605 bsc#1187428). - net: caif: avoid using qdisc_qlen() (bsc#1183405). - net: cdc_ncm: Allow for dwNtbOutMaxSize to be unset or zero (git-fixes). - net: dev: introduce support for sch BYPASS for lockless qdisc (bsc#1183405). - net: mana: Add RX fencing (bsc#1193507). - net: mana: Add XDP support (bsc#1193507). - net: sch_generic: aviod concurrent reset and enqueue op for lockless qdisc (bsc#1183405). - net: sched: Avoid using yield() in a busy waiting loop (bsc#1183405). - net: sched: add barrier to ensure correct ordering for lockless qdisc (bsc#1183405). - net: sched: add empty status flag for NOLOCK qdisc (bsc#1183405). - net: sched: always do stats accounting according to TCQ_F_CPUSTATS (bsc#1183405). - net: sched: avoid unnecessary seqcount operation for lockless qdisc (bsc#1183405). - net: sched: fix packet stuck problem for lockless qdisc (bsc#1183405). - net: sched: fix tx action reschedule issue with stopped queue (bsc#1183405). - net: sched: fix tx action rescheduling issue during deactivation (bsc#1183405). - net: sched: prefer qdisc_is_empty() over direct qlen access (bsc#1183405). - net: sched: replaced invalid qdisc tree flush helper in qdisc_replace (bsc#1183405). - net: sched: when clearing NOLOCK, clear TCQ_F_CPUSTATS, too (bsc#1183405). - net: tipc: validate domain record count on input (bsc#1195254). - net: usb: lan78xx: add Allied Telesis AT29M2-AF (git-fixes). - net_sched: avoid resetting active qdisc for multiple times (bsc#1183405). - net_sched: get rid of unnecessary dev_qdisc_reset() (bsc#1183405). - net_sched: use qdisc_reset() in qdisc_destroy() (bsc#1183405). - nfs: do not dirty kernel pages read by direct-io (bsc#1194410). - nvme: add 'iopolicy' module parameter (bsc#1177599 bsc#1193096). - nvme: return BLK_STS_TRANSPORT unless DNR for NVME_SC_NS_NOT_READY (bsc#1163405). - of: Add cpu node iterator for_each_of_cpu_node() (bsc#1065729). - of: Add device_type access helper functions (bsc#1065729). - of: Fix cpu node iterator to not ignore disabled cpu nodes (bsc#1065729). - of: Fix property name in of_node_get_device_type (bsc#1065729). - of: add node name compare helper functions (bsc#1065729). - powerpc/perf: Fix data source encodings for L2.1 and L3.1 accesses (bsc#1065729). - powerpc/prom_init: Fix improper check of prom_getprop() (bsc#1065729). - powerpc/pseries/cpuhp: cache node corrections (bsc#1065729). - powerpc/pseries/cpuhp: delete add/remove_by_count code (bsc#1065729). - powerpc/pseries/mobility: ignore ibm, platform-facilities updates (bsc#1065729). - powerpc/traps: do not enable irqs in _exception (bsc#1065729). - powerpc: add interrupt_cond_local_irq_enable helper (bsc#1065729). - s390/cio: make ccw_device_dma_* more robust (bsc#1193242). - s390/pci: add s390_iommu_aperture kernel parameter (bsc#1193234). - s390/pci: move pseudo-MMIO to prevent MIO overlap (bsc#1194965). - select: Fix indefinitely sleeping task in poll_schedule_timeout() (bsc#1194027). - tpm: Check for integer overflow in tpm2_map_response_body() (bsc#1082555). - tpm: add request_locality before write TPM_INT_ENABLE (bsc#1082555). - tpm: fix potential NULL pointer access in tpm_del_char_device (bsc#1184209 ltc#190917 git-fixes bsc#1193660 ltc#195634). - tracing/kprobes: 'nmissed' not showed correctly for kretprobe (git-fixes). - tracing: Fix check for trace_percpu_buffer validity in get_trace_buf() (git-fixes). - ucsi_ccg: Check DEV_INT bit only when starting CCG4 (git-fixes). - usb: core: config: fix validation of wMaxPacketValue entries (git-fixes). - usbnet: fix error return code in usbnet_probe() (git-fixes). - usbnet: sanity check for maxpacket (git-fixes). - vfs: check fd has read access in kernel_read_file_from_fd() (bsc#1194888). - virtio: write back F_VERSION_1 before validate (bsc#1193235). - x86/platform/uv: Add more to secondary CPU kdump info (bsc#1194493).
05 / REFERENCES
Further evidence
- https://bugzilla.suse.com/1065729
- https://bugzilla.suse.com/1071995
- https://bugzilla.suse.com/1082555
- https://bugzilla.suse.com/1163405
- https://bugzilla.suse.com/1177599
- https://bugzilla.suse.com/1183405
- https://bugzilla.suse.com/1184209
- https://bugzilla.suse.com/1186207
- https://bugzilla.suse.com/1186222
- https://bugzilla.suse.com/1187428
- https://bugzilla.suse.com/1187723
- https://bugzilla.suse.com/1188605
- https://bugzilla.suse.com/1190973
- https://bugzilla.suse.com/1192729
- https://bugzilla.suse.com/1193096
- https://bugzilla.suse.com/1193234
- https://bugzilla.suse.com/1193235
- https://bugzilla.suse.com/1193242
- https://bugzilla.suse.com/1193507
- https://bugzilla.suse.com/1193660
- https://bugzilla.suse.com/1193669
- https://bugzilla.suse.com/1193727
- https://bugzilla.suse.com/1193767
- https://bugzilla.suse.com/1193861
- https://bugzilla.suse.com/1193864
- https://bugzilla.suse.com/1193927
- https://bugzilla.suse.com/1194001
- https://bugzilla.suse.com/1194027
- https://bugzilla.suse.com/1194227
- https://bugzilla.suse.com/1194302
- https://bugzilla.suse.com/1194410
- https://bugzilla.suse.com/1194493
- https://bugzilla.suse.com/1194516
- https://bugzilla.suse.com/1194529
- https://bugzilla.suse.com/1194814
- https://bugzilla.suse.com/1194880
- https://bugzilla.suse.com/1194888
- https://bugzilla.suse.com/1194965
- https://bugzilla.suse.com/1194985
- https://bugzilla.suse.com/1195065
- https://bugzilla.suse.com/1195073
- https://bugzilla.suse.com/1195254
- https://bugzilla.suse.com/1195272
- https://www.suse.com/security/cve/CVE-2020-28097
- https://www.suse.com/security/cve/CVE-2021-3564
- https://www.suse.com/security/cve/CVE-2021-39648
- https://www.suse.com/security/cve/CVE-2021-39657
- https://www.suse.com/security/cve/CVE-2021-4083
- https://www.suse.com/security/cve/CVE-2021-4135
- https://www.suse.com/security/cve/CVE-2021-4149
- https://www.suse.com/security/cve/CVE-2021-4197
- https://www.suse.com/security/cve/CVE-2021-4202
- https://www.suse.com/security/cve/CVE-2021-44733
- https://www.suse.com/security/cve/CVE-2022-0322
- https://www.suse.com/security/cve/CVE-2022-0330
- https://www.suse.com/security/cve/CVE-2022-0435
- https://www.suse.com/security/cve/CVE-2022-22942
- https://www.suse.com/support/update/announcement/2022/suse-su-20220364-1/