Security update for the Linux Kernel

SUSE Security Update: Security update for the Linux Kernel
Announcement ID: SUSE-SU-2022:3587-1
Rating: important
References: #1124235 #1129770 #1154048 #1190317 #1199564 #1201309 #1202097 #1202385 #1202677 #1202960 #1203098 #1203107 #1203410 #1203424 #1203462 #1203552 #1203769 #1203935 #1203987
Cross-References:CVE-2022-20008 CVE-2022-2503 CVE-2022-2663 CVE-2022-3239 CVE-2022-3303 CVE-2022-39188 CVE-2022-41218 CVE-2022-41848
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 8 vulnerabilities and has 11 fixes is now available.


The SUSE Linux Enterprise 12 SP5 kernel was updated.
The following security bugs were fixed:

  • CVE-2022-3303: Fixed a race condition in the sound subsystem due to improper locking (bnc#1203769).
  • CVE-2022-41218: Fixed an use-after-free caused by refcount races in drivers/media/dvb-core/dmxdev.c (bnc#1202960).
  • CVE-2022-3239: Fixed an use-after-free in the video4linux driver that could lead a local user to able to crash the system or escalate their privileges (bnc#1203552).
  • CVE-2022-41848: Fixed a race condition and resultant use-after-free if a physically proximate attacker removes a PCMCIA device while calling ioctl (bnc#1203987).
  • CVE-2022-2503: Fixed a vulnerability that allowed root to bypass LoadPin and load untrusted and unverified kernel modules and firmware (bnc#1202677).
  • CVE-2022-20008: Fixed a bug which allowed to read kernel heap memory due to uninitialized data. This could lead to local information disclosure if reading from an SD card that triggers errors, with no additional execution privileges needed. (bnc#1199564)
  • CVE-2022-2663: Fixed an issue which allowed a firewall to be bypassed when users are using unencrypted IRC with nf_conntrack_irc configured (bnc#1202097).
  • CVE-2022-39188: Fixed a race condition where a device driver can free a page while it still has stale TLB entries. (bnc#1203107).

The following non-security bugs were fixed:
  • arm64: cpufeature: Allow different PMU versions in ID_DFR0_EL1 (git-fixes)
  • cifs: alloc_mid function should be marked as static (bsc#1190317).
  • cifs: alloc_path_with_tree_prefix: do not append sep. if the path is empty (bsc#1190317).
  • cifs: change smb2_query_info_compound to use a cached fid, if available (bsc#1190317).
  • cifs: check for smb1 in open_cached_dir() (bsc#1190317).
  • cifs: Check the IOCB_DIRECT flag, not O_DIRECT (bsc#1190317).
  • cifs: clean up an inconsistent indenting (bsc#1190317).
  • cifs: convert the path to utf16 in smb2_query_info_compound (bsc#1190317).
  • cifs: Do not use tcon->cfid directly, use the cfid we get from open_cached_dir (bsc#1190317).
  • cifs: do not use uninitialized data in the owner/group sid (bsc#1190317).
  • cifs: fix double free race when mount fails in cifs_get_root() (bsc#1190317).
  • cifs: fix FILE_BOTH_DIRECTORY_INFO definition (bsc#1190317).
  • cifs: fix handlecache and multiuser (bsc#1190317).
  • cifs: fix lock length calculation (bsc#1190317).
  • cifs: fix ntlmssp auth when there is no key exchange (bsc#1190317).
  • cifs: fix NULL ptr dereference in refresh_mounts() (bsc#1190317).
  • cifs: fix NULL ptr dereference in smb2_ioctl_query_info() (bsc#1190317).
  • cifs: fix set of group SID via NTSD xattrs (bsc#1190317).
  • cifs: fix signed integer overflow when fl_end is OFFSET_MAX (bsc#1190317).
  • cifs: Fix smb311_update_preauth_hash() kernel-doc comment (bsc#1190317).
  • cifs: fix the cifs_reconnect path for DFS (bsc#1190317).
  • cifs: fix uninitialized pointer in error case in dfs_cache_get_tgt_share (bsc#1190317).
  • cifs: mark sessions for reconnection in helper function (bsc#1190317).
  • cifs: modefromsids must add an ACE for authenticated users (bsc#1190317).
  • cifs: move definition of cifs_fattr earlier in cifsglob.h (bsc#1190317).
  • cifs: move from strlcpy with unused retval to strscpy (bsc#1190317).
  • cifs: move superblock magic defitions to magic.h (bsc#1190317).
  • cifs: potential buffer overflow in handling symlinks (bsc#1190317).
  • cifs: prevent bad output lengths in smb2_ioctl_query_info() (bsc#1190317).
  • cifs: release cached dentries only if mount is complete (bsc#1190317).
  • cifs: remove "cifs_" prefix from init/destroy mids functions (bsc#1190317).
  • cifs: remove check of list iterator against head past the loop body (bsc#1190317).
  • cifs: remove minor build warning (bsc#1190317).
  • cifs: remove redundant initialization to variable mnt_sign_enabled (bsc#1190317).
  • cifs: remove remaining build warnings (bsc#1190317).
  • cifs: remove repeated debug message on cifs_put_smb_ses() (bsc#1190317).
  • cifs: remove some camelCase and also some static build warnings (bsc#1190317).
  • cifs: remove unnecessary (void*) conversions (bsc#1190317).
  • cifs: remove unused server parameter from calc_smb_size() (bsc#1190317).
  • cifs: remove useless DeleteMidQEntry() (bsc#1190317).
  • cifs: remove useless parameter 'is_fsctl' from SMB2_ioctl() (bsc#1190317).
  • cifs: return errors during session setup during reconnects (bsc#1190317).
  • cifs: return the more nuanced writeback error on close() (bsc#1190317).
  • cifs: sanitize multiple delimiters in prepath (bsc#1190317).
  • cifs: set the CREATE_NOT_FILE when opening the directory in use_cached_dir() (bsc#1190317).
  • cifs: skip trailing separators of prefix paths (bsc#1190317).
  • cifs: smbd: fix typo in comment (bsc#1190317).
  • cifs: Split the smb3_add_credits tracepoint (bsc#1190317).
  • cifs: use correct lock type in cifs_reconnect() (bsc#1190317).
  • cifs: Use kzalloc instead of kmalloc/memset (bsc#1190317).
  • cifs: verify that tcon is valid before dereference in cifs_kill_sb (bsc#1190317).
  • cifs: version operations for smb20 unneeded when legacy support disabled (bsc#1190317).
  • cifs: we do not need a spinlock around the tree access during umount (bsc#1190317).
  • cifs: when extending a file with falloc we should make files not-sparse (bsc#1190317).
  • dm: thin metadata: Fix use-after-free in dm_bm_set_read_only (bsc#1203462).
  • dtb: Do not include sources in src.rpm - refer to kernel-source Same as other kernel binary packages there is no need to carry duplicate sources in dtb packages.
  • fbdev: fb_pm2fb: Avoid potential divide by zero error (bsc#1154048)
  • ftrace: Fix NULL pointer dereference in is_ftrace_trampoline when ftrace is dead (git-fixes).
  • Input: iforce - constify usb_device_id and fix space before '[' error (git-fixes).
  • Input: melfas_mip4 - fix return value check in mip4_probe() (git-fixes).
  • Input: stop telling users to snail-mail Vojtech (git-fixes).
  • md-raid10: fix KASAN warning (git-fixes).
  • md: call __md_stop_writes in md_stop (git-fixes).
  • net: mana: Add rmb after checking owner bits (git-fixes).
  • net: mana: Add the Linux MANA PF driver (bug#1201309, jsc#PED-529).
  • NFS: LOOKUP_DIRECTORY is also ok with symlinks (git-fixes).
  • NFS: RECLAIM_COMPLETE must handle EACCES (git-fixes).
  • NFSD: Fix zero-length NFSv3 WRITEs (git-fixes).
  • powerpc: Use device_type helpers to access the node type (bsc#1203424 ltc#199544).
  • powerpc/drmem: Make lmb_size 64 bit (bsc#1203424 ltc#199544).
  • powerpc/memhotplug: Make lmb size 64bit (bsc#1203424 ltc#199544).
  • ppc64/kdump: Limit kdump base to 512MB (bsc#1203410 ltc#199904).
  • scsi: ch: Make it possible to open a ch device multiple times again (git-fixes).
  • scsi: core: Avoid that a kernel warning appears during system resume (git-fixes).
  • scsi: core: Avoid that system resume triggers a kernel warning (git-fixes).
  • scsi: fcoe: Embed fc_rport_priv in fcoe_rport structure (git-fixes).
  • scsi: lpfc: Add missing destroy_workqueue() in error path (git-fixes).
  • scsi: lpfc: Check the return value of alloc_workqueue() (git-fixes).
  • scsi: mpt3sas: Do not call disable_irq from IRQ poll handler (git-fixes).
  • scsi: mpt3sas: Fix ioctl timeout (git-fixes).
  • scsi: mpt3sas: Fix sync irqs (git-fixes).
  • scsi: mpt3sas: Fix use-after-free warning (git-fixes).
  • scsi: qla2xxx: Add debugfs create/delete helpers (bsc#1203935).
  • scsi: qla2xxx: Add NVMe parameters support in Auxiliary Image Status (bsc#1203935).
  • scsi: qla2xxx: Always wait for qlt_sess_work_fn() from qlt_stop_phase1() (bsc#1203935).
  • scsi: qla2xxx: Avoid flush_scheduled_work() usage (bsc#1203935).
  • scsi: qla2xxx: Disable ATIO interrupt coalesce for quad port ISP27XX (bsc#1203935).
  • scsi: qla2xxx: Drop DID_TARGET_FAILURE use (bsc#1203935).
  • scsi: qla2xxx: Fix memory leak in __qlt_24xx_handle_abts() (bsc#1203935).
  • scsi: qla2xxx: Fix memory leak in __qlt_24xx_handle_abts() (git-fixes).
  • scsi: qla2xxx: Fix response queue handler reading stale packets (bsc#1203935).
  • scsi: qla2xxx: Log message "skipping scsi_scan_host()" as informational (bsc#1203935).
  • scsi: qla2xxx: Remove unused declarations for qla2xxx (bsc#1203935).
  • scsi: qla2xxx: Remove unused del_sess_list field (bsc#1203935).
  • scsi: qla2xxx: Remove unused qlt_tmr_work() (bsc#1203935).
  • scsi: qla2xxx: Revert "scsi: qla2xxx: Fix response queue handler reading stale packets" (bsc#1203935).
  • scsi: qla2xxx: Update version to (bsc#1203935).
  • scsi: sd_zbc: Fix compilation warning (git-fixes).
  • scsi: sd: enable compat ioctls for sed-opal (git-fixes).
  • scsi: sd: Fix Opal support (git-fixes).
  • scsi: sg: Allow waiting for commands to complete on removed device (git-fixes).
  • scsi: smartpqi: Fix DMA direction for RAID requests (git-fixes).
  • SMB2: small refactor in smb2_check_message() (bsc#1190317).
  • SMB3: add trace point for SMB2_set_eof (bsc#1190317).
  • SMB3: check for null tcon (bsc#1190317).
  • SMB3: check xattr value length earlier (bsc#1190317).
  • SMB3: do not set rc when used and unneeded in query_info_compound (bsc#1190317).
  • SMB3: EBADF/EIO errors in rename/open caused by race condition in smb2_compound_op (bsc#1190317).
  • SUNRPC: Reinitialise the backchannel request buffers before reuse (git-fixes).
  • sysfb: Enable boot time VESA graphic mode selection (bsc#1129770) Backporting notes: * context changes * config update
  • USB: Add ignore-residue quirk for NXP PN7462AU (git-fixes).
  • USB: cdc-acm: Add Icom PMR F3400 support (0c26:0020) (git-fixes).
  • USB: core: Prevent nested device-reset calls (git-fixes).
  • USB: dwc2: fix wrong order of phy_power_on and phy_init (git-fixes).
  • USB: serial: ftdi_sio: add Belimo device ids (git-fixes).
  • USB: serial: option: add Quectel EM05-G modem (git-fixes).
  • USB: serial: option: add Quectel RM500K module support.
  • USB: serial: option: add support for Cinterion MV31 with new baseline (git-fixes).
  • USB: serial: option: add Telit LE910Cx 0x1250 composition (git-fixes).
  • USB: struct usb_device: hide new member (git-fixes).
  • USB: typec: altmodes/displayport: correct pin assignment for UFP receptacles (git-fixes).
  • USB: typec: tcpci: Do not skip cleanup in .remove() on error (git-fixes).
  • usbnet: Fix memory leak in usbnet_disconnect() (git-fixes).
  • video: fbdev: amba-clcd: Fix refcount leak bugs (bsc#1154048) Backporting notes: * context changes
  • video: fbdev: arkfb: Check the size of screen before memset_io() (bsc#1154048)
  • video: fbdev: arkfb: Fix a divide-by-zero bug in ark_set_pixclock() (bsc#1154048)
  • video: fbdev: s3fb: Check the size of screen before memset_io() (bsc#1154048)
  • video: fbdev: sis: fix typos in SiS_GetModeID() (bsc#1154048)
  • video: fbdev: vt8623fb: Check the size of screen before memset_io() (bsc#1154048)
  • x86/bugs: Reenable retbleed=off While for older kernels the return thunks are statically built in and cannot be dynamically patched out, retbleed=off should still be possible to do so that the mitigation can still be disabled on Intel who do not use the return thunks but IBRS.
  • xhci: bail out early if driver can't accress host in resume (git-fixes).

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-3587=1
  • SUSE Linux Enterprise Software Development Kit 12-SP5:
    zypper in -t patch SUSE-SLE-SDK-12-SP5-2022-3587=1
  • SUSE Linux Enterprise Server 12-SP5:
    zypper in -t patch SUSE-SLE-SERVER-12-SP5-2022-3587=1
  • SUSE Linux Enterprise Live Patching 12-SP5:
    zypper in -t patch SUSE-SLE-Live-Patching-12-SP5-2022-3587=1
    Please note that this is the initial kernel livepatch without fixes itself, this package is later updated by seperate standalone kernel livepatch updates.
  • SUSE Linux Enterprise High Availability 12-SP5:
    zypper in -t patch SUSE-SLE-HA-12-SP5-2022-3587=1

Package List:

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