kernel-5.14.0-570.22.1.el9_6
エラータID: AXSA:2025-10621:48
The kernel packages contain the Linux kernel, the core of any Linux operating
system.
Security Fix(es):
kernel: eth: bnxt: fix truesize for mb-xdp-pass case (CVE-2025-21961)
kernel: Bluetooth: L2CAP: Fix slab-use-after-free Read in l2cap_send_cmd
(CVE-2025-21969)
kernel: cifs: Fix integer overflow while processing acdirmax mount option
(CVE-2025-21963)
kernel: wifi: cfg80211: cancel wiphy_work before freeing wiphy
(CVE-2025-21979)
kernel: proc: fix UAF in proc_get_inode() (CVE-2025-21999)
kernel: md: fix mddev uaf while iterating all_mddevs list (CVE-2025-22126)
kernel: smb: client: fix UAF in decryption with multichannel
(CVE-2025-37750)
For more details about the security issue(s), including the impact, a CVSS
score, acknowledgments, and other related information, refer to the CVE page(s)
listed in the References section.
CVE(s):
CVE-2025-21961
In the Linux kernel, the following vulnerability has been resolved: eth: bnxt: fix truesize for mb-xdp-pass case When mb-xdp is set and return is XDP_PASS, packet is converted from xdp_buff to sk_buff with xdp_update_skb_shared_info() in bnxt_xdp_build_skb(). bnxt_xdp_build_skb() passes incorrect truesize argument to xdp_update_skb_shared_info(). The truesize is calculated as BNXT_RX_PAGE_SIZE * sinfo->nr_frags but the skb_shared_info was wiped by napi_build_skb() before. So it stores sinfo->nr_frags before bnxt_xdp_build_skb() and use it instead of getting skb_shared_info from xdp_get_shared_info_from_buff(). Splat looks like: ------------[ cut here ]------------ WARNING: CPU: 2 PID: 0 at net/core/skbuff.c:6072 skb_try_coalesce+0x504/0x590 Modules linked in: xt_nat xt_tcpudp veth af_packet xt_conntrack nft_chain_nat xt_MASQUERADE nf_conntrack_netlink xfrm_user xt_addrtype nft_coms CPU: 2 UID: 0 PID: 0 Comm: swapper/2 Not tainted 6.14.0-rc2+ #3 RIP: 0010:skb_try_coalesce+0x504/0x590 Code: 4b fd ff ff 49 8b 34 24 40 80 e6 40 0f 84 3d fd ff ff 49 8b 74 24 48 40 f6 c6 01 0f 84 2e fd ff ff 48 8d 4e ff e9 25 fd ff ff <0f> 0b e99 RSP: 0018:ffffb62c4120caa8 EFLAGS: 00010287 RAX: 0000000000000003 RBX: ffffb62c4120cb14 RCX: 0000000000000ec0 RDX: 0000000000001000 RSI: ffffa06e5d7dc000 RDI: 0000000000000003 RBP: ffffa06e5d7ddec0 R08: ffffa06e6120a800 R09: ffffa06e7a119900 R10: 0000000000002310 R11: ffffa06e5d7dcec0 R12: ffffe4360575f740 R13: ffffe43600000000 R14: 0000000000000002 R15: 0000000000000002 FS: 0000000000000000(0000) GS:ffffa0755f700000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007f147b76b0f8 CR3: 00000001615d4000 CR4: 00000000007506f0 PKRU: 55555554 Call Trace: ? __warn+0x84/0x130 ? skb_try_coalesce+0x504/0x590 ? report_bug+0x18a/0x1a0 ? handle_bug+0x53/0x90 ? exc_invalid_op+0x14/0x70 ? asm_exc_invalid_op+0x16/0x20 ? skb_try_coalesce+0x504/0x590 inet_frag_reasm_finish+0x11f/0x2e0 ip_defrag+0x37a/0x900 ip_local_deliver+0x51/0x120 ip_sublist_rcv_finish+0x64/0x70 ip_sublist_rcv+0x179/0x210 ip_list_rcv+0xf9/0x130 How to reproduce: ip link set $interface1 xdp obj xdp_pass.o ip link set $interface1 mtu 9000 up ip a a 10.0.0.1/24 dev $interface1 ip link set $interfac2 mtu 9000 up ip a a 10.0.0.2/24 dev $interface2 ping 10.0.0.1 -s 65000 Following ping.py patch adds xdp-mb-pass case. so ping.py is going to be able to reproduce this issue.
CVE-2025-21963
In the Linux kernel, the following vulnerability has been resolved: cifs: Fix integer overflow while processing acdirmax mount option User-provided mount parameter acdirmax of type u32 is intended to have an upper limit, but before it is validated, the value is converted from seconds to jiffies which can lead to an integer overflow. Found by Linux Verification Center (linuxtesting.org) with SVACE.
CVE-2025-21969
In the Linux kernel, the following vulnerability has been resolved: Bluetooth: L2CAP: Fix slab-use-after-free Read in l2cap_send_cmd After the hci sync command releases l2cap_conn, the hci receive data work queue references the released l2cap_conn when sending to the upper layer. Add hci dev lock to the hci receive data work queue to synchronize the two. [1] BUG: KASAN: slab-use-after-free in l2cap_send_cmd+0x187/0x8d0 net/bluetooth/l2cap_core.c:954 Read of size 8 at addr ffff8880271a4000 by task kworker/u9:2/5837 CPU: 0 UID: 0 PID: 5837 Comm: kworker/u9:2 Not tainted 6.13.0-rc5-syzkaller-00163-gab75170520d4 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/13/2024 Workqueue: hci1 hci_rx_work Call Trace: __dump_stack lib/dump_stack.c:94 [inline] dump_stack_lvl+0x241/0x360 lib/dump_stack.c:120 print_address_description mm/kasan/report.c:378 [inline] print_report+0x169/0x550 mm/kasan/report.c:489 kasan_report+0x143/0x180 mm/kasan/report.c:602 l2cap_build_cmd net/bluetooth/l2cap_core.c:2964 [inline] l2cap_send_cmd+0x187/0x8d0 net/bluetooth/l2cap_core.c:954 l2cap_sig_send_rej net/bluetooth/l2cap_core.c:5502 [inline] l2cap_sig_channel net/bluetooth/l2cap_core.c:5538 [inline] l2cap_recv_frame+0x221f/0x10db0 net/bluetooth/l2cap_core.c:6817 hci_acldata_packet net/bluetooth/hci_core.c:3797 [inline] hci_rx_work+0x508/0xdb0 net/bluetooth/hci_core.c:4040 process_one_work kernel/workqueue.c:3229 [inline] process_scheduled_works+0xa66/0x1840 kernel/workqueue.c:3310 worker_thread+0x870/0xd30 kernel/workqueue.c:3391 kthread+0x2f0/0x390 kernel/kthread.c:389 ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:147 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244 Allocated by task 5837: kasan_save_stack mm/kasan/common.c:47 [inline] kasan_save_track+0x3f/0x80 mm/kasan/common.c:68 poison_kmalloc_redzone mm/kasan/common.c:377 [inline] __kasan_kmalloc+0x98/0xb0 mm/kasan/common.c:394 kasan_kmalloc include/linux/kasan.h:260 [inline] __kmalloc_cache_noprof+0x243/0x390 mm/slub.c:4329 kmalloc_noprof include/linux/slab.h:901 [inline] kzalloc_noprof include/linux/slab.h:1037 [inline] l2cap_conn_add+0xa9/0x8e0 net/bluetooth/l2cap_core.c:6860 l2cap_connect_cfm+0x115/0x1090 net/bluetooth/l2cap_core.c:7239 hci_connect_cfm include/net/bluetooth/hci_core.h:2057 [inline] hci_remote_features_evt+0x68e/0xac0 net/bluetooth/hci_event.c:3726 hci_event_func net/bluetooth/hci_event.c:7473 [inline] hci_event_packet+0xac2/0x1540 net/bluetooth/hci_event.c:7525 hci_rx_work+0x3f3/0xdb0 net/bluetooth/hci_core.c:4035 process_one_work kernel/workqueue.c:3229 [inline] process_scheduled_works+0xa66/0x1840 kernel/workqueue.c:3310 worker_thread+0x870/0xd30 kernel/workqueue.c:3391 kthread+0x2f0/0x390 kernel/kthread.c:389 ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:147 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244 Freed by task 54: kasan_save_stack mm/kasan/common.c:47 [inline] kasan_save_track+0x3f/0x80 mm/kasan/common.c:68 kasan_save_free_info+0x40/0x50 mm/kasan/generic.c:582 poison_slab_object mm/kasan/common.c:247 [inline] __kasan_slab_free+0x59/0x70 mm/kasan/common.c:264 kasan_slab_free include/linux/kasan.h:233 [inline] slab_free_hook mm/slub.c:2353 [inline] slab_free mm/slub.c:4613 [inline] kfree+0x196/0x430 mm/slub.c:4761 l2cap_connect_cfm+0xcc/0x1090 net/bluetooth/l2cap_core.c:7235 hci_connect_cfm include/net/bluetooth/hci_core.h:2057 [inline] hci_conn_failed+0x287/0x400 net/bluetooth/hci_conn.c:1266 hci_abort_conn_sync+0x56c/0x11f0 net/bluetooth/hci_sync.c:5603 hci_cmd_sync_work+0x22b/0x400 net/bluetooth/hci_sync.c:332 process_one_work kernel/workqueue.c:3229 [inline] process_scheduled_works+0xa66/0x1840 kernel/workqueue.c:3310 worker_thread+0x870/0xd30 kernel/workqueue.c:3391 kthread+0x2f0/0x390 kernel/kthread.c:389 ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:147 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entr ---truncated---
CVE-2025-21979
In the Linux kernel, the following vulnerability has been resolved: wifi: cfg80211: cancel wiphy_work before freeing wiphy A wiphy_work can be queued from the moment the wiphy is allocated and initialized (i.e. wiphy_new_nm). When a wiphy_work is queued, the rdev::wiphy_work is getting queued. If wiphy_free is called before the rdev::wiphy_work had a chance to run, the wiphy memory will be freed, and then when it eventally gets to run it'll use invalid memory. Fix this by canceling the work before freeing the wiphy.
CVE-2025-21999
In the Linux kernel, the following vulnerability has been resolved: proc: fix UAF in proc_get_inode() Fix race between rmmod and /proc/XXX's inode instantiation. The bug is that pde->proc_ops don't belong to /proc, it belongs to a module, therefore dereferencing it after /proc entry has been registered is a bug unless use_pde/unuse_pde() pair has been used. use_pde/unuse_pde can be avoided (2 atomic ops!) because pde->proc_ops never changes so information necessary for inode instantiation can be saved _before_ proc_register() in PDE itself and used later, avoiding pde->proc_ops->... dereference. rmmod lookup sys_delete_module proc_lookup_de pde_get(de); proc_get_inode(dir->i_sb, de); mod->exit() proc_remove remove_proc_subtree proc_entry_rundown(de); free_module(mod); if (S_ISREG(inode->i_mode)) if (de->proc_ops->proc_read_iter) --> As module is already freed, will trigger UAF BUG: unable to handle page fault for address: fffffbfff80a702b PGD 817fc4067 P4D 817fc4067 PUD 817fc0067 PMD 102ef4067 PTE 0 Oops: Oops: 0000 [#1] PREEMPT SMP KASAN PTI CPU: 26 UID: 0 PID: 2667 Comm: ls Tainted: G Hardware name: QEMU Standard PC (i440FX + PIIX, 1996) RIP: 0010:proc_get_inode+0x302/0x6e0 RSP: 0018:ffff88811c837998 EFLAGS: 00010a06 RAX: dffffc0000000000 RBX: ffffffffc0538140 RCX: 0000000000000007 RDX: 1ffffffff80a702b RSI: 0000000000000001 RDI: ffffffffc0538158 RBP: ffff8881299a6000 R08: 0000000067bbe1e5 R09: 1ffff11023906f20 R10: ffffffffb560ca07 R11: ffffffffb2b43a58 R12: ffff888105bb78f0 R13: ffff888100518048 R14: ffff8881299a6004 R15: 0000000000000001 FS: 00007f95b9686840(0000) GS:ffff8883af100000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: fffffbfff80a702b CR3: 0000000117dd2000 CR4: 00000000000006f0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: proc_lookup_de+0x11f/0x2e0 __lookup_slow+0x188/0x350 walk_component+0x2ab/0x4f0 path_lookupat+0x120/0x660 filename_lookup+0x1ce/0x560 vfs_statx+0xac/0x150 __do_sys_newstat+0x96/0x110 do_syscall_64+0x5f/0x170 entry_SYSCALL_64_after_hwframe+0x76/0x7e [adobriyan@gmail.com: don't do 2 atomic ops on the common path]
CVE-2025-22126
In the Linux kernel, the following vulnerability has been resolved: md: fix mddev uaf while iterating all_mddevs list While iterating all_mddevs list from md_notify_reboot() and md_exit(), list_for_each_entry_safe is used, and this can race with deletint the next mddev, causing UAF: t1: spin_lock //list_for_each_entry_safe(mddev, n, ...) mddev_get(mddev1) // assume mddev2 is the next entry spin_unlock t2: //remove mddev2 ... mddev_free spin_lock list_del spin_unlock kfree(mddev2) mddev_put(mddev1) spin_lock //continue dereference mddev2->all_mddevs The old helper for_each_mddev() actually grab the reference of mddev2 while holding the lock, to prevent from being freed. This problem can be fixed the same way, however, the code will be complex. Hence switch to use list_for_each_entry, in this case mddev_put() can free the mddev1 and it's not safe as well. Refer to md_seq_show(), also factor out a helper mddev_put_locked() to fix this problem.
CVE-2025-37750
In the Linux kernel, the following vulnerability has been resolved: smb: client: fix UAF in decryption with multichannel After commit f7025d861694 ("smb: client: allocate crypto only for primary server") and commit b0abcd65ec54 ("smb: client: fix UAF in async decryption"), the channels started reusing AEAD TFM from primary channel to perform synchronous decryption, but that can't done as there could be multiple cifsd threads (one per channel) simultaneously accessing it to perform decryption. This fixes the following KASAN splat when running fstest generic/249 with 'vers=3.1.1,multichannel,max_channels=4,seal' against Windows Server 2022: BUG: KASAN: slab-use-after-free in gf128mul_4k_lle+0xba/0x110 Read of size 8 at addr ffff8881046c18a0 by task cifsd/986 CPU: 3 UID: 0 PID: 986 Comm: cifsd Not tainted 6.15.0-rc1 #1 PREEMPT(voluntary) Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-3.fc41 04/01/2014 Call Trace: dump_stack_lvl+0x5d/0x80 print_report+0x156/0x528 ? gf128mul_4k_lle+0xba/0x110 ? __virt_addr_valid+0x145/0x300 ? __phys_addr+0x46/0x90 ? gf128mul_4k_lle+0xba/0x110 kasan_report+0xdf/0x1a0 ? gf128mul_4k_lle+0xba/0x110 gf128mul_4k_lle+0xba/0x110 ghash_update+0x189/0x210 shash_ahash_update+0x295/0x370 ? __pfx_shash_ahash_update+0x10/0x10 ? __pfx_shash_ahash_update+0x10/0x10 ? __pfx_extract_iter_to_sg+0x10/0x10 ? ___kmalloc_large_node+0x10e/0x180 ? __asan_memset+0x23/0x50 crypto_ahash_update+0x3c/0xc0 gcm_hash_assoc_remain_continue+0x93/0xc0 crypt_message+0xe09/0xec0 [cifs] ? __pfx_crypt_message+0x10/0x10 [cifs] ? _raw_spin_unlock+0x23/0x40 ? __pfx_cifs_readv_from_socket+0x10/0x10 [cifs] decrypt_raw_data+0x229/0x380 [cifs] ? __pfx_decrypt_raw_data+0x10/0x10 [cifs] ? __pfx_cifs_read_iter_from_socket+0x10/0x10 [cifs] smb3_receive_transform+0x837/0xc80 [cifs] ? __pfx_smb3_receive_transform+0x10/0x10 [cifs] ? __pfx___might_resched+0x10/0x10 ? __pfx_smb3_is_transform_hdr+0x10/0x10 [cifs] cifs_demultiplex_thread+0x692/0x1570 [cifs] ? __pfx_cifs_demultiplex_thread+0x10/0x10 [cifs] ? rcu_is_watching+0x20/0x50 ? rcu_lockdep_current_cpu_online+0x62/0xb0 ? find_held_lock+0x32/0x90 ? kvm_sched_clock_read+0x11/0x20 ? local_clock_noinstr+0xd/0xd0 ? trace_irq_enable.constprop.0+0xa8/0xe0 ? __pfx_cifs_demultiplex_thread+0x10/0x10 [cifs] kthread+0x1fe/0x380 ? kthread+0x10f/0x380 ? __pfx_kthread+0x10/0x10 ? local_clock_noinstr+0xd/0xd0 ? ret_from_fork+0x1b/0x60 ? local_clock+0x15/0x30 ? lock_release+0x29b/0x390 ? rcu_is_watching+0x20/0x50 ? __pfx_kthread+0x10/0x10 ret_from_fork+0x31/0x60 ? __pfx_kthread+0x10/0x10 ret_from_fork_asm+0x1a/0x30
Update packages.
In the Linux kernel, the following vulnerability has been resolved: eth: bnxt: fix truesize for mb-xdp-pass case When mb-xdp is set and return is XDP_PASS, packet is converted from xdp_buff to sk_buff with xdp_update_skb_shared_info() in bnxt_xdp_build_skb(). bnxt_xdp_build_skb() passes incorrect truesize argument to xdp_update_skb_shared_info(). The truesize is calculated as BNXT_RX_PAGE_SIZE * sinfo->nr_frags but the skb_shared_info was wiped by napi_build_skb() before. So it stores sinfo->nr_frags before bnxt_xdp_build_skb() and use it instead of getting skb_shared_info from xdp_get_shared_info_from_buff(). Splat looks like: ------------[ cut here ]------------ WARNING: CPU: 2 PID: 0 at net/core/skbuff.c:6072 skb_try_coalesce+0x504/0x590 Modules linked in: xt_nat xt_tcpudp veth af_packet xt_conntrack nft_chain_nat xt_MASQUERADE nf_conntrack_netlink xfrm_user xt_addrtype nft_coms CPU: 2 UID: 0 PID: 0 Comm: swapper/2 Not tainted 6.14.0-rc2+ #3 RIP: 0010:skb_try_coalesce+0x504/0x590 Code: 4b fd ff ff 49 8b 34 24 40 80 e6 40 0f 84 3d fd ff ff 49 8b 74 24 48 40 f6 c6 01 0f 84 2e fd ff ff 48 8d 4e ff e9 25 fd ff ff <0f> 0b e99 RSP: 0018:ffffb62c4120caa8 EFLAGS: 00010287 RAX: 0000000000000003 RBX: ffffb62c4120cb14 RCX: 0000000000000ec0 RDX: 0000000000001000 RSI: ffffa06e5d7dc000 RDI: 0000000000000003 RBP: ffffa06e5d7ddec0 R08: ffffa06e6120a800 R09: ffffa06e7a119900 R10: 0000000000002310 R11: ffffa06e5d7dcec0 R12: ffffe4360575f740 R13: ffffe43600000000 R14: 0000000000000002 R15: 0000000000000002 FS: 0000000000000000(0000) GS:ffffa0755f700000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007f147b76b0f8 CR3: 00000001615d4000 CR4: 00000000007506f0 PKRU: 55555554 Call Trace:
In the Linux kernel, the following vulnerability has been resolved: cifs: Fix integer overflow while processing acdirmax mount option User-provided mount parameter acdirmax of type u32 is intended to have an upper limit, but before it is validated, the value is converted from seconds to jiffies which can lead to an integer overflow. Found by Linux Verification Center (linuxtesting.org) with SVACE.
In the Linux kernel, the following vulnerability has been resolved: Bluetooth: L2CAP: Fix slab-use-after-free Read in l2cap_send_cmd After the hci sync command releases l2cap_conn, the hci receive data work queue references the released l2cap_conn when sending to the upper layer. Add hci dev lock to the hci receive data work queue to synchronize the two. [1] BUG: KASAN: slab-use-after-free in l2cap_send_cmd+0x187/0x8d0 net/bluetooth/l2cap_core.c:954 Read of size 8 at addr ffff8880271a4000 by task kworker/u9:2/5837 CPU: 0 UID: 0 PID: 5837 Comm: kworker/u9:2 Not tainted 6.13.0-rc5-syzkaller-00163-gab75170520d4 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/13/2024 Workqueue: hci1 hci_rx_work Call Trace:
In the Linux kernel, the following vulnerability has been resolved: wifi: cfg80211: cancel wiphy_work before freeing wiphy A wiphy_work can be queued from the moment the wiphy is allocated and initialized (i.e. wiphy_new_nm). When a wiphy_work is queued, the rdev::wiphy_work is getting queued. If wiphy_free is called before the rdev::wiphy_work had a chance to run, the wiphy memory will be freed, and then when it eventally gets to run it'll use invalid memory. Fix this by canceling the work before freeing the wiphy.
In the Linux kernel, the following vulnerability has been resolved: proc: fix UAF in proc_get_inode() Fix race between rmmod and /proc/XXX's inode instantiation. The bug is that pde->proc_ops don't belong to /proc, it belongs to a module, therefore dereferencing it after /proc entry has been registered is a bug unless use_pde/unuse_pde() pair has been used. use_pde/unuse_pde can be avoided (2 atomic ops!) because pde->proc_ops never changes so information necessary for inode instantiation can be saved _before_ proc_register() in PDE itself and used later, avoiding pde->proc_ops->... dereference. rmmod lookup sys_delete_module proc_lookup_de pde_get(de); proc_get_inode(dir->i_sb, de); mod->exit() proc_remove remove_proc_subtree proc_entry_rundown(de); free_module(mod); if (S_ISREG(inode->i_mode)) if (de->proc_ops->proc_read_iter) --> As module is already freed, will trigger UAF BUG: unable to handle page fault for address: fffffbfff80a702b PGD 817fc4067 P4D 817fc4067 PUD 817fc0067 PMD 102ef4067 PTE 0 Oops: Oops: 0000 [#1] PREEMPT SMP KASAN PTI CPU: 26 UID: 0 PID: 2667 Comm: ls Tainted: G Hardware name: QEMU Standard PC (i440FX + PIIX, 1996) RIP: 0010:proc_get_inode+0x302/0x6e0 RSP: 0018:ffff88811c837998 EFLAGS: 00010a06 RAX: dffffc0000000000 RBX: ffffffffc0538140 RCX: 0000000000000007 RDX: 1ffffffff80a702b RSI: 0000000000000001 RDI: ffffffffc0538158 RBP: ffff8881299a6000 R08: 0000000067bbe1e5 R09: 1ffff11023906f20 R10: ffffffffb560ca07 R11: ffffffffb2b43a58 R12: ffff888105bb78f0 R13: ffff888100518048 R14: ffff8881299a6004 R15: 0000000000000001 FS: 00007f95b9686840(0000) GS:ffff8883af100000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: fffffbfff80a702b CR3: 0000000117dd2000 CR4: 00000000000006f0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace:
In the Linux kernel, the following vulnerability has been resolved: md: fix mddev uaf while iterating all_mddevs list While iterating all_mddevs list from md_notify_reboot() and md_exit(), list_for_each_entry_safe is used, and this can race with deletint the next mddev, causing UAF: t1: spin_lock //list_for_each_entry_safe(mddev, n, ...) mddev_get(mddev1) // assume mddev2 is the next entry spin_unlock t2: //remove mddev2 ... mddev_free spin_lock list_del spin_unlock kfree(mddev2) mddev_put(mddev1) spin_lock //continue dereference mddev2->all_mddevs The old helper for_each_mddev() actually grab the reference of mddev2 while holding the lock, to prevent from being freed. This problem can be fixed the same way, however, the code will be complex. Hence switch to use list_for_each_entry, in this case mddev_put() can free the mddev1 and it's not safe as well. Refer to md_seq_show(), also factor out a helper mddev_put_locked() to fix this problem.
In the Linux kernel, the following vulnerability has been resolved: smb: client: fix UAF in decryption with multichannel After commit f7025d861694 ("smb: client: allocate crypto only for primary server") and commit b0abcd65ec54 ("smb: client: fix UAF in async decryption"), the channels started reusing AEAD TFM from primary channel to perform synchronous decryption, but that can't done as there could be multiple cifsd threads (one per channel) simultaneously accessing it to perform decryption. This fixes the following KASAN splat when running fstest generic/249 with 'vers=3.1.1,multichannel,max_channels=4,seal' against Windows Server 2022: BUG: KASAN: slab-use-after-free in gf128mul_4k_lle+0xba/0x110 Read of size 8 at addr ffff8881046c18a0 by task cifsd/986 CPU: 3 UID: 0 PID: 986 Comm: cifsd Not tainted 6.15.0-rc1 #1 PREEMPT(voluntary) Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-3.fc41 04/01/2014 Call Trace:
N/A
SRPMS
- kernel-5.14.0-570.22.1.el9_6.src.rpm
MD5: 1ac6c39f5c416ca5484adb2f9c6d7721
SHA-256: bc033dc69d12f576c94ad3a22c2f46f13cec3317e7997bee83189e97f0eeb926
Size: 142.47 MB
Asianux Server 9 for x86_64
- kernel-5.14.0-570.22.1.el9_6.x86_64.rpm
MD5: ef1702631b714f8435bc5bb99d465f24
SHA-256: 5b51c6c930e21916adef58fa82d4ead1f10c9d1a06364f5f4d840fa430bc54fe
Size: 1.77 MB - kernel-abi-stablelists-5.14.0-570.22.1.el9_6.noarch.rpm
MD5: e0cb1c2dcdf6d50dce42edc05f582e6b
SHA-256: 67f352129b3d89085f582ba98bdd03217cd0e28d7e8d1796c587897a0298faa6
Size: 1.80 MB - kernel-core-5.14.0-570.22.1.el9_6.x86_64.rpm
MD5: a32a7328a6bd9664ef9f8e717e4d40cc
SHA-256: 41d711f0cdb281000b6ecba48b87a15e2ae00c1b91e8fb736b3f8be415dd3f28
Size: 17.84 MB - kernel-cross-headers-5.14.0-570.22.1.el9_6.x86_64.rpm
MD5: 99d22d5b677b90a55aa2d518dc39d6ab
SHA-256: 30e0abc4d0fc490c2566fda7f5da364d2b9ca8dff491536207a90f103c3ffa58
Size: 8.64 MB - kernel-debug-5.14.0-570.22.1.el9_6.x86_64.rpm
MD5: 32cc851bc24cfc0f06a6e1d53e33fefe
SHA-256: 26df1b7f2adb03bf4859bd27fa2a1f142f6690ae32504cee0e3e9189ca3cdc86
Size: 1.77 MB - kernel-debug-core-5.14.0-570.22.1.el9_6.x86_64.rpm
MD5: de5c63140075693fb86b19395b572646
SHA-256: 19c55296a99f20598e1901ab4cf56b5d8ca9eeeb4e254252092d3ace03ae4fdb
Size: 31.27 MB - kernel-debug-devel-5.14.0-570.22.1.el9_6.x86_64.rpm
MD5: 383724505601c27ade08966610aac953
SHA-256: a5d446d651bc4c7fc6d2a512d7d6148dc938f68544424c0ca0eb1d4cd85b738f
Size: 21.76 MB - kernel-debug-devel-matched-5.14.0-570.22.1.el9_6.x86_64.rpm
MD5: 22b57166950d7fac6c49980d5ef7351d
SHA-256: 9b9da45b2eadfcf3ee25592ddce4e7c60ce1b2afc522ed0b64c74cff229f5a97
Size: 1.77 MB - kernel-debug-modules-5.14.0-570.22.1.el9_6.x86_64.rpm
MD5: db12a3f39a126a2da0f11a8f39f5238f
SHA-256: 7fe8c6faecef3bdac43fee9a11c067571b65be89f606cf6a8b946cf4ae9b9e9d
Size: 67.08 MB - kernel-debug-modules-core-5.14.0-570.22.1.el9_6.x86_64.rpm
MD5: 92d4f18e0a8c8100470b2910120dca9e
SHA-256: 1e9b12fd10eba24fb8c2b383e03b72dc0263e20b415993a14c560f64f091f8bf
Size: 48.89 MB - kernel-debug-modules-extra-5.14.0-570.22.1.el9_6.x86_64.rpm
MD5: 01be518168822eb07d4f1f15a7e13dbf
SHA-256: 4a68e505502e7153bd4051ebcb7f7544bc9365ad73439035369cc18d89f64e33
Size: 2.54 MB - kernel-debug-uki-virt-5.14.0-570.22.1.el9_6.x86_64.rpm
MD5: a77601fcdb9014b22df48f7afaaeadf9
SHA-256: 0174deaf1239bedab29a635e15c782dc5adf85363d55afcc315fb4830c9db85a
Size: 84.33 MB - kernel-devel-5.14.0-570.22.1.el9_6.x86_64.rpm
MD5: 8314db4c0e76eb2b712cc28f2800793d
SHA-256: 344f65d940a0fa1cc9a539ff78ac79b1d06604b2b61d1229494ce3774a28077f
Size: 21.58 MB - kernel-devel-matched-5.14.0-570.22.1.el9_6.x86_64.rpm
MD5: 9bd27d83b2f0ee791d15bb5537d5255e
SHA-256: cc5d5e5efc2a624de6ef67f5ccbd44d8c5b700b20817a8b0e2595f596438d5b5
Size: 1.77 MB - kernel-doc-5.14.0-570.22.1.el9_6.noarch.rpm
MD5: d09184396e80242f1b0d4ca5280b8b98
SHA-256: 83e0c82a4b0b011b865d1d3bd39150a2262426965b64212dc85dcb71ff39e13c
Size: 37.90 MB - kernel-headers-5.14.0-570.22.1.el9_6.x86_64.rpm
MD5: cf9f64f551a95deaaa2ed5e6cfab6e3a
SHA-256: ea9f5ba91958c9ff7b3812b02e0724ada443268d1fe47acce27880b7df688716
Size: 3.51 MB - kernel-modules-5.14.0-570.22.1.el9_6.x86_64.rpm
MD5: 14e716d48fd6dd26744ab58c4e0886c2
SHA-256: 9ee8aa734862df3901a9cc13523125d7d3cf03bcf8d6b78a3d346198a6bedf0a
Size: 38.75 MB - kernel-modules-core-5.14.0-570.22.1.el9_6.x86_64.rpm
MD5: 18d778b61b416878e1228c74434e9dfd
SHA-256: f8bb0de29d166580f0707b55d97719add26e0aed7006b852ddc8be2a57fe28d8
Size: 30.86 MB - kernel-modules-extra-5.14.0-570.22.1.el9_6.x86_64.rpm
MD5: fc9576fa42fb8630e453e4b7bd5381d1
SHA-256: 315c4c15c676b8b80f7ad9489efd37cdb5e9f74eeca92619058280a3cd97a20f
Size: 2.19 MB - kernel-rt-5.14.0-570.22.1.el9_6.x86_64.rpm
MD5: 4bcc5afb0e3fcb236386e3ed6b787f94
SHA-256: 32be157bbdfcaeae09fd82649c1b3f3ca9adf125e80a611bde36a70510971bb4
Size: 1.77 MB - kernel-rt-core-5.14.0-570.22.1.el9_6.x86_64.rpm
MD5: 9c2b4b81045520c6c79b5978625f9ecd
SHA-256: 509c1e410aa2782bf19d0791caf27a78136993f5e30dacf3bec63f9c72fdd497
Size: 17.74 MB - kernel-rt-debug-5.14.0-570.22.1.el9_6.x86_64.rpm
MD5: e249579964907a8f8ce9dd18a06a17e2
SHA-256: 4af2cb90337d81003d16a7457f0be879db0e43d2654d917712882573b3694f56
Size: 1.77 MB - kernel-rt-debug-core-5.14.0-570.22.1.el9_6.x86_64.rpm
MD5: bef9c7665fb35bce4653969f665628d1
SHA-256: 5bc110237d0978ff8eb1053e03ce4604e92a6bcf538bc574d4360a93724603eb
Size: 19.14 MB - kernel-rt-debug-devel-5.14.0-570.22.1.el9_6.x86_64.rpm
MD5: 651fc37ebea81cc4c794a57a857c6368
SHA-256: d9298849404a769654d04d4d5649dcb7b8254e5a516ba72ccc542b72c83e69b4
Size: 21.71 MB - kernel-rt-debug-modules-5.14.0-570.22.1.el9_6.x86_64.rpm
MD5: b99f37abcf1642b3a365d5b9d9de3a89
SHA-256: cd920a309d4dbbd778546094e983734f41e3a849ab0b2ffaf9b744c88af5dda1
Size: 40.15 MB - kernel-rt-debug-modules-core-5.14.0-570.22.1.el9_6.x86_64.rpm
MD5: 5097de60cb86648a09d4dbb8aabfed82
SHA-256: 85636ce1cba71ed7d976760652996d5962e89566e76ce5a135aa0e184b7bffb7
Size: 31.28 MB - kernel-rt-debug-modules-extra-5.14.0-570.22.1.el9_6.x86_64.rpm
MD5: 9b7bc20eb8fee9fa5047cfc7fb1b29f0
SHA-256: c7b40764c8c4e821231801931a104fd0edc5f1266388d4868ec26367faf14e8a
Size: 2.22 MB - kernel-rt-devel-5.14.0-570.22.1.el9_6.x86_64.rpm
MD5: e4aaf3c47f34d0c312e33c80e6661ba9
SHA-256: 032641be9f72d50cb37ccccf217dec5c151da8d8f7aae12762ce88a179318e24
Size: 21.56 MB - kernel-rt-modules-5.14.0-570.22.1.el9_6.x86_64.rpm
MD5: a0a187800c67b29135d4e13c6b5c0521
SHA-256: 600c09cf700b6de57bfc232cd9d46c7cbf0a504b72b3def853ce8231cf940f56
Size: 38.72 MB - kernel-rt-modules-core-5.14.0-570.22.1.el9_6.x86_64.rpm
MD5: 9892e17148447e38c4c4804afaaa1353
SHA-256: d9190610113093cda03ed78628eb74a77c71548f48865f554cb9302dd7fcb286
Size: 30.24 MB - kernel-rt-modules-extra-5.14.0-570.22.1.el9_6.x86_64.rpm
MD5: 5eda88d2861aa9aacf68996a1ec30185
SHA-256: 4862bcfb7a2da690cc8a3519df62e9f4aff85cf06cc542c9a14ea6687804cc01
Size: 2.20 MB - kernel-tools-5.14.0-570.22.1.el9_6.x86_64.rpm
MD5: 41ecd9e0e3fec7c5863687d62b5eb62d
SHA-256: b935c3389f4d1680dfac47da17c0d319bc360e3d743a44403b347dd1188c3307
Size: 2.05 MB - kernel-tools-libs-5.14.0-570.22.1.el9_6.x86_64.rpm
MD5: 1ba0ed2d2d1ce827fa1858f68c335dca
SHA-256: f1b3af3977e69c7afbd95f76c3d8d5f779c162acad037524d1b499aac4e1674a
Size: 1.78 MB - kernel-tools-libs-devel-5.14.0-570.22.1.el9_6.x86_64.rpm
MD5: 211984c2e68c34b9f8a21f8d40085db2
SHA-256: ae6fbd9f593f14278a3cd9513d3509b62c245a5904756f3822f21141a506f1fd
Size: 1.77 MB - kernel-uki-virt-5.14.0-570.22.1.el9_6.x86_64.rpm
MD5: 6a80403d1bcb88598ed00046f494be00
SHA-256: 34b910d67534ca3edd3c8f716ecb37ad959977ef217df54d2c082e43416611ff
Size: 62.96 MB - kernel-uki-virt-addons-5.14.0-570.22.1.el9_6.x86_64.rpm
MD5: 05e7912df4aeb4e8a136149c4cbce906
SHA-256: d8f9ffbac0253722d9f45fe4282b4eeafeca551323c8e62eb124581ef8a9b2a7
Size: 1.79 MB - libperf-5.14.0-570.22.1.el9_6.x86_64.rpm
MD5: 096fa4b879ed28c20a1772d74cf0ffb4
SHA-256: 1f3e946967a8df6069b2eb2418809107d873048549a3ed180bd06054283b53dc
Size: 1.79 MB - perf-5.14.0-570.22.1.el9_6.x86_64.rpm
MD5: b37c4fb4f037dd252568834bfae6960e
SHA-256: b641617a7069a98366d5080da6d9dbc7eb31d60ee3d338334cdd6ac6d2ea8da2
Size: 4.00 MB - python3-perf-5.14.0-570.22.1.el9_6.x86_64.rpm
MD5: 8a8e6c6e3b1339fdea5c1fcd5114239f
SHA-256: 6071d2220ee12822f948ee159c4f0d9500e8777f7858390cc2f3f58eef8ebe16
Size: 3.18 MB - rtla-5.14.0-570.22.1.el9_6.x86_64.rpm
MD5: 5b3deaf2b67b9f46eed05b348c34e829
SHA-256: eb10cef0df1121483a240f7abcbfa02b9c3f7908a74a08b7aa1c00d12ee8de4b
Size: 1.83 MB - rv-5.14.0-570.22.1.el9_6.x86_64.rpm
MD5: 2e0606f56c3093d38bc639c2933811f3
SHA-256: 271162480f656492ee8a0ef4d4a334598186f8014658a9f1af5d0e0b09a25be9
Size: 1.79 MB