Логотип exploitDog
Консоль
Логотип exploitDog

exploitDog

suse-cvrf логотип

SUSE-SU-2024:2365-1

Опубликовано: 09 июл. 2024
Источник: suse-cvrf

Описание

Security update for the Linux Kernel

The SUSE Linux Enterprise 15 SP2 kernel was updated to receive various security bugfixes.

The following security bugs were fixed:

  • CVE-2021-47247: net/mlx5e: Fix use-after-free of encap entry in neigh update handler (bsc#1224865).
  • CVE-2021-47311: net: qcom/emac: fix UAF in emac_remove (bsc#1225010).
  • CVE-2021-47368: enetc: Fix illegal access when reading affinity_hint (bsc#1225161).
  • CVE-2021-47372: net: macb: fix use after free on rmmod (bsc#1225184).
  • CVE-2021-47379: blk-cgroup: fix UAF by grabbing blkcg lock before destroying blkg pd (bsc#1225203).
  • CVE-2021-47571: staging: rtl8192e: Fix use after free in _rtl92e_pci_disconnect() (bsc#1225518).
  • CVE-2022-2938: psi: Fix uaf issue when psi trigger is destroyed while being polled (bsc#1202623).
  • CVE-2022-48760: USB: core: Fix hang in usb_kill_urb by adding memory barriers (bsc#1226712).
  • CVE-2023-52707: sched/psi: Fix use-after-free in ep_remove_wait_queue() (bsc#1225109).
  • CVE-2023-52752: smb: client: fix use-after-free bug in cifs_debug_data_proc_show() (bsc#1225487).
  • CVE-2023-52881: tcp: do not accept ACK of bytes we never sent (bsc#1225611).
  • CVE-2024-26921: Preserve kabi for sk_buff (bsc#1223138).
  • CVE-2024-26923: Fixed false-positive lockdep splat for spin_lock() in __unix_gc() (bsc#1223384).
  • CVE-2024-35789: Check fast rx for non-4addr sta VLAN changes (bsc#1224749).
  • CVE-2024-35861: Fixed potential UAF in cifs_signal_cifsd_for_reconnect() (bsc#1224766).
  • CVE-2024-35862: Fixed potential UAF in smb2_is_network_name_deleted() (bsc#1224764).
  • CVE-2024-35864: Fixed potential UAF in smb2_is_valid_lease_break() (bsc#1224765).
  • CVE-2024-35950: drm/client: Fully protect modes with dev->mode_config.mutex (bsc#1224703).
  • CVE-2024-36894: usb: gadget: f_fs: Fix race between aio_cancel() and AIO request complete (bsc#1225749).
  • CVE-2024-36904: tcp: Use refcount_inc_not_zero() in tcp_twsk_unique() (bsc#1225732).
  • CVE-2024-36940: pinctrl: core: delete incorrect free in pinctrl_enable() (bsc#1225840).
  • CVE-2024-36964: fs/9p: only translate RWX permissions for plain 9P2000 (bsc#1225866).
  • CVE-2024-38545: RDMA/hns: Fix UAF for cq async event (bsc#1226595)
  • CVE-2024-38559: scsi: qedf: Ensure the copied buf is NUL terminated (bsc#1226758).
  • CVE-2024-38560: scsi: bfa: Ensure the copied buf is NUL terminated (bsc#1226786).

The following non-security bugs were fixed:

  • ocfs2: adjust enabling place for la window (bsc#1219224).
  • ocfs2: fix sparse warnings (bsc#1219224).
  • ocfs2: improve write IO performance when fragmentation is high (bsc#1219224).
  • ocfs2: speed up chain-list searching (bsc#1219224).
  • x86/tsc: Trust initial offset in architectural TSC-adjust MSRs (bsc#1222015 bsc#1226962).
  • x86/xen: Drop USERGS_SYSRET64 paravirt call (git-fixes).

Список пакетов

SUSE Linux Enterprise High Availability Extension 15 SP2
cluster-md-kmp-default-5.3.18-150200.24.197.1
dlm-kmp-default-5.3.18-150200.24.197.1
gfs2-kmp-default-5.3.18-150200.24.197.1
ocfs2-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Performance Computing 15 SP2-LTSS
kernel-default-5.3.18-150200.24.197.1
kernel-default-base-5.3.18-150200.24.197.1.150200.9.101.1
kernel-default-devel-5.3.18-150200.24.197.1
kernel-devel-5.3.18-150200.24.197.1
kernel-docs-5.3.18-150200.24.197.1
kernel-macros-5.3.18-150200.24.197.1
kernel-obs-build-5.3.18-150200.24.197.1
kernel-preempt-5.3.18-150200.24.197.1
kernel-preempt-devel-5.3.18-150200.24.197.1
kernel-source-5.3.18-150200.24.197.1
kernel-syms-5.3.18-150200.24.197.1
SUSE Linux Enterprise Live Patching 15 SP2
kernel-default-livepatch-5.3.18-150200.24.197.1
kernel-default-livepatch-devel-5.3.18-150200.24.197.1
kernel-livepatch-5_3_18-150200_24_197-default-1-150200.5.3.1
SUSE Linux Enterprise Server 15 SP2-LTSS
kernel-default-5.3.18-150200.24.197.1
kernel-default-base-5.3.18-150200.24.197.1.150200.9.101.1
kernel-default-devel-5.3.18-150200.24.197.1
kernel-devel-5.3.18-150200.24.197.1
kernel-docs-5.3.18-150200.24.197.1
kernel-macros-5.3.18-150200.24.197.1
kernel-obs-build-5.3.18-150200.24.197.1
kernel-preempt-5.3.18-150200.24.197.1
kernel-preempt-devel-5.3.18-150200.24.197.1
kernel-source-5.3.18-150200.24.197.1
kernel-syms-5.3.18-150200.24.197.1
reiserfs-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise Server for SAP Applications 15 SP2
kernel-default-5.3.18-150200.24.197.1
kernel-default-base-5.3.18-150200.24.197.1.150200.9.101.1
kernel-default-devel-5.3.18-150200.24.197.1
kernel-devel-5.3.18-150200.24.197.1
kernel-docs-5.3.18-150200.24.197.1
kernel-macros-5.3.18-150200.24.197.1
kernel-obs-build-5.3.18-150200.24.197.1
kernel-preempt-5.3.18-150200.24.197.1
kernel-preempt-devel-5.3.18-150200.24.197.1
kernel-source-5.3.18-150200.24.197.1
kernel-syms-5.3.18-150200.24.197.1
reiserfs-kmp-default-5.3.18-150200.24.197.1

Описание

Legacy pairing and secure-connections pairing authentication in Bluetooth BR/EDR Core Specification v5.2 and earlier may allow an unauthenticated user to complete authentication without pairing credentials via adjacent access. An unauthenticated, adjacent attacker could impersonate a Bluetooth BR/EDR master or slave to pair with a previously paired remote device to successfully complete the authentication procedure without knowing the link key.


Затронутые продукты
SUSE Linux Enterprise High Availability Extension 15 SP2:cluster-md-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:dlm-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:gfs2-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:ocfs2-kmp-default-5.3.18-150200.24.197.1

Ссылки

Описание

** REJECT ** DO NOT USE THIS CANDIDATE NUMBER. ConsultIDs: CVE-2021-43389. Reason: This candidate is a reservation duplicate of CVE-2021-43389. Notes: All CVE users should reference CVE-2021-43389 instead of this candidate. All references and descriptions in this candidate have been removed to prevent accidental usage.


Затронутые продукты
SUSE Linux Enterprise High Availability Extension 15 SP2:cluster-md-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:dlm-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:gfs2-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:ocfs2-kmp-default-5.3.18-150200.24.197.1

Ссылки

Описание

An issue was discovered in the Linux kernel before 5.14.15. There is an array-index-out-of-bounds flaw in the detach_capi_ctr function in drivers/isdn/capi/kcapi.c.


Затронутые продукты
SUSE Linux Enterprise High Availability Extension 15 SP2:cluster-md-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:dlm-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:gfs2-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:ocfs2-kmp-default-5.3.18-150200.24.197.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: isdn: cpai: check ctr->cnr to avoid array index out of bound The cmtp_add_connection() would add a cmtp session to a controller and run a kernel thread to process cmtp. __module_get(THIS_MODULE); session->task = kthread_run(cmtp_session, session, "kcmtpd_ctr_%d", session->num); During this process, the kernel thread would call detach_capi_ctr() to detach a register controller. if the controller was not attached yet, detach_capi_ctr() would trigger an array-index-out-bounds bug. [ 46.866069][ T6479] UBSAN: array-index-out-of-bounds in drivers/isdn/capi/kcapi.c:483:21 [ 46.867196][ T6479] index -1 is out of range for type 'capi_ctr *[32]' [ 46.867982][ T6479] CPU: 1 PID: 6479 Comm: kcmtpd_ctr_0 Not tainted 5.15.0-rc2+ #8 [ 46.869002][ T6479] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.14.0-2 04/01/2014 [ 46.870107][ T6479] Call Trace: [ 46.870473][ T6479] dump_stack_lvl+0x57/0x7d [ 46.870974][ T6479] ubsan_epilogue+0x5/0x40 [ 46.871458][ T6479] __ubsan_handle_out_of_bounds.cold+0x43/0x48 [ 46.872135][ T6479] detach_capi_ctr+0x64/0xc0 [ 46.872639][ T6479] cmtp_session+0x5c8/0x5d0 [ 46.873131][ T6479] ? __init_waitqueue_head+0x60/0x60 [ 46.873712][ T6479] ? cmtp_add_msgpart+0x120/0x120 [ 46.874256][ T6479] kthread+0x147/0x170 [ 46.874709][ T6479] ? set_kthread_struct+0x40/0x40 [ 46.875248][ T6479] ret_from_fork+0x1f/0x30 [ 46.875773][ T6479]


Затронутые продукты
SUSE Linux Enterprise High Availability Extension 15 SP2:cluster-md-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:dlm-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:gfs2-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:ocfs2-kmp-default-5.3.18-150200.24.197.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net/mlx5e: Fix use-after-free of encap entry in neigh update handler Function mlx5e_rep_neigh_update() wasn't updated to accommodate rtnl lock removal from TC filter update path and properly handle concurrent encap entry insertion/deletion which can lead to following use-after-free: [23827.464923] ================================================================== [23827.469446] BUG: KASAN: use-after-free in mlx5e_encap_take+0x72/0x140 [mlx5_core] [23827.470971] Read of size 4 at addr ffff8881d132228c by task kworker/u20:6/21635 [23827.472251] [23827.472615] CPU: 9 PID: 21635 Comm: kworker/u20:6 Not tainted 5.13.0-rc3+ #5 [23827.473788] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS rel-1.13.0-0-gf21b5a4aeb02-prebuilt.qemu.org 04/01/2014 [23827.475639] Workqueue: mlx5e mlx5e_rep_neigh_update [mlx5_core] [23827.476731] Call Trace: [23827.477260] dump_stack+0xbb/0x107 [23827.477906] print_address_description.constprop.0+0x18/0x140 [23827.478896] ? mlx5e_encap_take+0x72/0x140 [mlx5_core] [23827.479879] ? mlx5e_encap_take+0x72/0x140 [mlx5_core] [23827.480905] kasan_report.cold+0x7c/0xd8 [23827.481701] ? mlx5e_encap_take+0x72/0x140 [mlx5_core] [23827.482744] kasan_check_range+0x145/0x1a0 [23827.493112] mlx5e_encap_take+0x72/0x140 [mlx5_core] [23827.494054] ? mlx5e_tc_tun_encap_info_equal_generic+0x140/0x140 [mlx5_core] [23827.495296] mlx5e_rep_neigh_update+0x41e/0x5e0 [mlx5_core] [23827.496338] ? mlx5e_rep_neigh_entry_release+0xb80/0xb80 [mlx5_core] [23827.497486] ? read_word_at_a_time+0xe/0x20 [23827.498250] ? strscpy+0xa0/0x2a0 [23827.498889] process_one_work+0x8ac/0x14e0 [23827.499638] ? lockdep_hardirqs_on_prepare+0x400/0x400 [23827.500537] ? pwq_dec_nr_in_flight+0x2c0/0x2c0 [23827.501359] ? rwlock_bug.part.0+0x90/0x90 [23827.502116] worker_thread+0x53b/0x1220 [23827.502831] ? process_one_work+0x14e0/0x14e0 [23827.503627] kthread+0x328/0x3f0 [23827.504254] ? _raw_spin_unlock_irq+0x24/0x40 [23827.505065] ? __kthread_bind_mask+0x90/0x90 [23827.505912] ret_from_fork+0x1f/0x30 [23827.506621] [23827.506987] Allocated by task 28248: [23827.507694] kasan_save_stack+0x1b/0x40 [23827.508476] __kasan_kmalloc+0x7c/0x90 [23827.509197] mlx5e_attach_encap+0xde1/0x1d40 [mlx5_core] [23827.510194] mlx5e_tc_add_fdb_flow+0x397/0xc40 [mlx5_core] [23827.511218] __mlx5e_add_fdb_flow+0x519/0xb30 [mlx5_core] [23827.512234] mlx5e_configure_flower+0x191c/0x4870 [mlx5_core] [23827.513298] tc_setup_cb_add+0x1d5/0x420 [23827.514023] fl_hw_replace_filter+0x382/0x6a0 [cls_flower] [23827.514975] fl_change+0x2ceb/0x4a51 [cls_flower] [23827.515821] tc_new_tfilter+0x89a/0x2070 [23827.516548] rtnetlink_rcv_msg+0x644/0x8c0 [23827.517300] netlink_rcv_skb+0x11d/0x340 [23827.518021] netlink_unicast+0x42b/0x700 [23827.518742] netlink_sendmsg+0x743/0xc20 [23827.519467] sock_sendmsg+0xb2/0xe0 [23827.520131] ____sys_sendmsg+0x590/0x770 [23827.520851] ___sys_sendmsg+0xd8/0x160 [23827.521552] __sys_sendmsg+0xb7/0x140 [23827.522238] do_syscall_64+0x3a/0x70 [23827.522907] entry_SYSCALL_64_after_hwframe+0x44/0xae [23827.523797] [23827.524163] Freed by task 25948: [23827.524780] kasan_save_stack+0x1b/0x40 [23827.525488] kasan_set_track+0x1c/0x30 [23827.526187] kasan_set_free_info+0x20/0x30 [23827.526968] __kasan_slab_free+0xed/0x130 [23827.527709] slab_free_freelist_hook+0xcf/0x1d0 [23827.528528] kmem_cache_free_bulk+0x33a/0x6e0 [23827.529317] kfree_rcu_work+0x55f/0xb70 [23827.530024] process_one_work+0x8ac/0x14e0 [23827.530770] worker_thread+0x53b/0x1220 [23827.531480] kthread+0x328/0x3f0 [23827.532114] ret_from_fork+0x1f/0x30 [23827.532785] [23827.533147] Last potentially related work creation: [23827.534007] kasan_save_stack+0x1b/0x40 [23827.534710] kasan_record_aux_stack+0xab/0xc0 [23827.535492] kvfree_call_rcu+0x31/0x7b0 [23827.536206] mlx5e_tc_del ---truncated---


Затронутые продукты
SUSE Linux Enterprise High Availability Extension 15 SP2:cluster-md-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:dlm-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:gfs2-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:ocfs2-kmp-default-5.3.18-150200.24.197.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net: qcom/emac: fix UAF in emac_remove adpt is netdev private data and it cannot be used after free_netdev() call. Using adpt after free_netdev() can cause UAF bug. Fix it by moving free_netdev() at the end of the function.


Затронутые продукты
SUSE Linux Enterprise High Availability Extension 15 SP2:cluster-md-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:dlm-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:gfs2-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:ocfs2-kmp-default-5.3.18-150200.24.197.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: scsi: iscsi: Fix conn use after free during resets If we haven't done a unbind target call we can race where iscsi_conn_teardown wakes up the EH thread and then frees the conn while those threads are still accessing the conn ehwait. We can only do one TMF per session so this just moves the TMF fields from the conn to the session. We can then rely on the iscsi_session_teardown->iscsi_remove_session->__iscsi_unbind_session call to remove the target and it's devices, and know after that point there is no device or scsi-ml callout trying to access the session.


Затронутые продукты
SUSE Linux Enterprise High Availability Extension 15 SP2:cluster-md-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:dlm-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:gfs2-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:ocfs2-kmp-default-5.3.18-150200.24.197.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: enetc: Fix illegal access when reading affinity_hint irq_set_affinity_hit() stores a reference to the cpumask_t parameter in the irq descriptor, and that reference can be accessed later from irq_affinity_hint_proc_show(). Since the cpu_mask parameter passed to irq_set_affinity_hit() has only temporary storage (it's on the stack memory), later accesses to it are illegal. Thus reads from the corresponding procfs affinity_hint file can result in paging request oops. The issue is fixed by the get_cpu_mask() helper, which provides a permanent storage for the cpumask_t parameter.


Затронутые продукты
SUSE Linux Enterprise High Availability Extension 15 SP2:cluster-md-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:dlm-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:gfs2-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:ocfs2-kmp-default-5.3.18-150200.24.197.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net: macb: fix use after free on rmmod plat_dev->dev->platform_data is released by platform_device_unregister(), use of pclk and hclk is a use-after-free. Since device unregister won't need a clk device we adjust the function call sequence to fix this issue. [ 31.261225] BUG: KASAN: use-after-free in macb_remove+0x77/0xc6 [macb_pci] [ 31.275563] Freed by task 306: [ 30.276782] platform_device_release+0x25/0x80


Затронутые продукты
SUSE Linux Enterprise High Availability Extension 15 SP2:cluster-md-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:dlm-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:gfs2-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:ocfs2-kmp-default-5.3.18-150200.24.197.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: blk-cgroup: fix UAF by grabbing blkcg lock before destroying blkg pd KASAN reports a use-after-free report when doing fuzz test: [693354.104835] ================================================================== [693354.105094] BUG: KASAN: use-after-free in bfq_io_set_weight_legacy+0xd3/0x160 [693354.105336] Read of size 4 at addr ffff888be0a35664 by task sh/1453338 [693354.105607] CPU: 41 PID: 1453338 Comm: sh Kdump: loaded Not tainted 4.18.0-147 [693354.105610] Hardware name: Huawei 2288H V5/BC11SPSCB0, BIOS 0.81 07/02/2018 [693354.105612] Call Trace: [693354.105621] dump_stack+0xf1/0x19b [693354.105626] ? show_regs_print_info+0x5/0x5 [693354.105634] ? printk+0x9c/0xc3 [693354.105638] ? cpumask_weight+0x1f/0x1f [693354.105648] print_address_description+0x70/0x360 [693354.105654] kasan_report+0x1b2/0x330 [693354.105659] ? bfq_io_set_weight_legacy+0xd3/0x160 [693354.105665] ? bfq_io_set_weight_legacy+0xd3/0x160 [693354.105670] bfq_io_set_weight_legacy+0xd3/0x160 [693354.105675] ? bfq_cpd_init+0x20/0x20 [693354.105683] cgroup_file_write+0x3aa/0x510 [693354.105693] ? ___slab_alloc+0x507/0x540 [693354.105698] ? cgroup_file_poll+0x60/0x60 [693354.105702] ? 0xffffffff89600000 [693354.105708] ? usercopy_abort+0x90/0x90 [693354.105716] ? mutex_lock+0xef/0x180 [693354.105726] kernfs_fop_write+0x1ab/0x280 [693354.105732] ? cgroup_file_poll+0x60/0x60 [693354.105738] vfs_write+0xe7/0x230 [693354.105744] ksys_write+0xb0/0x140 [693354.105749] ? __ia32_sys_read+0x50/0x50 [693354.105760] do_syscall_64+0x112/0x370 [693354.105766] ? syscall_return_slowpath+0x260/0x260 [693354.105772] ? do_page_fault+0x9b/0x270 [693354.105779] ? prepare_exit_to_usermode+0xf9/0x1a0 [693354.105784] ? enter_from_user_mode+0x30/0x30 [693354.105793] entry_SYSCALL_64_after_hwframe+0x65/0xca [693354.105875] Allocated by task 1453337: [693354.106001] kasan_kmalloc+0xa0/0xd0 [693354.106006] kmem_cache_alloc_node_trace+0x108/0x220 [693354.106010] bfq_pd_alloc+0x96/0x120 [693354.106015] blkcg_activate_policy+0x1b7/0x2b0 [693354.106020] bfq_create_group_hierarchy+0x1e/0x80 [693354.106026] bfq_init_queue+0x678/0x8c0 [693354.106031] blk_mq_init_sched+0x1f8/0x460 [693354.106037] elevator_switch_mq+0xe1/0x240 [693354.106041] elevator_switch+0x25/0x40 [693354.106045] elv_iosched_store+0x1a1/0x230 [693354.106049] queue_attr_store+0x78/0xb0 [693354.106053] kernfs_fop_write+0x1ab/0x280 [693354.106056] vfs_write+0xe7/0x230 [693354.106060] ksys_write+0xb0/0x140 [693354.106064] do_syscall_64+0x112/0x370 [693354.106069] entry_SYSCALL_64_after_hwframe+0x65/0xca [693354.106114] Freed by task 1453336: [693354.106225] __kasan_slab_free+0x130/0x180 [693354.106229] kfree+0x90/0x1b0 [693354.106233] blkcg_deactivate_policy+0x12c/0x220 [693354.106238] bfq_exit_queue+0xf5/0x110 [693354.106241] blk_mq_exit_sched+0x104/0x130 [693354.106245] __elevator_exit+0x45/0x60 [693354.106249] elevator_switch_mq+0xd6/0x240 [693354.106253] elevator_switch+0x25/0x40 [693354.106257] elv_iosched_store+0x1a1/0x230 [693354.106261] queue_attr_store+0x78/0xb0 [693354.106264] kernfs_fop_write+0x1ab/0x280 [693354.106268] vfs_write+0xe7/0x230 [693354.106271] ksys_write+0xb0/0x140 [693354.106275] do_syscall_64+0x112/0x370 [693354.106280] entry_SYSCALL_64_after_hwframe+0x65/0xca [693354.106329] The buggy address belongs to the object at ffff888be0a35580 which belongs to the cache kmalloc-1k of size 1024 [693354.106736] The buggy address is located 228 bytes inside of 1024-byte region [ffff888be0a35580, ffff888be0a35980) [693354.107114] The buggy address belongs to the page: [693354.107273] page:ffffea002f828c00 count:1 mapcount:0 mapping:ffff888107c17080 index:0x0 compound_mapcount: 0 [693354.107606] flags: 0x17ffffc0008100(slab|head) [693354.107760] raw: 0017ffffc0008100 ffffea002fcbc808 ffffea0030bd3a08 ffff888107c17080 [693354.108020] r ---truncated---


Затронутые продукты
SUSE Linux Enterprise High Availability Extension 15 SP2:cluster-md-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:dlm-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:gfs2-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:ocfs2-kmp-default-5.3.18-150200.24.197.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: staging: rtl8192e: Fix use after free in _rtl92e_pci_disconnect() The free_rtllib() function frees the "dev" pointer so there is use after free on the next line. Re-arrange things to avoid that.


Затронутые продукты
SUSE Linux Enterprise High Availability Extension 15 SP2:cluster-md-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:dlm-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:gfs2-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:ocfs2-kmp-default-5.3.18-150200.24.197.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: media: mxl111sf: change mutex_init() location Syzbot reported, that mxl111sf_ctrl_msg() uses uninitialized mutex. The problem was in wrong mutex_init() location. Previous mutex_init(&state->msg_lock) call was in ->init() function, but dvb_usbv2_init() has this order of calls: dvb_usbv2_init() dvb_usbv2_adapter_init() dvb_usbv2_adapter_frontend_init() props->frontend_attach() props->init() Since mxl111sf_* devices call mxl111sf_ctrl_msg() in ->frontend_attach() internally we need to initialize state->msg_lock before frontend_attach(). To achieve it, ->probe() call added to all mxl111sf_* devices, which will simply initiaize mutex.


Затронутые продукты
SUSE Linux Enterprise High Availability Extension 15 SP2:cluster-md-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:dlm-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:gfs2-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:ocfs2-kmp-default-5.3.18-150200.24.197.1

Ссылки

Описание

A stack overflow flaw was found in the Linux kernel's TIPC protocol functionality in the way a user sends a packet with malicious content where the number of domain member nodes is higher than the 64 allowed. This flaw allows a remote user to crash the system or possibly escalate their privileges if they have access to the TIPC network.


Затронутые продукты
SUSE Linux Enterprise High Availability Extension 15 SP2:cluster-md-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:dlm-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:gfs2-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:ocfs2-kmp-default-5.3.18-150200.24.197.1

Ссылки

Описание

The vmwgfx driver contains a local privilege escalation vulnerability that allows unprivileged users to gain access to files opened by other processes on the system through a dangling 'file' pointer.


Затронутые продукты
SUSE Linux Enterprise High Availability Extension 15 SP2:cluster-md-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:dlm-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:gfs2-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:ocfs2-kmp-default-5.3.18-150200.24.197.1

Ссылки

Описание

A flaw was found in the Linux kernel's implementation of Pressure Stall Information. While the feature is disabled by default, it could allow an attacker to crash the system or have other memory-corruption side effects.


Затронутые продукты
SUSE Linux Enterprise High Availability Extension 15 SP2:cluster-md-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:dlm-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:gfs2-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:ocfs2-kmp-default-5.3.18-150200.24.197.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: tipc: improve size validations for received domain records The function tipc_mon_rcv() allows a node to receive and process domain_record structs from peer nodes to track their views of the network topology. This patch verifies that the number of members in a received domain record does not exceed the limit defined by MAX_MON_DOMAIN, something that may otherwise lead to a stack overflow. tipc_mon_rcv() is called from the function tipc_link_proto_rcv(), where we are reading a 32 bit message data length field into a uint16. To avert any risk of bit overflow, we add an extra sanity check for this in that function. We cannot see that happen with the current code, but future designers being unaware of this risk, may introduce it by allowing delivery of very large (> 64k) sk buffers from the bearer layer. This potential problem was identified by Eric Dumazet. This fixes CVE-2022-0435


Затронутые продукты
SUSE Linux Enterprise High Availability Extension 15 SP2:cluster-md-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:dlm-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:gfs2-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:ocfs2-kmp-default-5.3.18-150200.24.197.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: USB: core: Fix hang in usb_kill_urb by adding memory barriers The syzbot fuzzer has identified a bug in which processes hang waiting for usb_kill_urb() to return. It turns out the issue is not unlinking the URB; that works just fine. Rather, the problem arises when the wakeup notification that the URB has completed is not received. The reason is memory-access ordering on SMP systems. In outline form, usb_kill_urb() and __usb_hcd_giveback_urb() operating concurrently on different CPUs perform the following actions: CPU 0 CPU 1 ---------------------------- --------------------------------- usb_kill_urb(): __usb_hcd_giveback_urb(): ... ... atomic_inc(&urb->reject); atomic_dec(&urb->use_count); ... ... wait_event(usb_kill_urb_queue, atomic_read(&urb->use_count) == 0); if (atomic_read(&urb->reject)) wake_up(&usb_kill_urb_queue); Confining your attention to urb->reject and urb->use_count, you can see that the overall pattern of accesses on CPU 0 is: write urb->reject, then read urb->use_count; whereas the overall pattern of accesses on CPU 1 is: write urb->use_count, then read urb->reject. This pattern is referred to in memory-model circles as SB (for "Store Buffering"), and it is well known that without suitable enforcement of the desired order of accesses -- in the form of memory barriers -- it is entirely possible for one or both CPUs to execute their reads ahead of their writes. The end result will be that sometimes CPU 0 sees the old un-decremented value of urb->use_count while CPU 1 sees the old un-incremented value of urb->reject. Consequently CPU 0 ends up on the wait queue and never gets woken up, leading to the observed hang in usb_kill_urb(). The same pattern of accesses occurs in usb_poison_urb() and the failure pathway of usb_hcd_submit_urb(). The problem is fixed by adding suitable memory barriers. To provide proper memory-access ordering in the SB pattern, a full barrier is required on both CPUs. The atomic_inc() and atomic_dec() accesses themselves don't provide any memory ordering, but since they are present, we can use the optimized smp_mb__after_atomic() memory barrier in the various routines to obtain the desired effect. This patch adds the necessary memory barriers.


Затронутые продукты
SUSE Linux Enterprise High Availability Extension 15 SP2:cluster-md-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:dlm-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:gfs2-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:ocfs2-kmp-default-5.3.18-150200.24.197.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/vmwgfx: Fix stale file descriptors on failed usercopy A failing usercopy of the fence_rep object will lead to a stale entry in the file descriptor table as put_unused_fd() won't release it. This enables userland to refer to a dangling 'file' object through that still valid file descriptor, leading to all kinds of use-after-free exploitation scenarios. Fix this by deferring the call to fd_install() until after the usercopy has succeeded.


Затронутые продукты
SUSE Linux Enterprise High Availability Extension 15 SP2:cluster-md-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:dlm-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:gfs2-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:ocfs2-kmp-default-5.3.18-150200.24.197.1

Ссылки

Описание

Bluetooth BR/EDR devices with Secure Simple Pairing and Secure Connections pairing in Bluetooth Core Specification 4.2 through 5.4 allow certain man-in-the-middle attacks that force a short key length, and might lead to discovery of the encryption key and live injection, aka BLUFFS.


Затронутые продукты
SUSE Linux Enterprise High Availability Extension 15 SP2:cluster-md-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:dlm-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:gfs2-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:ocfs2-kmp-default-5.3.18-150200.24.197.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: sched/psi: Fix use-after-free in ep_remove_wait_queue() If a non-root cgroup gets removed when there is a thread that registered trigger and is polling on a pressure file within the cgroup, the polling waitqueue gets freed in the following path: do_rmdir cgroup_rmdir kernfs_drain_open_files cgroup_file_release cgroup_pressure_release psi_trigger_destroy However, the polling thread still has a reference to the pressure file and will access the freed waitqueue when the file is closed or upon exit: fput ep_eventpoll_release ep_free ep_remove_wait_queue remove_wait_queue This results in use-after-free as pasted below. The fundamental problem here is that cgroup_file_release() (and consequently waitqueue's lifetime) is not tied to the file's real lifetime. Using wake_up_pollfree() here might be less than ideal, but it is in line with the comment at commit 42288cb44c4b ("wait: add wake_up_pollfree()") since the waitqueue's lifetime is not tied to file's one and can be considered as another special case. While this would be fixable by somehow making cgroup_file_release() be tied to the fput(), it would require sizable refactoring at cgroups or higher layer which might be more justifiable if we identify more cases like this. BUG: KASAN: use-after-free in _raw_spin_lock_irqsave+0x60/0xc0 Write of size 4 at addr ffff88810e625328 by task a.out/4404 CPU: 19 PID: 4404 Comm: a.out Not tainted 6.2.0-rc6 #38 Hardware name: Amazon EC2 c5a.8xlarge/, BIOS 1.0 10/16/2017 Call Trace: <TASK> dump_stack_lvl+0x73/0xa0 print_report+0x16c/0x4e0 kasan_report+0xc3/0xf0 kasan_check_range+0x2d2/0x310 _raw_spin_lock_irqsave+0x60/0xc0 remove_wait_queue+0x1a/0xa0 ep_free+0x12c/0x170 ep_eventpoll_release+0x26/0x30 __fput+0x202/0x400 task_work_run+0x11d/0x170 do_exit+0x495/0x1130 do_group_exit+0x100/0x100 get_signal+0xd67/0xde0 arch_do_signal_or_restart+0x2a/0x2b0 exit_to_user_mode_prepare+0x94/0x100 syscall_exit_to_user_mode+0x20/0x40 do_syscall_64+0x52/0x90 entry_SYSCALL_64_after_hwframe+0x63/0xcd </TASK> Allocated by task 4404: kasan_set_track+0x3d/0x60 __kasan_kmalloc+0x85/0x90 psi_trigger_create+0x113/0x3e0 pressure_write+0x146/0x2e0 cgroup_file_write+0x11c/0x250 kernfs_fop_write_iter+0x186/0x220 vfs_write+0x3d8/0x5c0 ksys_write+0x90/0x110 do_syscall_64+0x43/0x90 entry_SYSCALL_64_after_hwframe+0x63/0xcd Freed by task 4407: kasan_set_track+0x3d/0x60 kasan_save_free_info+0x27/0x40 ____kasan_slab_free+0x11d/0x170 slab_free_freelist_hook+0x87/0x150 __kmem_cache_free+0xcb/0x180 psi_trigger_destroy+0x2e8/0x310 cgroup_file_release+0x4f/0xb0 kernfs_drain_open_files+0x165/0x1f0 kernfs_drain+0x162/0x1a0 __kernfs_remove+0x1fb/0x310 kernfs_remove_by_name_ns+0x95/0xe0 cgroup_addrm_files+0x67f/0x700 cgroup_destroy_locked+0x283/0x3c0 cgroup_rmdir+0x29/0x100 kernfs_iop_rmdir+0xd1/0x140 vfs_rmdir+0xfe/0x240 do_rmdir+0x13d/0x280 __x64_sys_rmdir+0x2c/0x30 do_syscall_64+0x43/0x90 entry_SYSCALL_64_after_hwframe+0x63/0xcd


Затронутые продукты
SUSE Linux Enterprise High Availability Extension 15 SP2:cluster-md-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:dlm-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:gfs2-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:ocfs2-kmp-default-5.3.18-150200.24.197.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: smb: client: fix use-after-free bug in cifs_debug_data_proc_show() Skip SMB sessions that are being teared down (e.g. @ses->ses_status == SES_EXITING) in cifs_debug_data_proc_show() to avoid use-after-free in @ses. This fixes the following GPF when reading from /proc/fs/cifs/DebugData while mounting and umounting [ 816.251274] general protection fault, probably for non-canonical address 0x6b6b6b6b6b6b6d81: 0000 [#1] PREEMPT SMP NOPTI ... [ 816.260138] Call Trace: [ 816.260329] <TASK> [ 816.260499] ? die_addr+0x36/0x90 [ 816.260762] ? exc_general_protection+0x1b3/0x410 [ 816.261126] ? asm_exc_general_protection+0x26/0x30 [ 816.261502] ? cifs_debug_tcon+0xbd/0x240 [cifs] [ 816.261878] ? cifs_debug_tcon+0xab/0x240 [cifs] [ 816.262249] cifs_debug_data_proc_show+0x516/0xdb0 [cifs] [ 816.262689] ? seq_read_iter+0x379/0x470 [ 816.262995] seq_read_iter+0x118/0x470 [ 816.263291] proc_reg_read_iter+0x53/0x90 [ 816.263596] ? srso_alias_return_thunk+0x5/0x7f [ 816.263945] vfs_read+0x201/0x350 [ 816.264211] ksys_read+0x75/0x100 [ 816.264472] do_syscall_64+0x3f/0x90 [ 816.264750] entry_SYSCALL_64_after_hwframe+0x6e/0xd8 [ 816.265135] RIP: 0033:0x7fd5e669d381


Затронутые продукты
SUSE Linux Enterprise High Availability Extension 15 SP2:cluster-md-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:dlm-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:gfs2-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:ocfs2-kmp-default-5.3.18-150200.24.197.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: tcp: do not accept ACK of bytes we never sent This patch is based on a detailed report and ideas from Yepeng Pan and Christian Rossow. ACK seq validation is currently following RFC 5961 5.2 guidelines: The ACK value is considered acceptable only if it is in the range of ((SND.UNA - MAX.SND.WND) <= SEG.ACK <= SND.NXT). All incoming segments whose ACK value doesn't satisfy the above condition MUST be discarded and an ACK sent back. It needs to be noted that RFC 793 on page 72 (fifth check) says: "If the ACK is a duplicate (SEG.ACK < SND.UNA), it can be ignored. If the ACK acknowledges something not yet sent (SEG.ACK > SND.NXT) then send an ACK, drop the segment, and return". The "ignored" above implies that the processing of the incoming data segment continues, which means the ACK value is treated as acceptable. This mitigation makes the ACK check more stringent since any ACK < SND.UNA wouldn't be accepted, instead only ACKs that are in the range ((SND.UNA - MAX.SND.WND) <= SEG.ACK <= SND.NXT) get through. This can be refined for new (and possibly spoofed) flows, by not accepting ACK for bytes that were never sent. This greatly improves TCP security at a little cost. I added a Fixes: tag to make sure this patch will reach stable trees, even if the 'blamed' patch was adhering to the RFC. tp->bytes_acked was added in linux-4.2 Following packetdrill test (courtesy of Yepeng Pan) shows the issue at hand: 0 socket(..., SOCK_STREAM, IPPROTO_TCP) = 3 +0 setsockopt(3, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0 +0 bind(3, ..., ...) = 0 +0 listen(3, 1024) = 0 // ---------------- Handshake ------------------- // // when window scale is set to 14 the window size can be extended to // 65535 * (2^14) = 1073725440. Linux would accept an ACK packet // with ack number in (Server_ISN+1-1073725440. Server_ISN+1) // ,though this ack number acknowledges some data never // sent by the server. +0 < S 0:0(0) win 65535 <mss 1400,nop,wscale 14> +0 > S. 0:0(0) ack 1 <...> +0 < . 1:1(0) ack 1 win 65535 +0 accept(3, ..., ...) = 4 // For the established connection, we send an ACK packet, // the ack packet uses ack number 1 - 1073725300 + 2^32, // where 2^32 is used to wrap around. // Note: we used 1073725300 instead of 1073725440 to avoid possible // edge cases. // 1 - 1073725300 + 2^32 = 3221241997 // Oops, old kernels happily accept this packet. +0 < . 1:1001(1000) ack 3221241997 win 65535 // After the kernel fix the following will be replaced by a challenge ACK, // and prior malicious frame would be dropped. +0 > . 1:1(0) ack 1001


Затронутые продукты
SUSE Linux Enterprise High Availability Extension 15 SP2:cluster-md-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:dlm-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:gfs2-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:ocfs2-kmp-default-5.3.18-150200.24.197.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: inet: inet_defrag: prevent sk release while still in use ip_local_out() and other functions can pass skb->sk as function argument. If the skb is a fragment and reassembly happens before such function call returns, the sk must not be released. This affects skb fragments reassembled via netfilter or similar modules, e.g. openvswitch or ct_act.c, when run as part of tx pipeline. Eric Dumazet made an initial analysis of this bug. Quoting Eric: Calling ip_defrag() in output path is also implying skb_orphan(), which is buggy because output path relies on sk not disappearing. A relevant old patch about the issue was : 8282f27449bf ("inet: frag: Always orphan skbs inside ip_defrag()") [..] net/ipv4/ip_output.c depends on skb->sk being set, and probably to an inet socket, not an arbitrary one. If we orphan the packet in ipvlan, then downstream things like FQ packet scheduler will not work properly. We need to change ip_defrag() to only use skb_orphan() when really needed, ie whenever frag_list is going to be used. Eric suggested to stash sk in fragment queue and made an initial patch. However there is a problem with this: If skb is refragmented again right after, ip_do_fragment() will copy head->sk to the new fragments, and sets up destructor to sock_wfree. IOW, we have no choice but to fix up sk_wmem accouting to reflect the fully reassembled skb, else wmem will underflow. This change moves the orphan down into the core, to last possible moment. As ip_defrag_offset is aliased with sk_buff->sk member, we must move the offset into the FRAG_CB, else skb->sk gets clobbered. This allows to delay the orphaning long enough to learn if the skb has to be queued or if the skb is completing the reasm queue. In the former case, things work as before, skb is orphaned. This is safe because skb gets queued/stolen and won't continue past reasm engine. In the latter case, we will steal the skb->sk reference, reattach it to the head skb, and fix up wmem accouting when inet_frag inflates truesize.


Затронутые продукты
SUSE Linux Enterprise High Availability Extension 15 SP2:cluster-md-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:dlm-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:gfs2-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:ocfs2-kmp-default-5.3.18-150200.24.197.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: af_unix: Fix garbage collector racing against connect() Garbage collector does not take into account the risk of embryo getting enqueued during the garbage collection. If such embryo has a peer that carries SCM_RIGHTS, two consecutive passes of scan_children() may see a different set of children. Leading to an incorrectly elevated inflight count, and then a dangling pointer within the gc_inflight_list. sockets are AF_UNIX/SOCK_STREAM S is an unconnected socket L is a listening in-flight socket bound to addr, not in fdtable V's fd will be passed via sendmsg(), gets inflight count bumped connect(S, addr) sendmsg(S, [V]); close(V) __unix_gc() ---------------- ------------------------- ----------- NS = unix_create1() skb1 = sock_wmalloc(NS) L = unix_find_other(addr) unix_state_lock(L) unix_peer(S) = NS // V count=1 inflight=0 NS = unix_peer(S) skb2 = sock_alloc() skb_queue_tail(NS, skb2[V]) // V became in-flight // V count=2 inflight=1 close(V) // V count=1 inflight=1 // GC candidate condition met for u in gc_inflight_list: if (total_refs == inflight_refs) add u to gc_candidates // gc_candidates={L, V} for u in gc_candidates: scan_children(u, dec_inflight) // embryo (skb1) was not // reachable from L yet, so V's // inflight remains unchanged __skb_queue_tail(L, skb1) unix_state_unlock(L) for u in gc_candidates: if (u.inflight) scan_children(u, inc_inflight_move_tail) // V count=1 inflight=2 (!) If there is a GC-candidate listening socket, lock/unlock its state. This makes GC wait until the end of any ongoing connect() to that socket. After flipping the lock, a possibly SCM-laden embryo is already enqueued. And if there is another embryo coming, it can not possibly carry SCM_RIGHTS. At this point, unix_inflight() can not happen because unix_gc_lock is already taken. Inflight graph remains unaffected.


Затронутые продукты
SUSE Linux Enterprise High Availability Extension 15 SP2:cluster-md-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:dlm-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:gfs2-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:ocfs2-kmp-default-5.3.18-150200.24.197.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: mac80211: check/clear fast rx for non-4addr sta VLAN changes When moving a station out of a VLAN and deleting the VLAN afterwards, the fast_rx entry still holds a pointer to the VLAN's netdev, which can cause use-after-free bugs. Fix this by immediately calling ieee80211_check_fast_rx after the VLAN change.


Затронутые продукты
SUSE Linux Enterprise High Availability Extension 15 SP2:cluster-md-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:dlm-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:gfs2-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:ocfs2-kmp-default-5.3.18-150200.24.197.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: smb: client: fix potential UAF in cifs_signal_cifsd_for_reconnect() Skip sessions that are being teared down (status == SES_EXITING) to avoid UAF.


Затронутые продукты
SUSE Linux Enterprise High Availability Extension 15 SP2:cluster-md-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:dlm-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:gfs2-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:ocfs2-kmp-default-5.3.18-150200.24.197.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: smb: client: fix potential UAF in smb2_is_network_name_deleted() Skip sessions that are being teared down (status == SES_EXITING) to avoid UAF.


Затронутые продукты
SUSE Linux Enterprise High Availability Extension 15 SP2:cluster-md-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:dlm-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:gfs2-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:ocfs2-kmp-default-5.3.18-150200.24.197.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: smb: client: fix potential UAF in smb2_is_valid_lease_break() Skip sessions that are being teared down (status == SES_EXITING) to avoid UAF.


Затронутые продукты
SUSE Linux Enterprise High Availability Extension 15 SP2:cluster-md-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:dlm-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:gfs2-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:ocfs2-kmp-default-5.3.18-150200.24.197.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: of: module: prevent NULL pointer dereference in vsnprintf() In of_modalias(), we can get passed the str and len parameters which would cause a kernel oops in vsnprintf() since it only allows passing a NULL ptr when the length is also 0. Also, we need to filter out the negative values of the len parameter as these will result in a really huge buffer since snprintf() takes size_t parameter while ours is ssize_t... Found by Linux Verification Center (linuxtesting.org) with the Svace static analysis tool.


Затронутые продукты
SUSE Linux Enterprise High Availability Extension 15 SP2:cluster-md-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:dlm-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:gfs2-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:ocfs2-kmp-default-5.3.18-150200.24.197.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/client: Fully protect modes[] with dev->mode_config.mutex The modes[] array contains pointers to modes on the connectors' mode lists, which are protected by dev->mode_config.mutex. Thus we need to extend modes[] the same protection or by the time we use it the elements may already be pointing to freed/reused memory.


Затронутые продукты
SUSE Linux Enterprise High Availability Extension 15 SP2:cluster-md-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:dlm-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:gfs2-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:ocfs2-kmp-default-5.3.18-150200.24.197.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: usb: gadget: f_fs: Fix race between aio_cancel() and AIO request complete FFS based applications can utilize the aio_cancel() callback to dequeue pending USB requests submitted to the UDC. There is a scenario where the FFS application issues an AIO cancel call, while the UDC is handling a soft disconnect. For a DWC3 based implementation, the callstack looks like the following: DWC3 Gadget FFS Application dwc3_gadget_soft_disconnect() ... --> dwc3_stop_active_transfers() --> dwc3_gadget_giveback(-ESHUTDOWN) --> ffs_epfile_async_io_complete() ffs_aio_cancel() --> usb_ep_free_request() --> usb_ep_dequeue() There is currently no locking implemented between the AIO completion handler and AIO cancel, so the issue occurs if the completion routine is running in parallel to an AIO cancel call coming from the FFS application. As the completion call frees the USB request (io_data->req) the FFS application is also referencing it for the usb_ep_dequeue() call. This can lead to accessing a stale/hanging pointer. commit b566d38857fc ("usb: gadget: f_fs: use io_data->status consistently") relocated the usb_ep_free_request() into ffs_epfile_async_io_complete(). However, in order to properly implement locking to mitigate this issue, the spinlock can't be added to ffs_epfile_async_io_complete(), as usb_ep_dequeue() (if successfully dequeuing a USB request) will call the function driver's completion handler in the same context. Hence, leading into a deadlock. Fix this issue by moving the usb_ep_free_request() back to ffs_user_copy_worker(), and ensuring that it explicitly sets io_data->req to NULL after freeing it within the ffs->eps_lock. This resolves the race condition above, as the ffs_aio_cancel() routine will not continue attempting to dequeue a request that has already been freed, or the ffs_user_copy_work() not freeing the USB request until the AIO cancel is done referencing it. This fix depends on commit b566d38857fc ("usb: gadget: f_fs: use io_data->status consistently")


Затронутые продукты
SUSE Linux Enterprise High Availability Extension 15 SP2:cluster-md-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:dlm-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:gfs2-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:ocfs2-kmp-default-5.3.18-150200.24.197.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: tcp: Use refcount_inc_not_zero() in tcp_twsk_unique(). Anderson Nascimento reported a use-after-free splat in tcp_twsk_unique() with nice analysis. Since commit ec94c2696f0b ("tcp/dccp: avoid one atomic operation for timewait hashdance"), inet_twsk_hashdance() sets TIME-WAIT socket's sk_refcnt after putting it into ehash and releasing the bucket lock. Thus, there is a small race window where other threads could try to reuse the port during connect() and call sock_hold() in tcp_twsk_unique() for the TIME-WAIT socket with zero refcnt. If that happens, the refcnt taken by tcp_twsk_unique() is overwritten and sock_put() will cause underflow, triggering a real use-after-free somewhere else. To avoid the use-after-free, we need to use refcount_inc_not_zero() in tcp_twsk_unique() and give up on reusing the port if it returns false. [0]: refcount_t: addition on 0; use-after-free. WARNING: CPU: 0 PID: 1039313 at lib/refcount.c:25 refcount_warn_saturate+0xe5/0x110 CPU: 0 PID: 1039313 Comm: trigger Not tainted 6.8.6-200.fc39.x86_64 #1 Hardware name: VMware, Inc. VMware20,1/440BX Desktop Reference Platform, BIOS VMW201.00V.21805430.B64.2305221830 05/22/2023 RIP: 0010:refcount_warn_saturate+0xe5/0x110 Code: 42 8e ff 0f 0b c3 cc cc cc cc 80 3d aa 13 ea 01 00 0f 85 5e ff ff ff 48 c7 c7 f8 8e b7 82 c6 05 96 13 ea 01 01 e8 7b 42 8e ff <0f> 0b c3 cc cc cc cc 48 c7 c7 50 8f b7 82 c6 05 7a 13 ea 01 01 e8 RSP: 0018:ffffc90006b43b60 EFLAGS: 00010282 RAX: 0000000000000000 RBX: ffff888009bb3ef0 RCX: 0000000000000027 RDX: ffff88807be218c8 RSI: 0000000000000001 RDI: ffff88807be218c0 RBP: 0000000000069d70 R08: 0000000000000000 R09: ffffc90006b439f0 R10: ffffc90006b439e8 R11: 0000000000000003 R12: ffff8880029ede84 R13: 0000000000004e20 R14: ffffffff84356dc0 R15: ffff888009bb3ef0 FS: 00007f62c10926c0(0000) GS:ffff88807be00000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000000020ccb000 CR3: 000000004628c005 CR4: 0000000000f70ef0 PKRU: 55555554 Call Trace: <TASK> ? refcount_warn_saturate+0xe5/0x110 ? __warn+0x81/0x130 ? refcount_warn_saturate+0xe5/0x110 ? report_bug+0x171/0x1a0 ? refcount_warn_saturate+0xe5/0x110 ? handle_bug+0x3c/0x80 ? exc_invalid_op+0x17/0x70 ? asm_exc_invalid_op+0x1a/0x20 ? refcount_warn_saturate+0xe5/0x110 tcp_twsk_unique+0x186/0x190 __inet_check_established+0x176/0x2d0 __inet_hash_connect+0x74/0x7d0 ? __pfx___inet_check_established+0x10/0x10 tcp_v4_connect+0x278/0x530 __inet_stream_connect+0x10f/0x3d0 inet_stream_connect+0x3a/0x60 __sys_connect+0xa8/0xd0 __x64_sys_connect+0x18/0x20 do_syscall_64+0x83/0x170 entry_SYSCALL_64_after_hwframe+0x78/0x80 RIP: 0033:0x7f62c11a885d Code: ff c3 66 2e 0f 1f 84 00 00 00 00 00 90 f3 0f 1e fa 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d a3 45 0c 00 f7 d8 64 89 01 48 RSP: 002b:00007f62c1091e58 EFLAGS: 00000296 ORIG_RAX: 000000000000002a RAX: ffffffffffffffda RBX: 0000000020ccb004 RCX: 00007f62c11a885d RDX: 0000000000000010 RSI: 0000000020ccb000 RDI: 0000000000000003 RBP: 00007f62c1091e90 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000296 R12: 00007f62c10926c0 R13: ffffffffffffff88 R14: 0000000000000000 R15: 00007ffe237885b0 </TASK>


Затронутые продукты
SUSE Linux Enterprise High Availability Extension 15 SP2:cluster-md-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:dlm-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:gfs2-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:ocfs2-kmp-default-5.3.18-150200.24.197.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: pinctrl: core: delete incorrect free in pinctrl_enable() The "pctldev" struct is allocated in devm_pinctrl_register_and_init(). It's a devm_ managed pointer that is freed by devm_pinctrl_dev_release(), so freeing it in pinctrl_enable() will lead to a double free. The devm_pinctrl_dev_release() function frees the pindescs and destroys the mutex as well.


Затронутые продукты
SUSE Linux Enterprise High Availability Extension 15 SP2:cluster-md-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:dlm-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:gfs2-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:ocfs2-kmp-default-5.3.18-150200.24.197.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: fs/9p: only translate RWX permissions for plain 9P2000 Garbage in plain 9P2000's perm bits is allowed through, which causes it to be able to set (among others) the suid bit. This was presumably not the intent since the unix extended bits are handled explicitly and conditionally on .u.


Затронутые продукты
SUSE Linux Enterprise High Availability Extension 15 SP2:cluster-md-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:dlm-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:gfs2-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:ocfs2-kmp-default-5.3.18-150200.24.197.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: of: module: add buffer overflow check in of_modalias() In of_modalias(), if the buffer happens to be too small even for the 1st snprintf() call, the len parameter will become negative and str parameter (if not NULL initially) will point beyond the buffer's end. Add the buffer overflow check after the 1st snprintf() call and fix such check after the strlen() call (accounting for the terminating NUL char).


Затронутые продукты
SUSE Linux Enterprise High Availability Extension 15 SP2:cluster-md-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:dlm-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:gfs2-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:ocfs2-kmp-default-5.3.18-150200.24.197.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: RDMA/hns: Fix UAF for cq async event The refcount of CQ is not protected by locks. When CQ asynchronous events and CQ destruction are concurrent, CQ may have been released, which will cause UAF. Use the xa_lock() to protect the CQ refcount.


Затронутые продукты
SUSE Linux Enterprise High Availability Extension 15 SP2:cluster-md-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:dlm-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:gfs2-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:ocfs2-kmp-default-5.3.18-150200.24.197.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: scsi: qedf: Ensure the copied buf is NUL terminated Currently, we allocate a count-sized kernel buffer and copy count from userspace to that buffer. Later, we use kstrtouint on this buffer but we don't ensure that the string is terminated inside the buffer, this can lead to OOB read when using kstrtouint. Fix this issue by using memdup_user_nul instead of memdup_user.


Затронутые продукты
SUSE Linux Enterprise High Availability Extension 15 SP2:cluster-md-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:dlm-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:gfs2-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:ocfs2-kmp-default-5.3.18-150200.24.197.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: scsi: bfa: Ensure the copied buf is NUL terminated Currently, we allocate a nbytes-sized kernel buffer and copy nbytes from userspace to that buffer. Later, we use sscanf on this buffer but we don't ensure that the string is terminated inside the buffer, this can lead to OOB read when using sscanf. Fix this issue by using memdup_user_nul instead of memdup_user.


Затронутые продукты
SUSE Linux Enterprise High Availability Extension 15 SP2:cluster-md-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:dlm-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:gfs2-kmp-default-5.3.18-150200.24.197.1
SUSE Linux Enterprise High Availability Extension 15 SP2:ocfs2-kmp-default-5.3.18-150200.24.197.1

Ссылки
Уязвимость SUSE-SU-2024:2365-1