6040 lines
259 KiB
XML
6040 lines
259 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<cvrfdoc xmlns="http://www.icasi.org/CVRF/schema/cvrf/1.1" xmlns:cvrf="http://www.icasi.org/CVRF/schema/cvrf/1.1">
|
|
<DocumentTitle xml:lang="en">An update for kernel is now available for openEuler-22.03-LTS-SP1</DocumentTitle>
|
|
<DocumentType>Security Advisory</DocumentType>
|
|
<DocumentPublisher Type="Vendor">
|
|
<ContactDetails>openeuler-security@openeuler.org</ContactDetails>
|
|
<IssuingAuthority>openEuler security committee</IssuingAuthority>
|
|
</DocumentPublisher>
|
|
<DocumentTracking>
|
|
<Identification>
|
|
<ID>openEuler-SA-2024-1706</ID>
|
|
</Identification>
|
|
<Status>Final</Status>
|
|
<Version>1.0</Version>
|
|
<RevisionHistory>
|
|
<Revision>
|
|
<Number>1.0</Number>
|
|
<Date>2024-06-14</Date>
|
|
<Description>Initial</Description>
|
|
</Revision>
|
|
</RevisionHistory>
|
|
<InitialReleaseDate>2024-06-14</InitialReleaseDate>
|
|
<CurrentReleaseDate>2024-06-14</CurrentReleaseDate>
|
|
<Generator>
|
|
<Engine>openEuler SA Tool V1.0</Engine>
|
|
<Date>2024-06-14</Date>
|
|
</Generator>
|
|
</DocumentTracking>
|
|
<DocumentNotes>
|
|
<Note Title="Synopsis" Type="General" Ordinal="1" xml:lang="en">kernel security update</Note>
|
|
<Note Title="Summary" Type="General" Ordinal="2" xml:lang="en">An update for kernel is now available for openEuler-22.03-LTS-SP1.</Note>
|
|
<Note Title="Description" Type="General" Ordinal="3" xml:lang="en">The Linux Kernel, the operating system core itself.
|
|
|
|
Security Fix(es):
|
|
|
|
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---(CVE-2021-47247)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
RDMA: Verify port when creating flow rule
|
|
|
|
Validate port value provided by the user and with that remove no longer
|
|
needed validation by the driver. The missing check in the mlx5_ib driver
|
|
could cause to the below oops.
|
|
|
|
Call trace:
|
|
_create_flow_rule+0x2d4/0xf28 [mlx5_ib]
|
|
mlx5_ib_create_flow+0x2d0/0x5b0 [mlx5_ib]
|
|
ib_uverbs_ex_create_flow+0x4cc/0x624 [ib_uverbs]
|
|
ib_uverbs_handler_UVERBS_METHOD_INVOKE_WRITE+0xd4/0x150 [ib_uverbs]
|
|
ib_uverbs_cmd_verbs.isra.7+0xb28/0xc50 [ib_uverbs]
|
|
ib_uverbs_ioctl+0x158/0x1d0 [ib_uverbs]
|
|
do_vfs_ioctl+0xd0/0xaf0
|
|
ksys_ioctl+0x84/0xb4
|
|
__arm64_sys_ioctl+0x28/0xc4
|
|
el0_svc_common.constprop.3+0xa4/0x254
|
|
el0_svc_handler+0x84/0xa0
|
|
el0_svc+0x10/0x26c
|
|
Code: b9401260 f9615681 51000400 8b001c20 (f9403c1a)(CVE-2021-47265)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
mISDN: fix possible use-after-free in HFC_cleanup()
|
|
|
|
This module's remove path calls del_timer(). However, that function
|
|
does not wait until the timer handler finishes. This means that the
|
|
timer handler may still be running after the driver's remove function
|
|
has finished, which would result in a use-after-free.
|
|
|
|
Fix by calling del_timer_sync(), which makes sure the timer handler
|
|
has finished, and unable to re-schedule itself.(CVE-2021-47356)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
net: stmmac: Disable Tx queues when reconfiguring the interface
|
|
|
|
The Tx queues were not disabled in situations where the driver needed to
|
|
stop the interface to apply a new configuration. This could result in a
|
|
kernel panic when doing any of the 3 following actions:
|
|
* reconfiguring the number of queues (ethtool -L)
|
|
* reconfiguring the size of the ring buffers (ethtool -G)
|
|
* installing/removing an XDP program (ip l set dev ethX xdp)
|
|
|
|
Prevent the panic by making sure netif_tx_disable is called when stopping
|
|
an interface.
|
|
|
|
Without this patch, the following kernel panic can be observed when doing
|
|
any of the actions above:
|
|
|
|
Unable to handle kernel paging request at virtual address ffff80001238d040
|
|
[....]
|
|
Call trace:
|
|
dwmac4_set_addr+0x8/0x10
|
|
dev_hard_start_xmit+0xe4/0x1ac
|
|
sch_direct_xmit+0xe8/0x39c
|
|
__dev_queue_xmit+0x3ec/0xaf0
|
|
dev_queue_xmit+0x14/0x20
|
|
[...]
|
|
[ end trace 0000000000000002 ]---(CVE-2021-47558)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
ice: Fix crash by keep old cfg when update TCs more than queues
|
|
|
|
There are problems if allocated queues less than Traffic Classes.
|
|
|
|
Commit a632b2a4c920 ("ice: ethtool: Prohibit improper channel config
|
|
for DCB") already disallow setting less queues than TCs.
|
|
|
|
Another case is if we first set less queues, and later update more TCs
|
|
config due to LLDP, ice_vsi_cfg_tc() will failed but left dirty
|
|
num_txq/rxq and tc_cfg in vsi, that will cause invalid pointer access.
|
|
|
|
[ 95.968089] ice 0000:3b:00.1: More TCs defined than queues/rings allocated.
|
|
[ 95.968092] ice 0000:3b:00.1: Trying to use more Rx queues (8), than were allocated (1)!
|
|
[ 95.968093] ice 0000:3b:00.1: Failed to config TC for VSI index: 0
|
|
[ 95.969621] general protection fault: 0000 [#1] SMP NOPTI
|
|
[ 95.969705] CPU: 1 PID: 58405 Comm: lldpad Kdump: loaded Tainted: G U W O --------- -t - 4.18.0 #1
|
|
[ 95.969867] Hardware name: O.E.M/BC11SPSCB10, BIOS 8.23 12/30/2021
|
|
[ 95.969992] RIP: 0010:devm_kmalloc+0xa/0x60
|
|
[ 95.970052] Code: 5c ff ff ff 31 c0 5b 5d 41 5c c3 b8 f4 ff ff ff eb f4 0f 1f 40 00 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 48 89 f8 89 d1 <8b> 97 60 02 00 00 48 8d 7e 18 48 39 f7 72 3f 55 89 ce 53 48 8b 4c
|
|
[ 95.970344] RSP: 0018:ffffc9003f553888 EFLAGS: 00010206
|
|
[ 95.970425] RAX: dead000000000200 RBX: ffffea003c425b00 RCX: 00000000006080c0
|
|
[ 95.970536] RDX: 00000000006080c0 RSI: 0000000000000200 RDI: dead000000000200
|
|
[ 95.970648] RBP: dead000000000200 R08: 00000000000463c0 R09: ffff888ffa900000
|
|
[ 95.970760] R10: 0000000000000000 R11: 0000000000000002 R12: ffff888ff6b40100
|
|
[ 95.970870] R13: ffff888ff6a55018 R14: 0000000000000000 R15: ffff888ff6a55460
|
|
[ 95.970981] FS: 00007f51b7d24700(0000) GS:ffff88903ee80000(0000) knlGS:0000000000000000
|
|
[ 95.971108] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
|
|
[ 95.971197] CR2: 00007fac5410d710 CR3: 0000000f2c1de002 CR4: 00000000007606e0
|
|
[ 95.971309] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
|
|
[ 95.971419] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
|
|
[ 95.971530] PKRU: 55555554
|
|
[ 95.971573] Call Trace:
|
|
[ 95.971622] ice_setup_rx_ring+0x39/0x110 [ice]
|
|
[ 95.971695] ice_vsi_setup_rx_rings+0x54/0x90 [ice]
|
|
[ 95.971774] ice_vsi_open+0x25/0x120 [ice]
|
|
[ 95.971843] ice_open_internal+0xb8/0x1f0 [ice]
|
|
[ 95.971919] ice_ena_vsi+0x4f/0xd0 [ice]
|
|
[ 95.971987] ice_dcb_ena_dis_vsi.constprop.5+0x29/0x90 [ice]
|
|
[ 95.972082] ice_pf_dcb_cfg+0x29a/0x380 [ice]
|
|
[ 95.972154] ice_dcbnl_setets+0x174/0x1b0 [ice]
|
|
[ 95.972220] dcbnl_ieee_set+0x89/0x230
|
|
[ 95.972279] ? dcbnl_ieee_del+0x150/0x150
|
|
[ 95.972341] dcb_doit+0x124/0x1b0
|
|
[ 95.972392] rtnetlink_rcv_msg+0x243/0x2f0
|
|
[ 95.972457] ? dcb_doit+0x14d/0x1b0
|
|
[ 95.972510] ? __kmalloc_node_track_caller+0x1d3/0x280
|
|
[ 95.972591] ? rtnl_calcit.isra.31+0x100/0x100
|
|
[ 95.972661] netlink_rcv_skb+0xcf/0xf0
|
|
[ 95.972720] netlink_unicast+0x16d/0x220
|
|
[ 95.972781] netlink_sendmsg+0x2ba/0x3a0
|
|
[ 95.975891] sock_sendmsg+0x4c/0x50
|
|
[ 95.979032] ___sys_sendmsg+0x2e4/0x300
|
|
[ 95.982147] ? kmem_cache_alloc+0x13e/0x190
|
|
[ 95.985242] ? __wake_up_common_lock+0x79/0x90
|
|
[ 95.988338] ? __check_object_size+0xac/0x1b0
|
|
[ 95.991440] ? _copy_to_user+0x22/0x30
|
|
[ 95.994539] ? move_addr_to_user+0xbb/0xd0
|
|
[ 95.997619] ? __sys_sendmsg+0x53/0x80
|
|
[ 96.000664] __sys_sendmsg+0x53/0x80
|
|
[ 96.003747] do_syscall_64+0x5b/0x1d0
|
|
[ 96.006862] entry_SYSCALL_64_after_hwframe+0x65/0xca
|
|
|
|
Only update num_txq/rxq when passed check, and restore tc_cfg if setup
|
|
queue map failed.(CVE-2022-48652)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
aio: fix mremap after fork null-deref
|
|
|
|
Commit e4a0d3e720e7 ("aio: Make it possible to remap aio ring") introduced
|
|
a null-deref if mremap is called on an old aio mapping after fork as
|
|
mm->ioctx_table will be set to NULL.
|
|
|
|
[jmoyer@redhat.com: fix 80 column issue](CVE-2023-52646)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
riscv: Check if the code to patch lies in the exit section
|
|
|
|
Otherwise we fall through to vmalloc_to_page() which panics since the
|
|
address does not lie in the vmalloc region.(CVE-2023-52677)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
ALSA: scarlett2: Add missing error checks to *_ctl_get()
|
|
|
|
The *_ctl_get() functions which call scarlett2_update_*() were not
|
|
checking the return value. Fix to check the return value and pass to
|
|
the caller.(CVE-2023-52680)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
powerpc/powernv: Add a null pointer check in opal_event_init()
|
|
|
|
kasprintf() returns a pointer to dynamically allocated memory
|
|
which can be NULL upon failure.(CVE-2023-52686)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
net: openvswitch: fix possible memory leak in ovs_meter_cmd_set()
|
|
|
|
old_meter needs to be free after it is detached regardless of whether
|
|
the new meter is successfully attached.(CVE-2023-52702)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
nilfs2: fix underflow in second superblock position calculations
|
|
|
|
Macro NILFS_SB2_OFFSET_BYTES, which computes the position of the second
|
|
superblock, underflows when the argument device size is less than 4096
|
|
bytes. Therefore, when using this macro, it is necessary to check in
|
|
advance that the device size is not less than a lower limit, or at least
|
|
that underflow does not occur.
|
|
|
|
The current nilfs2 implementation lacks this check, causing out-of-bound
|
|
block access when mounting devices smaller than 4096 bytes:
|
|
|
|
I/O error, dev loop0, sector 36028797018963960 op 0x0:(READ) flags 0x0
|
|
phys_seg 1 prio class 2
|
|
NILFS (loop0): unable to read secondary superblock (blocksize = 1024)
|
|
|
|
In addition, when trying to resize the filesystem to a size below 4096
|
|
bytes, this underflow occurs in nilfs_resize_fs(), passing a huge number
|
|
of segments to nilfs_sufile_resize(), corrupting parameters such as the
|
|
number of segments in superblocks. This causes excessive loop iterations
|
|
in nilfs_sufile_resize() during a subsequent resize ioctl, causing
|
|
semaphore ns_segctor_sem to block for a long time and hang the writer
|
|
thread:
|
|
|
|
INFO: task segctord:5067 blocked for more than 143 seconds.
|
|
Not tainted 6.2.0-rc8-syzkaller-00015-gf6feea56f66d #0
|
|
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
|
|
task:segctord state:D stack:23456 pid:5067 ppid:2
|
|
flags:0x00004000
|
|
Call Trace:
|
|
<TASK>
|
|
context_switch kernel/sched/core.c:5293 [inline]
|
|
__schedule+0x1409/0x43f0 kernel/sched/core.c:6606
|
|
schedule+0xc3/0x190 kernel/sched/core.c:6682
|
|
rwsem_down_write_slowpath+0xfcf/0x14a0 kernel/locking/rwsem.c:1190
|
|
nilfs_transaction_lock+0x25c/0x4f0 fs/nilfs2/segment.c:357
|
|
nilfs_segctor_thread_construct fs/nilfs2/segment.c:2486 [inline]
|
|
nilfs_segctor_thread+0x52f/0x1140 fs/nilfs2/segment.c:2570
|
|
kthread+0x270/0x300 kernel/kthread.c:376
|
|
ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:308
|
|
</TASK>
|
|
...
|
|
Call Trace:
|
|
<TASK>
|
|
folio_mark_accessed+0x51c/0xf00 mm/swap.c:515
|
|
__nilfs_get_page_block fs/nilfs2/page.c:42 [inline]
|
|
nilfs_grab_buffer+0x3d3/0x540 fs/nilfs2/page.c:61
|
|
nilfs_mdt_submit_block+0xd7/0x8f0 fs/nilfs2/mdt.c:121
|
|
nilfs_mdt_read_block+0xeb/0x430 fs/nilfs2/mdt.c:176
|
|
nilfs_mdt_get_block+0x12d/0xbb0 fs/nilfs2/mdt.c:251
|
|
nilfs_sufile_get_segment_usage_block fs/nilfs2/sufile.c:92 [inline]
|
|
nilfs_sufile_truncate_range fs/nilfs2/sufile.c:679 [inline]
|
|
nilfs_sufile_resize+0x7a3/0x12b0 fs/nilfs2/sufile.c:777
|
|
nilfs_resize_fs+0x20c/0xed0 fs/nilfs2/super.c:422
|
|
nilfs_ioctl_resize fs/nilfs2/ioctl.c:1033 [inline]
|
|
nilfs_ioctl+0x137c/0x2440 fs/nilfs2/ioctl.c:1301
|
|
...
|
|
|
|
This fixes these issues by inserting appropriate minimum device size
|
|
checks or anti-underflow checks, depending on where the macro is used.(CVE-2023-52705)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
IB/IPoIB: Fix legacy IPoIB due to wrong number of queues
|
|
|
|
The cited commit creates child PKEY interfaces over netlink will
|
|
multiple tx and rx queues, but some devices doesn't support more than 1
|
|
tx and 1 rx queues. This causes to a crash when traffic is sent over the
|
|
PKEY interface due to the parent having a single queue but the child
|
|
having multiple queues.
|
|
|
|
This patch fixes the number of queues to 1 for legacy IPoIB at the
|
|
earliest possible point in time.
|
|
|
|
BUG: kernel NULL pointer dereference, address: 000000000000036b
|
|
PGD 0 P4D 0
|
|
Oops: 0000 [#1] SMP
|
|
CPU: 4 PID: 209665 Comm: python3 Not tainted 6.1.0_for_upstream_min_debug_2022_12_12_17_02 #1
|
|
Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS rel-1.13.0-0-gf21b5a4aeb02-prebuilt.qemu.org 04/01/2014
|
|
RIP: 0010:kmem_cache_alloc+0xcb/0x450
|
|
Code: ce 7e 49 8b 50 08 49 83 78 10 00 4d 8b 28 0f 84 cb 02 00 00 4d 85 ed 0f 84 c2 02 00 00 41 8b 44 24 28 48 8d 4a
|
|
01 49 8b 3c 24 <49> 8b 5c 05 00 4c 89 e8 65 48 0f c7 0f 0f 94 c0 84 c0 74 b8 41 8b
|
|
RSP: 0018:ffff88822acbbab8 EFLAGS: 00010202
|
|
RAX: 0000000000000070 RBX: ffff8881c28e3e00 RCX: 00000000064f8dae
|
|
RDX: 00000000064f8dad RSI: 0000000000000a20 RDI: 0000000000030d00
|
|
RBP: 0000000000000a20 R08: ffff8882f5d30d00 R09: ffff888104032f40
|
|
R10: ffff88810fade828 R11: 736f6d6570736575 R12: ffff88810081c000
|
|
R13: 00000000000002fb R14: ffffffff817fc865 R15: 0000000000000000
|
|
FS: 00007f9324ff9700(0000) GS:ffff8882f5d00000(0000) knlGS:0000000000000000
|
|
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
|
|
CR2: 000000000000036b CR3: 00000001125af004 CR4: 0000000000370ea0
|
|
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
|
|
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
|
|
Call Trace:
|
|
<TASK>
|
|
skb_clone+0x55/0xd0
|
|
ip6_finish_output2+0x3fe/0x690
|
|
ip6_finish_output+0xfa/0x310
|
|
ip6_send_skb+0x1e/0x60
|
|
udp_v6_send_skb+0x1e5/0x420
|
|
udpv6_sendmsg+0xb3c/0xe60
|
|
? ip_mc_finish_output+0x180/0x180
|
|
? __switch_to_asm+0x3a/0x60
|
|
? __switch_to_asm+0x34/0x60
|
|
sock_sendmsg+0x33/0x40
|
|
__sys_sendto+0x103/0x160
|
|
? _copy_to_user+0x21/0x30
|
|
? kvm_clock_get_cycles+0xd/0x10
|
|
? ktime_get_ts64+0x49/0xe0
|
|
__x64_sys_sendto+0x25/0x30
|
|
do_syscall_64+0x3d/0x90
|
|
entry_SYSCALL_64_after_hwframe+0x46/0xb0
|
|
RIP: 0033:0x7f9374f1ed14
|
|
Code: 42 41 f8 ff 44 8b 4c 24 2c 4c 8b 44 24 20 89 c5 44 8b 54 24 28 48 8b 54 24 18 b8 2c 00 00 00 48 8b 74 24 10 8b
|
|
7c 24 08 0f 05 <48> 3d 00 f0 ff ff 77 34 89 ef 48 89 44 24 08 e8 68 41 f8 ff 48 8b
|
|
RSP: 002b:00007f9324ff7bd0 EFLAGS: 00000293 ORIG_RAX: 000000000000002c
|
|
RAX: ffffffffffffffda RBX: 00007f9324ff7cc8 RCX: 00007f9374f1ed14
|
|
RDX: 00000000000002fb RSI: 00007f93000052f0 RDI: 0000000000000030
|
|
RBP: 0000000000000000 R08: 00007f9324ff7d40 R09: 000000000000001c
|
|
R10: 0000000000000000 R11: 0000000000000293 R12: 0000000000000000
|
|
R13: 000000012a05f200 R14: 0000000000000001 R15: 00007f9374d57bdc
|
|
</TASK>(CVE-2023-52745)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
xfrm/compat: prevent potential spectre v1 gadget in xfrm_xlate32_attr()
|
|
|
|
int type = nla_type(nla);
|
|
|
|
if (type > XFRMA_MAX) {
|
|
return -EOPNOTSUPP;
|
|
}
|
|
|
|
@type is then used as an array index and can be used
|
|
as a Spectre v1 gadget.
|
|
|
|
if (nla_len(nla) < compat_policy[type].len) {
|
|
|
|
array_index_nospec() can be used to prevent leaking
|
|
content of kernel memory to malicious users.(CVE-2023-52746)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
drm/amd/display: Avoid NULL dereference of timing generator
|
|
|
|
[Why & How]
|
|
Check whether assigned timing generator is NULL or not before
|
|
accessing its funcs to prevent NULL dereference.(CVE-2023-52753)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
net/smc: avoid data corruption caused by decline
|
|
|
|
We found a data corruption issue during testing of SMC-R on Redis
|
|
applications.
|
|
|
|
The benchmark has a low probability of reporting a strange error as
|
|
shown below.
|
|
|
|
"Error: Protocol error, got "\xe2" as reply type byte"
|
|
|
|
Finally, we found that the retrieved error data was as follows:
|
|
|
|
0xE2 0xD4 0xC3 0xD9 0x04 0x00 0x2C 0x20 0xA6 0x56 0x00 0x16 0x3E 0x0C
|
|
0xCB 0x04 0x02 0x01 0x00 0x00 0x20 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
|
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xE2
|
|
|
|
It is quite obvious that this is a SMC DECLINE message, which means that
|
|
the applications received SMC protocol message.
|
|
We found that this was caused by the following situations:
|
|
|
|
client server
|
|
¦ clc proposal
|
|
------------->
|
|
¦ clc accept
|
|
<-------------
|
|
¦ clc confirm
|
|
------------->
|
|
wait llc confirm
|
|
send llc confirm
|
|
¦failed llc confirm
|
|
¦ x------
|
|
(after 2s)timeout
|
|
wait llc confirm rsp
|
|
|
|
wait decline
|
|
|
|
(after 1s) timeout
|
|
(after 2s) timeout
|
|
¦ decline
|
|
-------------->
|
|
¦ decline
|
|
<--------------
|
|
|
|
As a result, a decline message was sent in the implementation, and this
|
|
message was read from TCP by the already-fallback connection.
|
|
|
|
This patch double the client timeout as 2x of the server value,
|
|
With this simple change, the Decline messages should never cross or
|
|
collide (during Confirm link timeout).
|
|
|
|
This issue requires an immediate solution, since the protocol updates
|
|
involve a more long-term solution.(CVE-2023-52775)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
ipvlan: add ipvlan_route_v6_outbound() helper
|
|
|
|
Inspired by syzbot reports using a stack of multiple ipvlan devices.
|
|
|
|
Reduce stack size needed in ipvlan_process_v6_outbound() by moving
|
|
the flowi6 struct used for the route lookup in an non inlined
|
|
helper. ipvlan_route_v6_outbound() needs 120 bytes on the stack,
|
|
immediately reclaimed.
|
|
|
|
Also make sure ipvlan_process_v4_outbound() is not inlined.
|
|
|
|
We might also have to lower MAX_NEST_DEV, because only syzbot uses
|
|
setups with more than four stacked devices.
|
|
|
|
BUG: TASK stack guard page was hit at ffffc9000e803ff8 (stack is ffffc9000e804000..ffffc9000e808000)
|
|
stack guard page: 0000 [#1] SMP KASAN
|
|
CPU: 0 PID: 13442 Comm: syz-executor.4 Not tainted 6.1.52-syzkaller #0
|
|
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/09/2023
|
|
RIP: 0010:kasan_check_range+0x4/0x2a0 mm/kasan/generic.c:188
|
|
Code: 48 01 c6 48 89 c7 e8 db 4e c1 03 31 c0 5d c3 cc 0f 0b eb 02 0f 0b b8 ea ff ff ff 5d c3 cc 00 00 cc cc 00 00 cc cc 55 48 89 e5 <41> 57 41 56 41 55 41 54 53 b0 01 48 85 f6 0f 84 a4 01 00 00 48 89
|
|
RSP: 0018:ffffc9000e804000 EFLAGS: 00010246
|
|
RAX: 0000000000000000 RBX: 0000000000000000 RCX: ffffffff817e5bf2
|
|
RDX: 0000000000000000 RSI: 0000000000000008 RDI: ffffffff887c6568
|
|
RBP: ffffc9000e804000 R08: 0000000000000000 R09: 0000000000000000
|
|
R10: 0000000000000000 R11: dffffc0000000001 R12: 1ffff92001d0080c
|
|
R13: dffffc0000000000 R14: ffffffff87e6b100 R15: 0000000000000000
|
|
FS: 00007fd0c55826c0(0000) GS:ffff8881f6800000(0000) knlGS:0000000000000000
|
|
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
|
|
CR2: ffffc9000e803ff8 CR3: 0000000170ef7000 CR4: 00000000003506f0
|
|
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
|
|
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
|
|
Call Trace:
|
|
<#DF>
|
|
</#DF>
|
|
<TASK>
|
|
[<ffffffff81f281d1>] __kasan_check_read+0x11/0x20 mm/kasan/shadow.c:31
|
|
[<ffffffff817e5bf2>] instrument_atomic_read include/linux/instrumented.h:72 [inline]
|
|
[<ffffffff817e5bf2>] _test_bit include/asm-generic/bitops/instrumented-non-atomic.h:141 [inline]
|
|
[<ffffffff817e5bf2>] cpumask_test_cpu include/linux/cpumask.h:506 [inline]
|
|
[<ffffffff817e5bf2>] cpu_online include/linux/cpumask.h:1092 [inline]
|
|
[<ffffffff817e5bf2>] trace_lock_acquire include/trace/events/lock.h:24 [inline]
|
|
[<ffffffff817e5bf2>] lock_acquire+0xe2/0x590 kernel/locking/lockdep.c:5632
|
|
[<ffffffff8563221e>] rcu_lock_acquire+0x2e/0x40 include/linux/rcupdate.h:306
|
|
[<ffffffff8561464d>] rcu_read_lock include/linux/rcupdate.h:747 [inline]
|
|
[<ffffffff8561464d>] ip6_pol_route+0x15d/0x1440 net/ipv6/route.c:2221
|
|
[<ffffffff85618120>] ip6_pol_route_output+0x50/0x80 net/ipv6/route.c:2606
|
|
[<ffffffff856f65b5>] pol_lookup_func include/net/ip6_fib.h:584 [inline]
|
|
[<ffffffff856f65b5>] fib6_rule_lookup+0x265/0x620 net/ipv6/fib6_rules.c:116
|
|
[<ffffffff85618009>] ip6_route_output_flags_noref+0x2d9/0x3a0 net/ipv6/route.c:2638
|
|
[<ffffffff8561821a>] ip6_route_output_flags+0xca/0x340 net/ipv6/route.c:2651
|
|
[<ffffffff838bd5a3>] ip6_route_output include/net/ip6_route.h:100 [inline]
|
|
[<ffffffff838bd5a3>] ipvlan_process_v6_outbound drivers/net/ipvlan/ipvlan_core.c:473 [inline]
|
|
[<ffffffff838bd5a3>] ipvlan_process_outbound drivers/net/ipvlan/ipvlan_core.c:529 [inline]
|
|
[<ffffffff838bd5a3>] ipvlan_xmit_mode_l3 drivers/net/ipvlan/ipvlan_core.c:602 [inline]
|
|
[<ffffffff838bd5a3>] ipvlan_queue_xmit+0xc33/0x1be0 drivers/net/ipvlan/ipvlan_core.c:677
|
|
[<ffffffff838c2909>] ipvlan_start_xmit+0x49/0x100 drivers/net/ipvlan/ipvlan_main.c:229
|
|
[<ffffffff84d03900>] netdev_start_xmit include/linux/netdevice.h:4966 [inline]
|
|
[<ffffffff84d03900>] xmit_one net/core/dev.c:3644 [inline]
|
|
[<ffffffff84d03900>] dev_hard_start_xmit+0x320/0x980 net/core/dev.c:3660
|
|
[<ffffffff84d080e2>] __dev_queue_xmit+0x16b2/0x3370 net/core/dev.c:4324
|
|
[<ffffffff855ce4cd>] dev_queue_xmit include/linux/netdevice.h:3067 [inline]
|
|
[<ffffffff855ce4cd>] neigh_hh_output include/net/neighbour.h:529 [inline]
|
|
[<f
|
|
---truncated---(CVE-2023-52796)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
wifi: ath11k: fix dfs radar event locking
|
|
|
|
The ath11k active pdevs are protected by RCU but the DFS radar event
|
|
handling code calling ath11k_mac_get_ar_by_pdev_id() was not marked as a
|
|
read-side critical section.
|
|
|
|
Mark the code in question as an RCU read-side critical section to avoid
|
|
any potential use-after-free issues.
|
|
|
|
Compile tested only.(CVE-2023-52798)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
jfs: fix array-index-out-of-bounds in dbFindLeaf
|
|
|
|
Currently while searching for dmtree_t for sufficient free blocks there
|
|
is an array out of bounds while getting element in tp->dm_stree. To add
|
|
the required check for out of bound we first need to determine the type
|
|
of dmtree. Thus added an extra parameter to dbFindLeaf so that the type
|
|
of tree can be determined and the required check can be applied.(CVE-2023-52799)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
wifi: ath11k: fix htt pktlog locking
|
|
|
|
The ath11k active pdevs are protected by RCU but the htt pktlog handling
|
|
code calling ath11k_mac_get_ar_by_pdev_id() was not marked as a
|
|
read-side critical section.
|
|
|
|
Mark the code in question as an RCU read-side critical section to avoid
|
|
any potential use-after-free issues.
|
|
|
|
Compile tested only.(CVE-2023-52800)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
SUNRPC: Fix RPC client cleaned up the freed pipefs dentries
|
|
|
|
RPC client pipefs dentries cleanup is in separated rpc_remove_pipedir()
|
|
workqueue,which takes care about pipefs superblock locking.
|
|
In some special scenarios, when kernel frees the pipefs sb of the
|
|
current client and immediately alloctes a new pipefs sb,
|
|
rpc_remove_pipedir function would misjudge the existence of pipefs
|
|
sb which is not the one it used to hold. As a result,
|
|
the rpc_remove_pipedir would clean the released freed pipefs dentries.
|
|
|
|
To fix this issue, rpc_remove_pipedir should check whether the
|
|
current pipefs sb is consistent with the original pipefs sb.
|
|
|
|
This error can be catched by KASAN:
|
|
=========================================================
|
|
[ 250.497700] BUG: KASAN: slab-use-after-free in dget_parent+0x195/0x200
|
|
[ 250.498315] Read of size 4 at addr ffff88800a2ab804 by task kworker/0:18/106503
|
|
[ 250.500549] Workqueue: events rpc_free_client_work
|
|
[ 250.501001] Call Trace:
|
|
[ 250.502880] kasan_report+0xb6/0xf0
|
|
[ 250.503209] ? dget_parent+0x195/0x200
|
|
[ 250.503561] dget_parent+0x195/0x200
|
|
[ 250.503897] ? __pfx_rpc_clntdir_depopulate+0x10/0x10
|
|
[ 250.504384] rpc_rmdir_depopulate+0x1b/0x90
|
|
[ 250.504781] rpc_remove_client_dir+0xf5/0x150
|
|
[ 250.505195] rpc_free_client_work+0xe4/0x230
|
|
[ 250.505598] process_one_work+0x8ee/0x13b0
|
|
...
|
|
[ 22.039056] Allocated by task 244:
|
|
[ 22.039390] kasan_save_stack+0x22/0x50
|
|
[ 22.039758] kasan_set_track+0x25/0x30
|
|
[ 22.040109] __kasan_slab_alloc+0x59/0x70
|
|
[ 22.040487] kmem_cache_alloc_lru+0xf0/0x240
|
|
[ 22.040889] __d_alloc+0x31/0x8e0
|
|
[ 22.041207] d_alloc+0x44/0x1f0
|
|
[ 22.041514] __rpc_lookup_create_exclusive+0x11c/0x140
|
|
[ 22.041987] rpc_mkdir_populate.constprop.0+0x5f/0x110
|
|
[ 22.042459] rpc_create_client_dir+0x34/0x150
|
|
[ 22.042874] rpc_setup_pipedir_sb+0x102/0x1c0
|
|
[ 22.043284] rpc_client_register+0x136/0x4e0
|
|
[ 22.043689] rpc_new_client+0x911/0x1020
|
|
[ 22.044057] rpc_create_xprt+0xcb/0x370
|
|
[ 22.044417] rpc_create+0x36b/0x6c0
|
|
...
|
|
[ 22.049524] Freed by task 0:
|
|
[ 22.049803] kasan_save_stack+0x22/0x50
|
|
[ 22.050165] kasan_set_track+0x25/0x30
|
|
[ 22.050520] kasan_save_free_info+0x2b/0x50
|
|
[ 22.050921] __kasan_slab_free+0x10e/0x1a0
|
|
[ 22.051306] kmem_cache_free+0xa5/0x390
|
|
[ 22.051667] rcu_core+0x62c/0x1930
|
|
[ 22.051995] __do_softirq+0x165/0x52a
|
|
[ 22.052347]
|
|
[ 22.052503] Last potentially related work creation:
|
|
[ 22.052952] kasan_save_stack+0x22/0x50
|
|
[ 22.053313] __kasan_record_aux_stack+0x8e/0xa0
|
|
[ 22.053739] __call_rcu_common.constprop.0+0x6b/0x8b0
|
|
[ 22.054209] dentry_free+0xb2/0x140
|
|
[ 22.054540] __dentry_kill+0x3be/0x540
|
|
[ 22.054900] shrink_dentry_list+0x199/0x510
|
|
[ 22.055293] shrink_dcache_parent+0x190/0x240
|
|
[ 22.055703] do_one_tree+0x11/0x40
|
|
[ 22.056028] shrink_dcache_for_umount+0x61/0x140
|
|
[ 22.056461] generic_shutdown_super+0x70/0x590
|
|
[ 22.056879] kill_anon_super+0x3a/0x60
|
|
[ 22.057234] rpc_kill_sb+0x121/0x200(CVE-2023-52803)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
net: hns3: fix out-of-bounds access may occur when coalesce info is read via debugfs
|
|
|
|
The hns3 driver define an array of string to show the coalesce
|
|
info, but if the kernel adds a new mode or a new state,
|
|
out-of-bounds access may occur when coalesce info is read via
|
|
debugfs, this patch fix the problem.(CVE-2023-52807)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
clk: mediatek: clk-mt6797: Add check for mtk_alloc_clk_data
|
|
|
|
Add the check for the return value of mtk_alloc_clk_data() in order to
|
|
avoid NULL pointer dereference.(CVE-2023-52865)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
clk: mediatek: clk-mt2701: Add check for mtk_alloc_clk_data
|
|
|
|
Add the check for the return value of mtk_alloc_clk_data() in order to
|
|
avoid NULL pointer dereference.(CVE-2023-52875)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
xen-netfront: Add missing skb_mark_for_recycle
|
|
|
|
Notice that skb_mark_for_recycle() is introduced later than fixes tag in
|
|
commit 6a5bcd84e886 ("page_pool: Allow drivers to hint on SKB recycling").
|
|
|
|
It is believed that fixes tag were missing a call to page_pool_release_page()
|
|
between v5.9 to v5.14, after which is should have used skb_mark_for_recycle().
|
|
Since v6.6 the call page_pool_release_page() were removed (in
|
|
commit 535b9c61bdef ("net: page_pool: hide page_pool_release_page()")
|
|
and remaining callers converted (in commit 6bfef2ec0172 ("Merge branch
|
|
'net-page_pool-remove-page_pool_release_page'")).
|
|
|
|
This leak became visible in v6.8 via commit dba1b8a7ab68 ("mm/page_pool: catch
|
|
page_pool memory leaks").(CVE-2024-27393)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
Bluetooth: l2cap: fix null-ptr-deref in l2cap_chan_timeout
|
|
|
|
There is a race condition between l2cap_chan_timeout() and
|
|
l2cap_chan_del(). When we use l2cap_chan_del() to delete the
|
|
channel, the chan->conn will be set to null. But the conn could
|
|
be dereferenced again in the mutex_lock() of l2cap_chan_timeout().
|
|
As a result the null pointer dereference bug will happen. The
|
|
KASAN report triggered by POC is shown below:
|
|
|
|
[ 472.074580] ==================================================================
|
|
[ 472.075284] BUG: KASAN: null-ptr-deref in mutex_lock+0x68/0xc0
|
|
[ 472.075308] Write of size 8 at addr 0000000000000158 by task kworker/0:0/7
|
|
[ 472.075308]
|
|
[ 472.075308] CPU: 0 PID: 7 Comm: kworker/0:0 Not tainted 6.9.0-rc5-00356-g78c0094a146b #36
|
|
[ 472.075308] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.14.0-0-g155821a1990b-prebuilt.qemu4
|
|
[ 472.075308] Workqueue: events l2cap_chan_timeout
|
|
[ 472.075308] Call Trace:
|
|
[ 472.075308] <TASK>
|
|
[ 472.075308] dump_stack_lvl+0x137/0x1a0
|
|
[ 472.075308] print_report+0x101/0x250
|
|
[ 472.075308] ? __virt_addr_valid+0x77/0x160
|
|
[ 472.075308] ? mutex_lock+0x68/0xc0
|
|
[ 472.075308] kasan_report+0x139/0x170
|
|
[ 472.075308] ? mutex_lock+0x68/0xc0
|
|
[ 472.075308] kasan_check_range+0x2c3/0x2e0
|
|
[ 472.075308] mutex_lock+0x68/0xc0
|
|
[ 472.075308] l2cap_chan_timeout+0x181/0x300
|
|
[ 472.075308] process_one_work+0x5d2/0xe00
|
|
[ 472.075308] worker_thread+0xe1d/0x1660
|
|
[ 472.075308] ? pr_cont_work+0x5e0/0x5e0
|
|
[ 472.075308] kthread+0x2b7/0x350
|
|
[ 472.075308] ? pr_cont_work+0x5e0/0x5e0
|
|
[ 472.075308] ? kthread_blkcg+0xd0/0xd0
|
|
[ 472.075308] ret_from_fork+0x4d/0x80
|
|
[ 472.075308] ? kthread_blkcg+0xd0/0xd0
|
|
[ 472.075308] ret_from_fork_asm+0x11/0x20
|
|
[ 472.075308] </TASK>
|
|
[ 472.075308] ==================================================================
|
|
[ 472.094860] Disabling lock debugging due to kernel taint
|
|
[ 472.096136] BUG: kernel NULL pointer dereference, address: 0000000000000158
|
|
[ 472.096136] #PF: supervisor write access in kernel mode
|
|
[ 472.096136] #PF: error_code(0x0002) - not-present page
|
|
[ 472.096136] PGD 0 P4D 0
|
|
[ 472.096136] Oops: 0002 [#1] PREEMPT SMP KASAN NOPTI
|
|
[ 472.096136] CPU: 0 PID: 7 Comm: kworker/0:0 Tainted: G B 6.9.0-rc5-00356-g78c0094a146b #36
|
|
[ 472.096136] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.14.0-0-g155821a1990b-prebuilt.qemu4
|
|
[ 472.096136] Workqueue: events l2cap_chan_timeout
|
|
[ 472.096136] RIP: 0010:mutex_lock+0x88/0xc0
|
|
[ 472.096136] Code: be 08 00 00 00 e8 f8 23 1f fd 4c 89 f7 be 08 00 00 00 e8 eb 23 1f fd 42 80 3c 23 00 74 08 48 88
|
|
[ 472.096136] RSP: 0018:ffff88800744fc78 EFLAGS: 00000246
|
|
[ 472.096136] RAX: 0000000000000000 RBX: 1ffff11000e89f8f RCX: ffffffff8457c865
|
|
[ 472.096136] RDX: 0000000000000001 RSI: 0000000000000008 RDI: ffff88800744fc78
|
|
[ 472.096136] RBP: 0000000000000158 R08: ffff88800744fc7f R09: 1ffff11000e89f8f
|
|
[ 472.096136] R10: dffffc0000000000 R11: ffffed1000e89f90 R12: dffffc0000000000
|
|
[ 472.096136] R13: 0000000000000158 R14: ffff88800744fc78 R15: ffff888007405a00
|
|
[ 472.096136] FS: 0000000000000000(0000) GS:ffff88806d200000(0000) knlGS:0000000000000000
|
|
[ 472.096136] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
|
|
[ 472.096136] CR2: 0000000000000158 CR3: 000000000da32000 CR4: 00000000000006f0
|
|
[ 472.096136] Call Trace:
|
|
[ 472.096136] <TASK>
|
|
[ 472.096136] ? __die_body+0x8d/0xe0
|
|
[ 472.096136] ? page_fault_oops+0x6b8/0x9a0
|
|
[ 472.096136] ? kernelmode_fixup_or_oops+0x20c/0x2a0
|
|
[ 472.096136] ? do_user_addr_fault+0x1027/0x1340
|
|
[ 472.096136] ? _printk+0x7a/0xa0
|
|
[ 472.096136] ? mutex_lock+0x68/0xc0
|
|
[ 472.096136] ? add_taint+0x42/0xd0
|
|
[ 472.096136] ? exc_page_fault+0x6a/0x1b0
|
|
[ 472.096136] ? asm_exc_page_fault+0x26/0x30
|
|
[ 472.096136] ? mutex_lock+0x75/0xc0
|
|
[ 472.096136] ? mutex_lock+0x88/0xc0
|
|
[ 472.096136] ? mutex_lock+0x75/0xc0
|
|
[ 472.096136] l2cap_chan_timeo
|
|
---truncated---(CVE-2024-27399)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
phonet/pep: fix racy skb_queue_empty() use
|
|
|
|
The receive queues are protected by their respective spin-lock, not
|
|
the socket lock. This could lead to skb_peek() unexpectedly
|
|
returning NULL or a pointer to an already dequeued socket buffer.(CVE-2024-27402)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
netfilter: bridge: confirm multicast packets before passing them up the stack
|
|
|
|
conntrack nf_confirm logic cannot handle cloned skbs referencing
|
|
the same nf_conn entry, which will happen for multicast (broadcast)
|
|
frames on bridges.
|
|
|
|
Example:
|
|
macvlan0
|
|
|
|
|
br0
|
|
/ \
|
|
ethX ethY
|
|
|
|
ethX (or Y) receives a L2 multicast or broadcast packet containing
|
|
an IP packet, flow is not yet in conntrack table.
|
|
|
|
1. skb passes through bridge and fake-ip (br_netfilter)Prerouting.
|
|
-> skb->_nfct now references a unconfirmed entry
|
|
2. skb is broad/mcast packet. bridge now passes clones out on each bridge
|
|
interface.
|
|
3. skb gets passed up the stack.
|
|
4. In macvlan case, macvlan driver retains clone(s) of the mcast skb
|
|
and schedules a work queue to send them out on the lower devices.
|
|
|
|
The clone skb->_nfct is not a copy, it is the same entry as the
|
|
original skb. The macvlan rx handler then returns RX_HANDLER_PASS.
|
|
5. Normal conntrack hooks (in NF_INET_LOCAL_IN) confirm the orig skb.
|
|
|
|
The Macvlan broadcast worker and normal confirm path will race.
|
|
|
|
This race will not happen if step 2 already confirmed a clone. In that
|
|
case later steps perform skb_clone() with skb->_nfct already confirmed (in
|
|
hash table). This works fine.
|
|
|
|
But such confirmation won't happen when eb/ip/nftables rules dropped the
|
|
packets before they reached the nf_confirm step in postrouting.
|
|
|
|
Pablo points out that nf_conntrack_bridge doesn't allow use of stateful
|
|
nat, so we can safely discard the nf_conn entry and let inet call
|
|
conntrack again.
|
|
|
|
This doesn't work for bridge netfilter: skb could have a nat
|
|
transformation. Also bridge nf prevents re-invocation of inet prerouting
|
|
via 'sabotage_in' hook.
|
|
|
|
Work around this problem by explicit confirmation of the entry at LOCAL_IN
|
|
time, before upper layer has a chance to clone the unconfirmed entry.
|
|
|
|
The downside is that this disables NAT and conntrack helpers.
|
|
|
|
Alternative fix would be to add locking to all code parts that deal with
|
|
unconfirmed packets, but even if that could be done in a sane way this
|
|
opens up other problems, for example:
|
|
|
|
-m physdev --physdev-out eth0 -j SNAT --snat-to 1.2.3.4
|
|
-m physdev --physdev-out eth1 -j SNAT --snat-to 1.2.3.5
|
|
|
|
For multicast case, only one of such conflicting mappings will be
|
|
created, conntrack only handles 1:1 NAT mappings.
|
|
|
|
Users should set create a setup that explicitly marks such traffic
|
|
NOTRACK (conntrack bypass) to avoid this, but we cannot auto-bypass
|
|
them, ruleset might have accept rules for untracked traffic already,
|
|
so user-visible behaviour would change.(CVE-2024-27415)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
usb: typec: altmodes/displayport: create sysfs nodes as driver's default device attribute group
|
|
|
|
The DisplayPort driver's sysfs nodes may be present to the userspace before
|
|
typec_altmode_set_drvdata() completes in dp_altmode_probe. This means that
|
|
a sysfs read can trigger a NULL pointer error by deferencing dp->hpd in
|
|
hpd_show or dp->lock in pin_assignment_show, as dev_get_drvdata() returns
|
|
NULL in those cases.
|
|
|
|
Remove manual sysfs node creation in favor of adding attribute group as
|
|
default for devices bound to the driver. The ATTRIBUTE_GROUPS() macro is
|
|
not used here otherwise the path to the sysfs nodes is no longer compliant
|
|
with the ABI.(CVE-2024-35790)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
PCI/PM: Drain runtime-idle callbacks before driver removal
|
|
|
|
A race condition between the .runtime_idle() callback and the .remove()
|
|
callback in the rtsx_pcr PCI driver leads to a kernel crash due to an
|
|
unhandled page fault [1].
|
|
|
|
The problem is that rtsx_pci_runtime_idle() is not expected to be running
|
|
after pm_runtime_get_sync() has been called, but the latter doesn't really
|
|
guarantee that. It only guarantees that the suspend and resume callbacks
|
|
will not be running when it returns.
|
|
|
|
However, if a .runtime_idle() callback is already running when
|
|
pm_runtime_get_sync() is called, the latter will notice that the runtime PM
|
|
status of the device is RPM_ACTIVE and it will return right away without
|
|
waiting for the former to complete. In fact, it cannot wait for
|
|
.runtime_idle() to complete because it may be called from that callback (it
|
|
arguably does not make much sense to do that, but it is not strictly
|
|
prohibited).
|
|
|
|
Thus in general, whoever is providing a .runtime_idle() callback needs
|
|
to protect it from running in parallel with whatever code runs after
|
|
pm_runtime_get_sync(). [Note that .runtime_idle() will not start after
|
|
pm_runtime_get_sync() has returned, but it may continue running then if it
|
|
has started earlier.]
|
|
|
|
One way to address that race condition is to call pm_runtime_barrier()
|
|
after pm_runtime_get_sync() (not before it, because a nonzero value of the
|
|
runtime PM usage counter is necessary to prevent runtime PM callbacks from
|
|
being invoked) to wait for the .runtime_idle() callback to complete should
|
|
it be running at that point. A suitable place for doing that is in
|
|
pci_device_remove() which calls pm_runtime_get_sync() before removing the
|
|
driver, so it may as well call pm_runtime_barrier() subsequently, which
|
|
will prevent the race in question from occurring, not just in the rtsx_pcr
|
|
driver, but in any PCI drivers providing .runtime_idle() callbacks.(CVE-2024-35809)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
mlxsw: spectrum_acl_tcam: Fix memory leak during rehash
|
|
|
|
The rehash delayed work migrates filters from one region to another.
|
|
This is done by iterating over all chunks (all the filters with the same
|
|
priority) in the region and in each chunk iterating over all the
|
|
filters.
|
|
|
|
If the migration fails, the code tries to migrate the filters back to
|
|
the old region. However, the rollback itself can also fail in which case
|
|
another migration will be erroneously performed. Besides the fact that
|
|
this ping pong is not a very good idea, it also creates a problem.
|
|
|
|
Each virtual chunk references two chunks: The currently used one
|
|
('vchunk->chunk') and a backup ('vchunk->chunk2'). During migration the
|
|
first holds the chunk we want to migrate filters to and the second holds
|
|
the chunk we are migrating filters from.
|
|
|
|
The code currently assumes - but does not verify - that the backup chunk
|
|
does not exist (NULL) if the currently used chunk does not reference the
|
|
target region. This assumption breaks when we are trying to rollback a
|
|
rollback, resulting in the backup chunk being overwritten and leaked
|
|
[1].
|
|
|
|
Fix by not rolling back a failed rollback and add a warning to avoid
|
|
future cases.
|
|
|
|
[1]
|
|
WARNING: CPU: 5 PID: 1063 at lib/parman.c:291 parman_destroy+0x17/0x20
|
|
Modules linked in:
|
|
CPU: 5 PID: 1063 Comm: kworker/5:11 Tainted: G W 6.9.0-rc2-custom-00784-gc6a05c468a0b #14
|
|
Hardware name: Mellanox Technologies Ltd. MSN3700/VMOD0005, BIOS 5.11 01/06/2019
|
|
Workqueue: mlxsw_core mlxsw_sp_acl_tcam_vregion_rehash_work
|
|
RIP: 0010:parman_destroy+0x17/0x20
|
|
[...]
|
|
Call Trace:
|
|
<TASK>
|
|
mlxsw_sp_acl_atcam_region_fini+0x19/0x60
|
|
mlxsw_sp_acl_tcam_region_destroy+0x49/0xf0
|
|
mlxsw_sp_acl_tcam_vregion_rehash_work+0x1f1/0x470
|
|
process_one_work+0x151/0x370
|
|
worker_thread+0x2cb/0x3e0
|
|
kthread+0xd0/0x100
|
|
ret_from_fork+0x34/0x50
|
|
ret_from_fork_asm+0x1a/0x30
|
|
</TASK>(CVE-2024-35853)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
mlxsw: spectrum_acl_tcam: Fix possible use-after-free during rehash
|
|
|
|
The rehash delayed work migrates filters from one region to another
|
|
according to the number of available credits.
|
|
|
|
The migrated from region is destroyed at the end of the work if the
|
|
number of credits is non-negative as the assumption is that this is
|
|
indicative of migration being complete. This assumption is incorrect as
|
|
a non-negative number of credits can also be the result of a failed
|
|
migration.
|
|
|
|
The destruction of a region that still has filters referencing it can
|
|
result in a use-after-free [1].
|
|
|
|
Fix by not destroying the region if migration failed.
|
|
|
|
[1]
|
|
BUG: KASAN: slab-use-after-free in mlxsw_sp_acl_ctcam_region_entry_remove+0x21d/0x230
|
|
Read of size 8 at addr ffff8881735319e8 by task kworker/0:31/3858
|
|
|
|
CPU: 0 PID: 3858 Comm: kworker/0:31 Tainted: G W 6.9.0-rc2-custom-00782-gf2275c2157d8 #5
|
|
Hardware name: Mellanox Technologies Ltd. MSN3700/VMOD0005, BIOS 5.11 01/06/2019
|
|
Workqueue: mlxsw_core mlxsw_sp_acl_tcam_vregion_rehash_work
|
|
Call Trace:
|
|
<TASK>
|
|
dump_stack_lvl+0xc6/0x120
|
|
print_report+0xce/0x670
|
|
kasan_report+0xd7/0x110
|
|
mlxsw_sp_acl_ctcam_region_entry_remove+0x21d/0x230
|
|
mlxsw_sp_acl_ctcam_entry_del+0x2e/0x70
|
|
mlxsw_sp_acl_atcam_entry_del+0x81/0x210
|
|
mlxsw_sp_acl_tcam_vchunk_migrate_all+0x3cd/0xb50
|
|
mlxsw_sp_acl_tcam_vregion_rehash_work+0x157/0x1300
|
|
process_one_work+0x8eb/0x19b0
|
|
worker_thread+0x6c9/0xf70
|
|
kthread+0x2c9/0x3b0
|
|
ret_from_fork+0x4d/0x80
|
|
ret_from_fork_asm+0x1a/0x30
|
|
</TASK>
|
|
|
|
Allocated by task 174:
|
|
kasan_save_stack+0x33/0x60
|
|
kasan_save_track+0x14/0x30
|
|
__kasan_kmalloc+0x8f/0xa0
|
|
__kmalloc+0x19c/0x360
|
|
mlxsw_sp_acl_tcam_region_create+0xdf/0x9c0
|
|
mlxsw_sp_acl_tcam_vregion_rehash_work+0x954/0x1300
|
|
process_one_work+0x8eb/0x19b0
|
|
worker_thread+0x6c9/0xf70
|
|
kthread+0x2c9/0x3b0
|
|
ret_from_fork+0x4d/0x80
|
|
ret_from_fork_asm+0x1a/0x30
|
|
|
|
Freed by task 7:
|
|
kasan_save_stack+0x33/0x60
|
|
kasan_save_track+0x14/0x30
|
|
kasan_save_free_info+0x3b/0x60
|
|
poison_slab_object+0x102/0x170
|
|
__kasan_slab_free+0x14/0x30
|
|
kfree+0xc1/0x290
|
|
mlxsw_sp_acl_tcam_region_destroy+0x272/0x310
|
|
mlxsw_sp_acl_tcam_vregion_rehash_work+0x731/0x1300
|
|
process_one_work+0x8eb/0x19b0
|
|
worker_thread+0x6c9/0xf70
|
|
kthread+0x2c9/0x3b0
|
|
ret_from_fork+0x4d/0x80
|
|
ret_from_fork_asm+0x1a/0x30(CVE-2024-35854)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
mlxsw: spectrum_acl_tcam: Fix possible use-after-free during activity update
|
|
|
|
The rule activity update delayed work periodically traverses the list of
|
|
configured rules and queries their activity from the device.
|
|
|
|
As part of this task it accesses the entry pointed by 'ventry->entry',
|
|
but this entry can be changed concurrently by the rehash delayed work,
|
|
leading to a use-after-free [1].
|
|
|
|
Fix by closing the race and perform the activity query under the
|
|
'vregion->lock' mutex.
|
|
|
|
[1]
|
|
BUG: KASAN: slab-use-after-free in mlxsw_sp_acl_tcam_flower_rule_activity_get+0x121/0x140
|
|
Read of size 8 at addr ffff8881054ed808 by task kworker/0:18/181
|
|
|
|
CPU: 0 PID: 181 Comm: kworker/0:18 Not tainted 6.9.0-rc2-custom-00781-gd5ab772d32f7 #2
|
|
Hardware name: Mellanox Technologies Ltd. MSN3700/VMOD0005, BIOS 5.11 01/06/2019
|
|
Workqueue: mlxsw_core mlxsw_sp_acl_rule_activity_update_work
|
|
Call Trace:
|
|
<TASK>
|
|
dump_stack_lvl+0xc6/0x120
|
|
print_report+0xce/0x670
|
|
kasan_report+0xd7/0x110
|
|
mlxsw_sp_acl_tcam_flower_rule_activity_get+0x121/0x140
|
|
mlxsw_sp_acl_rule_activity_update_work+0x219/0x400
|
|
process_one_work+0x8eb/0x19b0
|
|
worker_thread+0x6c9/0xf70
|
|
kthread+0x2c9/0x3b0
|
|
ret_from_fork+0x4d/0x80
|
|
ret_from_fork_asm+0x1a/0x30
|
|
</TASK>
|
|
|
|
Allocated by task 1039:
|
|
kasan_save_stack+0x33/0x60
|
|
kasan_save_track+0x14/0x30
|
|
__kasan_kmalloc+0x8f/0xa0
|
|
__kmalloc+0x19c/0x360
|
|
mlxsw_sp_acl_tcam_entry_create+0x7b/0x1f0
|
|
mlxsw_sp_acl_tcam_vchunk_migrate_all+0x30d/0xb50
|
|
mlxsw_sp_acl_tcam_vregion_rehash_work+0x157/0x1300
|
|
process_one_work+0x8eb/0x19b0
|
|
worker_thread+0x6c9/0xf70
|
|
kthread+0x2c9/0x3b0
|
|
ret_from_fork+0x4d/0x80
|
|
ret_from_fork_asm+0x1a/0x30
|
|
|
|
Freed by task 1039:
|
|
kasan_save_stack+0x33/0x60
|
|
kasan_save_track+0x14/0x30
|
|
kasan_save_free_info+0x3b/0x60
|
|
poison_slab_object+0x102/0x170
|
|
__kasan_slab_free+0x14/0x30
|
|
kfree+0xc1/0x290
|
|
mlxsw_sp_acl_tcam_vchunk_migrate_all+0x3d7/0xb50
|
|
mlxsw_sp_acl_tcam_vregion_rehash_work+0x157/0x1300
|
|
process_one_work+0x8eb/0x19b0
|
|
worker_thread+0x6c9/0xf70
|
|
kthread+0x2c9/0x3b0
|
|
ret_from_fork+0x4d/0x80
|
|
ret_from_fork_asm+0x1a/0x30(CVE-2024-35855)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
ipv6: Fix infinite recursion in fib6_dump_done().
|
|
|
|
syzkaller reported infinite recursive calls of fib6_dump_done() during
|
|
netlink socket destruction. [1]
|
|
|
|
From the log, syzkaller sent an AF_UNSPEC RTM_GETROUTE message, and then
|
|
the response was generated. The following recvmmsg() resumed the dump
|
|
for IPv6, but the first call of inet6_dump_fib() failed at kzalloc() due
|
|
to the fault injection. [0]
|
|
|
|
12:01:34 executing program 3:
|
|
r0 = socket$nl_route(0x10, 0x3, 0x0)
|
|
sendmsg$nl_route(r0, ... snip ...)
|
|
recvmmsg(r0, ... snip ...) (fail_nth: 8)
|
|
|
|
Here, fib6_dump_done() was set to nlk_sk(sk)->cb.done, and the next call
|
|
of inet6_dump_fib() set it to nlk_sk(sk)->cb.args[3]. syzkaller stopped
|
|
receiving the response halfway through, and finally netlink_sock_destruct()
|
|
called nlk_sk(sk)->cb.done().
|
|
|
|
fib6_dump_done() calls fib6_dump_end() and nlk_sk(sk)->cb.done() if it
|
|
is still not NULL. fib6_dump_end() rewrites nlk_sk(sk)->cb.done() by
|
|
nlk_sk(sk)->cb.args[3], but it has the same function, not NULL, calling
|
|
itself recursively and hitting the stack guard page.
|
|
|
|
To avoid the issue, let's set the destructor after kzalloc().
|
|
|
|
[0]:
|
|
FAULT_INJECTION: forcing a failure.
|
|
name failslab, interval 1, probability 0, space 0, times 0
|
|
CPU: 1 PID: 432110 Comm: syz-executor.3 Not tainted 6.8.0-12821-g537c2e91d354-dirty #11
|
|
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.0-0-gd239552ce722-prebuilt.qemu.org 04/01/2014
|
|
Call Trace:
|
|
<TASK>
|
|
dump_stack_lvl (lib/dump_stack.c:117)
|
|
should_fail_ex (lib/fault-inject.c:52 lib/fault-inject.c:153)
|
|
should_failslab (mm/slub.c:3733)
|
|
kmalloc_trace (mm/slub.c:3748 mm/slub.c:3827 mm/slub.c:3992)
|
|
inet6_dump_fib (./include/linux/slab.h:628 ./include/linux/slab.h:749 net/ipv6/ip6_fib.c:662)
|
|
rtnl_dump_all (net/core/rtnetlink.c:4029)
|
|
netlink_dump (net/netlink/af_netlink.c:2269)
|
|
netlink_recvmsg (net/netlink/af_netlink.c:1988)
|
|
____sys_recvmsg (net/socket.c:1046 net/socket.c:2801)
|
|
___sys_recvmsg (net/socket.c:2846)
|
|
do_recvmmsg (net/socket.c:2943)
|
|
__x64_sys_recvmmsg (net/socket.c:3041 net/socket.c:3034 net/socket.c:3034)
|
|
|
|
[1]:
|
|
BUG: TASK stack guard page was hit at 00000000f2fa9af1 (stack is 00000000b7912430..000000009a436beb)
|
|
stack guard page: 0000 [#1] PREEMPT SMP KASAN
|
|
CPU: 1 PID: 223719 Comm: kworker/1:3 Not tainted 6.8.0-12821-g537c2e91d354-dirty #11
|
|
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.0-0-gd239552ce722-prebuilt.qemu.org 04/01/2014
|
|
Workqueue: events netlink_sock_destruct_work
|
|
RIP: 0010:fib6_dump_done (net/ipv6/ip6_fib.c:570)
|
|
Code: 3c 24 e8 f3 e9 51 fd e9 28 fd ff ff 66 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 00 f3 0f 1e fa 41 57 41 56 41 55 41 54 55 48 89 fd <53> 48 8d 5d 60 e8 b6 4d 07 fd 48 89 da 48 b8 00 00 00 00 00 fc ff
|
|
RSP: 0018:ffffc9000d980000 EFLAGS: 00010293
|
|
RAX: 0000000000000000 RBX: ffffffff84405990 RCX: ffffffff844059d3
|
|
RDX: ffff8881028e0000 RSI: ffffffff84405ac2 RDI: ffff88810c02f358
|
|
RBP: ffff88810c02f358 R08: 0000000000000007 R09: 0000000000000000
|
|
R10: 0000000000000000 R11: 0000000000000224 R12: 0000000000000000
|
|
R13: ffff888007c82c78 R14: ffff888007c82c68 R15: ffff888007c82c68
|
|
FS: 0000000000000000(0000) GS:ffff88811b100000(0000) knlGS:0000000000000000
|
|
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
|
|
CR2: ffffc9000d97fff8 CR3: 0000000102309002 CR4: 0000000000770ef0
|
|
PKRU: 55555554
|
|
Call Trace:
|
|
<#DF>
|
|
</#DF>
|
|
<TASK>
|
|
fib6_dump_done (net/ipv6/ip6_fib.c:572 (discriminator 1))
|
|
fib6_dump_done (net/ipv6/ip6_fib.c:572 (discriminator 1))
|
|
...
|
|
fib6_dump_done (net/ipv6/ip6_fib.c:572 (discriminator 1))
|
|
fib6_dump_done (net/ipv6/ip6_fib.c:572 (discriminator 1))
|
|
netlink_sock_destruct (net/netlink/af_netlink.c:401)
|
|
__sk_destruct (net/core/sock.c:2177 (discriminator 2))
|
|
sk_destruct (net/core/sock.c:2224)
|
|
__sk_free (net/core/sock.c:2235)
|
|
sk_free (net/core/sock.c:2246)
|
|
process_one_work (kernel/workqueue.c:3259)
|
|
worker_thread (kernel/workqueue.c:3329 kernel/workqueue.
|
|
---truncated---(CVE-2024-35886)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
erspan: make sure erspan_base_hdr is present in skb->head
|
|
|
|
syzbot reported a problem in ip6erspan_rcv() [1]
|
|
|
|
Issue is that ip6erspan_rcv() (and erspan_rcv()) no longer make
|
|
sure erspan_base_hdr is present in skb linear part (skb->head)
|
|
before getting @ver field from it.
|
|
|
|
Add the missing pskb_may_pull() calls.
|
|
|
|
v2: Reload iph pointer in erspan_rcv() after pskb_may_pull()
|
|
because skb->head might have changed.
|
|
|
|
[1]
|
|
|
|
BUG: KMSAN: uninit-value in pskb_may_pull_reason include/linux/skbuff.h:2742 [inline]
|
|
BUG: KMSAN: uninit-value in pskb_may_pull include/linux/skbuff.h:2756 [inline]
|
|
BUG: KMSAN: uninit-value in ip6erspan_rcv net/ipv6/ip6_gre.c:541 [inline]
|
|
BUG: KMSAN: uninit-value in gre_rcv+0x11f8/0x1930 net/ipv6/ip6_gre.c:610
|
|
pskb_may_pull_reason include/linux/skbuff.h:2742 [inline]
|
|
pskb_may_pull include/linux/skbuff.h:2756 [inline]
|
|
ip6erspan_rcv net/ipv6/ip6_gre.c:541 [inline]
|
|
gre_rcv+0x11f8/0x1930 net/ipv6/ip6_gre.c:610
|
|
ip6_protocol_deliver_rcu+0x1d4c/0x2ca0 net/ipv6/ip6_input.c:438
|
|
ip6_input_finish net/ipv6/ip6_input.c:483 [inline]
|
|
NF_HOOK include/linux/netfilter.h:314 [inline]
|
|
ip6_input+0x15d/0x430 net/ipv6/ip6_input.c:492
|
|
ip6_mc_input+0xa7e/0xc80 net/ipv6/ip6_input.c:586
|
|
dst_input include/net/dst.h:460 [inline]
|
|
ip6_rcv_finish+0x955/0x970 net/ipv6/ip6_input.c:79
|
|
NF_HOOK include/linux/netfilter.h:314 [inline]
|
|
ipv6_rcv+0xde/0x390 net/ipv6/ip6_input.c:310
|
|
__netif_receive_skb_one_core net/core/dev.c:5538 [inline]
|
|
__netif_receive_skb+0x1da/0xa00 net/core/dev.c:5652
|
|
netif_receive_skb_internal net/core/dev.c:5738 [inline]
|
|
netif_receive_skb+0x58/0x660 net/core/dev.c:5798
|
|
tun_rx_batched+0x3ee/0x980 drivers/net/tun.c:1549
|
|
tun_get_user+0x5566/0x69e0 drivers/net/tun.c:2002
|
|
tun_chr_write_iter+0x3af/0x5d0 drivers/net/tun.c:2048
|
|
call_write_iter include/linux/fs.h:2108 [inline]
|
|
new_sync_write fs/read_write.c:497 [inline]
|
|
vfs_write+0xb63/0x1520 fs/read_write.c:590
|
|
ksys_write+0x20f/0x4c0 fs/read_write.c:643
|
|
__do_sys_write fs/read_write.c:655 [inline]
|
|
__se_sys_write fs/read_write.c:652 [inline]
|
|
__x64_sys_write+0x93/0xe0 fs/read_write.c:652
|
|
do_syscall_64+0xd5/0x1f0
|
|
entry_SYSCALL_64_after_hwframe+0x6d/0x75
|
|
|
|
Uninit was created at:
|
|
slab_post_alloc_hook mm/slub.c:3804 [inline]
|
|
slab_alloc_node mm/slub.c:3845 [inline]
|
|
kmem_cache_alloc_node+0x613/0xc50 mm/slub.c:3888
|
|
kmalloc_reserve+0x13d/0x4a0 net/core/skbuff.c:577
|
|
__alloc_skb+0x35b/0x7a0 net/core/skbuff.c:668
|
|
alloc_skb include/linux/skbuff.h:1318 [inline]
|
|
alloc_skb_with_frags+0xc8/0xbf0 net/core/skbuff.c:6504
|
|
sock_alloc_send_pskb+0xa81/0xbf0 net/core/sock.c:2795
|
|
tun_alloc_skb drivers/net/tun.c:1525 [inline]
|
|
tun_get_user+0x209a/0x69e0 drivers/net/tun.c:1846
|
|
tun_chr_write_iter+0x3af/0x5d0 drivers/net/tun.c:2048
|
|
call_write_iter include/linux/fs.h:2108 [inline]
|
|
new_sync_write fs/read_write.c:497 [inline]
|
|
vfs_write+0xb63/0x1520 fs/read_write.c:590
|
|
ksys_write+0x20f/0x4c0 fs/read_write.c:643
|
|
__do_sys_write fs/read_write.c:655 [inline]
|
|
__se_sys_write fs/read_write.c:652 [inline]
|
|
__x64_sys_write+0x93/0xe0 fs/read_write.c:652
|
|
do_syscall_64+0xd5/0x1f0
|
|
entry_SYSCALL_64_after_hwframe+0x6d/0x75
|
|
|
|
CPU: 1 PID: 5045 Comm: syz-executor114 Not tainted 6.9.0-rc1-syzkaller-00021-g962490525cff #0(CVE-2024-35888)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
bpf, sockmap: Prevent lock inversion deadlock in map delete elem
|
|
|
|
syzkaller started using corpuses where a BPF tracing program deletes
|
|
elements from a sockmap/sockhash map. Because BPF tracing programs can be
|
|
invoked from any interrupt context, locks taken during a map_delete_elem
|
|
operation must be hardirq-safe. Otherwise a deadlock due to lock inversion
|
|
is possible, as reported by lockdep:
|
|
|
|
CPU0 CPU1
|
|
---- ----
|
|
lock(&htab->buckets[i].lock);
|
|
local_irq_disable();
|
|
lock(&host->lock);
|
|
lock(&htab->buckets[i].lock);
|
|
<Interrupt>
|
|
lock(&host->lock);
|
|
|
|
Locks in sockmap are hardirq-unsafe by design. We expects elements to be
|
|
deleted from sockmap/sockhash only in task (normal) context with interrupts
|
|
enabled, or in softirq context.
|
|
|
|
Detect when map_delete_elem operation is invoked from a context which is
|
|
_not_ hardirq-unsafe, that is interrupts are disabled, and bail out with an
|
|
error.
|
|
|
|
Note that map updates are not affected by this issue. BPF verifier does not
|
|
allow updating sockmap/sockhash from a BPF tracing program today.(CVE-2024-35895)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
netfilter: validate user input for expected length
|
|
|
|
I got multiple syzbot reports showing old bugs exposed
|
|
by BPF after commit 20f2505fb436 ("bpf: Try to avoid kzalloc
|
|
in cgroup/{s,g}etsockopt")
|
|
|
|
setsockopt() @optlen argument should be taken into account
|
|
before copying data.
|
|
|
|
BUG: KASAN: slab-out-of-bounds in copy_from_sockptr_offset include/linux/sockptr.h:49 [inline]
|
|
BUG: KASAN: slab-out-of-bounds in copy_from_sockptr include/linux/sockptr.h:55 [inline]
|
|
BUG: KASAN: slab-out-of-bounds in do_replace net/ipv4/netfilter/ip_tables.c:1111 [inline]
|
|
BUG: KASAN: slab-out-of-bounds in do_ipt_set_ctl+0x902/0x3dd0 net/ipv4/netfilter/ip_tables.c:1627
|
|
Read of size 96 at addr ffff88802cd73da0 by task syz-executor.4/7238
|
|
|
|
CPU: 1 PID: 7238 Comm: syz-executor.4 Not tainted 6.9.0-rc2-next-20240403-syzkaller #0
|
|
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 03/27/2024
|
|
Call Trace:
|
|
<TASK>
|
|
__dump_stack lib/dump_stack.c:88 [inline]
|
|
dump_stack_lvl+0x241/0x360 lib/dump_stack.c:114
|
|
print_address_description mm/kasan/report.c:377 [inline]
|
|
print_report+0x169/0x550 mm/kasan/report.c:488
|
|
kasan_report+0x143/0x180 mm/kasan/report.c:601
|
|
kasan_check_range+0x282/0x290 mm/kasan/generic.c:189
|
|
__asan_memcpy+0x29/0x70 mm/kasan/shadow.c:105
|
|
copy_from_sockptr_offset include/linux/sockptr.h:49 [inline]
|
|
copy_from_sockptr include/linux/sockptr.h:55 [inline]
|
|
do_replace net/ipv4/netfilter/ip_tables.c:1111 [inline]
|
|
do_ipt_set_ctl+0x902/0x3dd0 net/ipv4/netfilter/ip_tables.c:1627
|
|
nf_setsockopt+0x295/0x2c0 net/netfilter/nf_sockopt.c:101
|
|
do_sock_setsockopt+0x3af/0x720 net/socket.c:2311
|
|
__sys_setsockopt+0x1ae/0x250 net/socket.c:2334
|
|
__do_sys_setsockopt net/socket.c:2343 [inline]
|
|
__se_sys_setsockopt net/socket.c:2340 [inline]
|
|
__x64_sys_setsockopt+0xb5/0xd0 net/socket.c:2340
|
|
do_syscall_64+0xfb/0x240
|
|
entry_SYSCALL_64_after_hwframe+0x72/0x7a
|
|
RIP: 0033:0x7fd22067dde9
|
|
Code: 28 00 00 00 75 05 48 83 c4 28 c3 e8 e1 20 00 00 90 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 c7 c1 b0 ff ff ff f7 d8 64 89 01 48
|
|
RSP: 002b:00007fd21f9ff0c8 EFLAGS: 00000246 ORIG_RAX: 0000000000000036
|
|
RAX: ffffffffffffffda RBX: 00007fd2207abf80 RCX: 00007fd22067dde9
|
|
RDX: 0000000000000040 RSI: 0000000000000000 RDI: 0000000000000003
|
|
RBP: 00007fd2206ca47a R08: 0000000000000001 R09: 0000000000000000
|
|
R10: 0000000020000880 R11: 0000000000000246 R12: 0000000000000000
|
|
R13: 000000000000000b R14: 00007fd2207abf80 R15: 00007ffd2d0170d8
|
|
</TASK>
|
|
|
|
Allocated by task 7238:
|
|
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:370 [inline]
|
|
__kasan_kmalloc+0x98/0xb0 mm/kasan/common.c:387
|
|
kasan_kmalloc include/linux/kasan.h:211 [inline]
|
|
__do_kmalloc_node mm/slub.c:4069 [inline]
|
|
__kmalloc_noprof+0x200/0x410 mm/slub.c:4082
|
|
kmalloc_noprof include/linux/slab.h:664 [inline]
|
|
__cgroup_bpf_run_filter_setsockopt+0xd47/0x1050 kernel/bpf/cgroup.c:1869
|
|
do_sock_setsockopt+0x6b4/0x720 net/socket.c:2293
|
|
__sys_setsockopt+0x1ae/0x250 net/socket.c:2334
|
|
__do_sys_setsockopt net/socket.c:2343 [inline]
|
|
__se_sys_setsockopt net/socket.c:2340 [inline]
|
|
__x64_sys_setsockopt+0xb5/0xd0 net/socket.c:2340
|
|
do_syscall_64+0xfb/0x240
|
|
entry_SYSCALL_64_after_hwframe+0x72/0x7a
|
|
|
|
The buggy address belongs to the object at ffff88802cd73da0
|
|
which belongs to the cache kmalloc-8 of size 8
|
|
The buggy address is located 0 bytes inside of
|
|
allocated 1-byte region [ffff88802cd73da0, ffff88802cd73da1)
|
|
|
|
The buggy address belongs to the physical page:
|
|
page: refcount:1 mapcount:0 mapping:0000000000000000 index:0xffff88802cd73020 pfn:0x2cd73
|
|
flags: 0xfff80000000000(node=0|zone=1|lastcpupid=0xfff)
|
|
page_type: 0xffffefff(slab)
|
|
raw: 00fff80000000000 ffff888015041280 dead000000000100 dead000000000122
|
|
raw: ffff88802cd73020 000000008080007f 00000001ffffefff 00
|
|
---truncated---(CVE-2024-35896)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
bpf: Protect against int overflow for stack access size
|
|
|
|
This patch re-introduces protection against the size of access to stack
|
|
memory being negative; the access size can appear negative as a result
|
|
of overflowing its signed int representation. This should not actually
|
|
happen, as there are other protections along the way, but we should
|
|
protect against it anyway. One code path was missing such protections
|
|
(fixed in the previous patch in the series), causing out-of-bounds array
|
|
accesses in check_stack_range_initialized(). This patch causes the
|
|
verification of a program with such a non-sensical access size to fail.
|
|
|
|
This check used to exist in a more indirect way, but was inadvertendly
|
|
removed in a833a17aeac7.(CVE-2024-35905)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
nfc: nci: Fix uninit-value in nci_dev_up and nci_ntf_packet
|
|
|
|
syzbot reported the following uninit-value access issue [1][2]:
|
|
|
|
nci_rx_work() parses and processes received packet. When the payload
|
|
length is zero, each message type handler reads uninitialized payload
|
|
and KMSAN detects this issue. The receipt of a packet with a zero-size
|
|
payload is considered unexpected, and therefore, such packets should be
|
|
silently discarded.
|
|
|
|
This patch resolved this issue by checking payload size before calling
|
|
each message type handler codes.(CVE-2024-35915)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
usb: typec: ucsi: Limit read size on v1.2
|
|
|
|
Between UCSI 1.2 and UCSI 2.0, the size of the MESSAGE_IN region was
|
|
increased from 16 to 256. In order to avoid overflowing reads for older
|
|
systems, add a mechanism to use the read UCSI version to truncate read
|
|
sizes on UCSI v1.2.(CVE-2024-35924)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
block: prevent division by zero in blk_rq_stat_sum()
|
|
|
|
The expression dst->nr_samples + src->nr_samples may
|
|
have zero value on overflow. It is necessary to add
|
|
a check to avoid division by zero.
|
|
|
|
Found by Linux Verification Center (linuxtesting.org) with Svace.(CVE-2024-35925)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
Bluetooth: SCO: Fix not validating setsockopt user input
|
|
|
|
syzbot reported sco_sock_setsockopt() is copying data without
|
|
checking user input length.
|
|
|
|
BUG: KASAN: slab-out-of-bounds in copy_from_sockptr_offset
|
|
include/linux/sockptr.h:49 [inline]
|
|
BUG: KASAN: slab-out-of-bounds in copy_from_sockptr
|
|
include/linux/sockptr.h:55 [inline]
|
|
BUG: KASAN: slab-out-of-bounds in sco_sock_setsockopt+0xc0b/0xf90
|
|
net/bluetooth/sco.c:893
|
|
Read of size 4 at addr ffff88805f7b15a3 by task syz-executor.5/12578(CVE-2024-35967)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
geneve: fix header validation in geneve[6]_xmit_skb
|
|
|
|
syzbot is able to trigger an uninit-value in geneve_xmit() [1]
|
|
|
|
Problem : While most ip tunnel helpers (like ip_tunnel_get_dsfield())
|
|
uses skb_protocol(skb, true), pskb_inet_may_pull() is only using
|
|
skb->protocol.
|
|
|
|
If anything else than ETH_P_IPV6 or ETH_P_IP is found in skb->protocol,
|
|
pskb_inet_may_pull() does nothing at all.
|
|
|
|
If a vlan tag was provided by the caller (af_packet in the syzbot case),
|
|
the network header might not point to the correct location, and skb
|
|
linear part could be smaller than expected.
|
|
|
|
Add skb_vlan_inet_prepare() to perform a complete mac validation.
|
|
|
|
Use this in geneve for the moment, I suspect we need to adopt this
|
|
more broadly.
|
|
|
|
v4 - Jakub reported v3 broke l2_tos_ttl_inherit.sh selftest
|
|
- Only call __vlan_get_protocol() for vlan types.
|
|
|
|
v2,v3 - Addressed Sabrina comments on v1 and v2
|
|
|
|
[1]
|
|
|
|
BUG: KMSAN: uninit-value in geneve_xmit_skb drivers/net/geneve.c:910 [inline]
|
|
BUG: KMSAN: uninit-value in geneve_xmit+0x302d/0x5420 drivers/net/geneve.c:1030
|
|
geneve_xmit_skb drivers/net/geneve.c:910 [inline]
|
|
geneve_xmit+0x302d/0x5420 drivers/net/geneve.c:1030
|
|
__netdev_start_xmit include/linux/netdevice.h:4903 [inline]
|
|
netdev_start_xmit include/linux/netdevice.h:4917 [inline]
|
|
xmit_one net/core/dev.c:3531 [inline]
|
|
dev_hard_start_xmit+0x247/0xa20 net/core/dev.c:3547
|
|
__dev_queue_xmit+0x348d/0x52c0 net/core/dev.c:4335
|
|
dev_queue_xmit include/linux/netdevice.h:3091 [inline]
|
|
packet_xmit+0x9c/0x6c0 net/packet/af_packet.c:276
|
|
packet_snd net/packet/af_packet.c:3081 [inline]
|
|
packet_sendmsg+0x8bb0/0x9ef0 net/packet/af_packet.c:3113
|
|
sock_sendmsg_nosec net/socket.c:730 [inline]
|
|
__sock_sendmsg+0x30f/0x380 net/socket.c:745
|
|
__sys_sendto+0x685/0x830 net/socket.c:2191
|
|
__do_sys_sendto net/socket.c:2203 [inline]
|
|
__se_sys_sendto net/socket.c:2199 [inline]
|
|
__x64_sys_sendto+0x125/0x1d0 net/socket.c:2199
|
|
do_syscall_64+0xd5/0x1f0
|
|
entry_SYSCALL_64_after_hwframe+0x6d/0x75
|
|
|
|
Uninit was created at:
|
|
slab_post_alloc_hook mm/slub.c:3804 [inline]
|
|
slab_alloc_node mm/slub.c:3845 [inline]
|
|
kmem_cache_alloc_node+0x613/0xc50 mm/slub.c:3888
|
|
kmalloc_reserve+0x13d/0x4a0 net/core/skbuff.c:577
|
|
__alloc_skb+0x35b/0x7a0 net/core/skbuff.c:668
|
|
alloc_skb include/linux/skbuff.h:1318 [inline]
|
|
alloc_skb_with_frags+0xc8/0xbf0 net/core/skbuff.c:6504
|
|
sock_alloc_send_pskb+0xa81/0xbf0 net/core/sock.c:2795
|
|
packet_alloc_skb net/packet/af_packet.c:2930 [inline]
|
|
packet_snd net/packet/af_packet.c:3024 [inline]
|
|
packet_sendmsg+0x722d/0x9ef0 net/packet/af_packet.c:3113
|
|
sock_sendmsg_nosec net/socket.c:730 [inline]
|
|
__sock_sendmsg+0x30f/0x380 net/socket.c:745
|
|
__sys_sendto+0x685/0x830 net/socket.c:2191
|
|
__do_sys_sendto net/socket.c:2203 [inline]
|
|
__se_sys_sendto net/socket.c:2199 [inline]
|
|
__x64_sys_sendto+0x125/0x1d0 net/socket.c:2199
|
|
do_syscall_64+0xd5/0x1f0
|
|
entry_SYSCALL_64_after_hwframe+0x6d/0x75
|
|
|
|
CPU: 0 PID: 5033 Comm: syz-executor346 Not tainted 6.9.0-rc1-syzkaller-00005-g928a87efa423 #0
|
|
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 02/29/2024(CVE-2024-35973)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
ipv4: check for NULL idev in ip_route_use_hint()
|
|
|
|
syzbot was able to trigger a NULL deref in fib_validate_source()
|
|
in an old tree [1].
|
|
|
|
It appears the bug exists in latest trees.
|
|
|
|
All calls to __in_dev_get_rcu() must be checked for a NULL result.
|
|
|
|
[1]
|
|
general protection fault, probably for non-canonical address 0xdffffc0000000000: 0000 [#1] SMP KASAN
|
|
KASAN: null-ptr-deref in range [0x0000000000000000-0x0000000000000007]
|
|
CPU: 2 PID: 3257 Comm: syz-executor.3 Not tainted 5.10.0-syzkaller #0
|
|
Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014
|
|
RIP: 0010:fib_validate_source+0xbf/0x15a0 net/ipv4/fib_frontend.c:425
|
|
Code: 18 f2 f2 f2 f2 42 c7 44 20 23 f3 f3 f3 f3 48 89 44 24 78 42 c6 44 20 27 f3 e8 5d 88 48 fc 4c 89 e8 48 c1 e8 03 48 89 44 24 18 <42> 80 3c 20 00 74 08 4c 89 ef e8 d2 15 98 fc 48 89 5c 24 10 41 bf
|
|
RSP: 0018:ffffc900015fee40 EFLAGS: 00010246
|
|
RAX: 0000000000000000 RBX: ffff88800f7a4000 RCX: ffff88800f4f90c0
|
|
RDX: 0000000000000000 RSI: 0000000004001eac RDI: ffff8880160c64c0
|
|
RBP: ffffc900015ff060 R08: 0000000000000000 R09: ffff88800f7a4000
|
|
R10: 0000000000000002 R11: ffff88800f4f90c0 R12: dffffc0000000000
|
|
R13: 0000000000000000 R14: 0000000000000000 R15: ffff88800f7a4000
|
|
FS: 00007f938acfe6c0(0000) GS:ffff888058c00000(0000) knlGS:0000000000000000
|
|
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
|
|
CR2: 00007f938acddd58 CR3: 000000001248e000 CR4: 0000000000352ef0
|
|
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
|
|
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
|
|
Call Trace:
|
|
ip_route_use_hint+0x410/0x9b0 net/ipv4/route.c:2231
|
|
ip_rcv_finish_core+0x2c4/0x1a30 net/ipv4/ip_input.c:327
|
|
ip_list_rcv_finish net/ipv4/ip_input.c:612 [inline]
|
|
ip_sublist_rcv+0x3ed/0xe50 net/ipv4/ip_input.c:638
|
|
ip_list_rcv+0x422/0x470 net/ipv4/ip_input.c:673
|
|
__netif_receive_skb_list_ptype net/core/dev.c:5572 [inline]
|
|
__netif_receive_skb_list_core+0x6b1/0x890 net/core/dev.c:5620
|
|
__netif_receive_skb_list net/core/dev.c:5672 [inline]
|
|
netif_receive_skb_list_internal+0x9f9/0xdc0 net/core/dev.c:5764
|
|
netif_receive_skb_list+0x55/0x3e0 net/core/dev.c:5816
|
|
xdp_recv_frames net/bpf/test_run.c:257 [inline]
|
|
xdp_test_run_batch net/bpf/test_run.c:335 [inline]
|
|
bpf_test_run_xdp_live+0x1818/0x1d00 net/bpf/test_run.c:363
|
|
bpf_prog_test_run_xdp+0x81f/0x1170 net/bpf/test_run.c:1376
|
|
bpf_prog_test_run+0x349/0x3c0 kernel/bpf/syscall.c:3736
|
|
__sys_bpf+0x45c/0x710 kernel/bpf/syscall.c:5115
|
|
__do_sys_bpf kernel/bpf/syscall.c:5201 [inline]
|
|
__se_sys_bpf kernel/bpf/syscall.c:5199 [inline]
|
|
__x64_sys_bpf+0x7c/0x90 kernel/bpf/syscall.c:5199(CVE-2024-36008)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
rtnetlink: Correct nested IFLA_VF_VLAN_LIST attribute validation
|
|
|
|
Each attribute inside a nested IFLA_VF_VLAN_LIST is assumed to be a
|
|
struct ifla_vf_vlan_info so the size of such attribute needs to be at least
|
|
of sizeof(struct ifla_vf_vlan_info) which is 14 bytes.
|
|
The current size validation in do_setvfinfo is against NLA_HDRLEN (4 bytes)
|
|
which is less than sizeof(struct ifla_vf_vlan_info) so this validation
|
|
is not enough and a too small attribute might be cast to a
|
|
struct ifla_vf_vlan_info, this might result in an out of bands
|
|
read access when accessing the saved (casted) entry in ivvl.(CVE-2024-36017)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
net: hns3: fix kernel crash when devlink reload during pf initialization
|
|
|
|
The devlink reload process will access the hardware resources,
|
|
but the register operation is done before the hardware is initialized.
|
|
So, processing the devlink reload during initialization may lead to kernel
|
|
crash. This patch fixes this by taking devl_lock during initialization.(CVE-2024-36021)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
mmc: sdhci-msm: pervent access to suspended controller
|
|
|
|
Generic sdhci code registers LED device and uses host->runtime_suspended
|
|
flag to protect access to it. The sdhci-msm driver doesn't set this flag,
|
|
which causes a crash when LED is accessed while controller is runtime
|
|
suspended. Fix this by setting the flag correctly.(CVE-2024-36029)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
net: fix out-of-bounds access in ops_init
|
|
|
|
net_alloc_generic is called by net_alloc, which is called without any
|
|
locking. It reads max_gen_ptrs, which is changed under pernet_ops_rwsem. It
|
|
is read twice, first to allocate an array, then to set s.len, which is
|
|
later used to limit the bounds of the array access.
|
|
|
|
It is possible that the array is allocated and another thread is
|
|
registering a new pernet ops, increments max_gen_ptrs, which is then used
|
|
to set s.len with a larger than allocated length for the variable array.
|
|
|
|
Fix it by reading max_gen_ptrs only once in net_alloc_generic. If
|
|
max_gen_ptrs is later incremented, it will be caught in net_assign_generic.(CVE-2024-36883)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
tipc: fix UAF in error path
|
|
|
|
Sam Page (sam4k) working with Trend Micro Zero Day Initiative reported
|
|
a UAF in the tipc_buf_append() error path:
|
|
|
|
BUG: KASAN: slab-use-after-free in kfree_skb_list_reason+0x47e/0x4c0
|
|
linux/net/core/skbuff.c:1183
|
|
Read of size 8 at addr ffff88804d2a7c80 by task poc/8034
|
|
|
|
CPU: 1 PID: 8034 Comm: poc Not tainted 6.8.2 #1
|
|
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS
|
|
1.16.0-debian-1.16.0-5 04/01/2014
|
|
Call Trace:
|
|
<IRQ>
|
|
__dump_stack linux/lib/dump_stack.c:88
|
|
dump_stack_lvl+0xd9/0x1b0 linux/lib/dump_stack.c:106
|
|
print_address_description linux/mm/kasan/report.c:377
|
|
print_report+0xc4/0x620 linux/mm/kasan/report.c:488
|
|
kasan_report+0xda/0x110 linux/mm/kasan/report.c:601
|
|
kfree_skb_list_reason+0x47e/0x4c0 linux/net/core/skbuff.c:1183
|
|
skb_release_data+0x5af/0x880 linux/net/core/skbuff.c:1026
|
|
skb_release_all linux/net/core/skbuff.c:1094
|
|
__kfree_skb linux/net/core/skbuff.c:1108
|
|
kfree_skb_reason+0x12d/0x210 linux/net/core/skbuff.c:1144
|
|
kfree_skb linux/./include/linux/skbuff.h:1244
|
|
tipc_buf_append+0x425/0xb50 linux/net/tipc/msg.c:186
|
|
tipc_link_input+0x224/0x7c0 linux/net/tipc/link.c:1324
|
|
tipc_link_rcv+0x76e/0x2d70 linux/net/tipc/link.c:1824
|
|
tipc_rcv+0x45f/0x10f0 linux/net/tipc/node.c:2159
|
|
tipc_udp_recv+0x73b/0x8f0 linux/net/tipc/udp_media.c:390
|
|
udp_queue_rcv_one_skb+0xad2/0x1850 linux/net/ipv4/udp.c:2108
|
|
udp_queue_rcv_skb+0x131/0xb00 linux/net/ipv4/udp.c:2186
|
|
udp_unicast_rcv_skb+0x165/0x3b0 linux/net/ipv4/udp.c:2346
|
|
__udp4_lib_rcv+0x2594/0x3400 linux/net/ipv4/udp.c:2422
|
|
ip_protocol_deliver_rcu+0x30c/0x4e0 linux/net/ipv4/ip_input.c:205
|
|
ip_local_deliver_finish+0x2e4/0x520 linux/net/ipv4/ip_input.c:233
|
|
NF_HOOK linux/./include/linux/netfilter.h:314
|
|
NF_HOOK linux/./include/linux/netfilter.h:308
|
|
ip_local_deliver+0x18e/0x1f0 linux/net/ipv4/ip_input.c:254
|
|
dst_input linux/./include/net/dst.h:461
|
|
ip_rcv_finish linux/net/ipv4/ip_input.c:449
|
|
NF_HOOK linux/./include/linux/netfilter.h:314
|
|
NF_HOOK linux/./include/linux/netfilter.h:308
|
|
ip_rcv+0x2c5/0x5d0 linux/net/ipv4/ip_input.c:569
|
|
__netif_receive_skb_one_core+0x199/0x1e0 linux/net/core/dev.c:5534
|
|
__netif_receive_skb+0x1f/0x1c0 linux/net/core/dev.c:5648
|
|
process_backlog+0x101/0x6b0 linux/net/core/dev.c:5976
|
|
__napi_poll.constprop.0+0xba/0x550 linux/net/core/dev.c:6576
|
|
napi_poll linux/net/core/dev.c:6645
|
|
net_rx_action+0x95a/0xe90 linux/net/core/dev.c:6781
|
|
__do_softirq+0x21f/0x8e7 linux/kernel/softirq.c:553
|
|
do_softirq linux/kernel/softirq.c:454
|
|
do_softirq+0xb2/0xf0 linux/kernel/softirq.c:441
|
|
</IRQ>
|
|
<TASK>
|
|
__local_bh_enable_ip+0x100/0x120 linux/kernel/softirq.c:381
|
|
local_bh_enable linux/./include/linux/bottom_half.h:33
|
|
rcu_read_unlock_bh linux/./include/linux/rcupdate.h:851
|
|
__dev_queue_xmit+0x871/0x3ee0 linux/net/core/dev.c:4378
|
|
dev_queue_xmit linux/./include/linux/netdevice.h:3169
|
|
neigh_hh_output linux/./include/net/neighbour.h:526
|
|
neigh_output linux/./include/net/neighbour.h:540
|
|
ip_finish_output2+0x169f/0x2550 linux/net/ipv4/ip_output.c:235
|
|
__ip_finish_output linux/net/ipv4/ip_output.c:313
|
|
__ip_finish_output+0x49e/0x950 linux/net/ipv4/ip_output.c:295
|
|
ip_finish_output+0x31/0x310 linux/net/ipv4/ip_output.c:323
|
|
NF_HOOK_COND linux/./include/linux/netfilter.h:303
|
|
ip_output+0x13b/0x2a0 linux/net/ipv4/ip_output.c:433
|
|
dst_output linux/./include/net/dst.h:451
|
|
ip_local_out linux/net/ipv4/ip_output.c:129
|
|
ip_send_skb+0x3e5/0x560 linux/net/ipv4/ip_output.c:1492
|
|
udp_send_skb+0x73f/0x1530 linux/net/ipv4/udp.c:963
|
|
udp_sendmsg+0x1a36/0x2b40 linux/net/ipv4/udp.c:1250
|
|
inet_sendmsg+0x105/0x140 linux/net/ipv4/af_inet.c:850
|
|
sock_sendmsg_nosec linux/net/socket.c:730
|
|
__sock_sendmsg linux/net/socket.c:745
|
|
__sys_sendto+0x42c/0x4e0 linux/net/socket.c:2191
|
|
__do_sys_sendto linux/net/socket.c:2203
|
|
__se_sys_sendto linux/net/socket.c:2199
|
|
__x64_sys_sendto+0xe0/0x1c0 linux/net/socket.c:2199
|
|
do_syscall_x64 linux/arch/x86/entry/common.c:52
|
|
do_syscall_
|
|
---truncated---(CVE-2024-36886)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
mptcp: ensure snd_nxt is properly initialized on connect
|
|
|
|
Christoph reported a splat hinting at a corrupted snd_una:
|
|
|
|
WARNING: CPU: 1 PID: 38 at net/mptcp/protocol.c:1005 __mptcp_clean_una+0x4b3/0x620 net/mptcp/protocol.c:1005
|
|
Modules linked in:
|
|
CPU: 1 PID: 38 Comm: kworker/1:1 Not tainted 6.9.0-rc1-gbbeac67456c9 #59
|
|
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.11.0-2.el7 04/01/2014
|
|
Workqueue: events mptcp_worker
|
|
RIP: 0010:__mptcp_clean_una+0x4b3/0x620 net/mptcp/protocol.c:1005
|
|
Code: be 06 01 00 00 bf 06 01 00 00 e8 a8 12 e7 fe e9 00 fe ff ff e8
|
|
8e 1a e7 fe 0f b7 ab 3e 02 00 00 e9 d3 fd ff ff e8 7d 1a e7 fe
|
|
<0f> 0b 4c 8b bb e0 05 00 00 e9 74 fc ff ff e8 6a 1a e7 fe 0f 0b e9
|
|
RSP: 0018:ffffc9000013fd48 EFLAGS: 00010293
|
|
RAX: 0000000000000000 RBX: ffff8881029bd280 RCX: ffffffff82382fe4
|
|
RDX: ffff8881003cbd00 RSI: ffffffff823833c3 RDI: 0000000000000001
|
|
RBP: 0000000000000000 R08: 0000000000000001 R09: 0000000000000000
|
|
R10: 0000000000000000 R11: fefefefefefefeff R12: ffff888138ba8000
|
|
R13: 0000000000000106 R14: ffff8881029bd908 R15: ffff888126560000
|
|
FS: 0000000000000000(0000) GS:ffff88813bd00000(0000) knlGS:0000000000000000
|
|
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
|
|
CR2: 00007f604a5dae38 CR3: 0000000101dac002 CR4: 0000000000170ef0
|
|
Call Trace:
|
|
<TASK>
|
|
__mptcp_clean_una_wakeup net/mptcp/protocol.c:1055 [inline]
|
|
mptcp_clean_una_wakeup net/mptcp/protocol.c:1062 [inline]
|
|
__mptcp_retrans+0x7f/0x7e0 net/mptcp/protocol.c:2615
|
|
mptcp_worker+0x434/0x740 net/mptcp/protocol.c:2767
|
|
process_one_work+0x1e0/0x560 kernel/workqueue.c:3254
|
|
process_scheduled_works kernel/workqueue.c:3335 [inline]
|
|
worker_thread+0x3c7/0x640 kernel/workqueue.c:3416
|
|
kthread+0x121/0x170 kernel/kthread.c:388
|
|
ret_from_fork+0x44/0x50 arch/x86/kernel/process.c:147
|
|
ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:243
|
|
</TASK>
|
|
|
|
When fallback to TCP happens early on a client socket, snd_nxt
|
|
is not yet initialized and any incoming ack will copy such value
|
|
into snd_una. If the mptcp worker (dumbly) tries mptcp-level
|
|
re-injection after such ack, that would unconditionally trigger a send
|
|
buffer cleanup using 'bad' snd_una values.
|
|
|
|
We could easily disable re-injection for fallback sockets, but such
|
|
dumb behavior already helped catching a few subtle issues and a very
|
|
low to zero impact in practice.
|
|
|
|
Instead address the issue always initializing snd_nxt (and write_seq,
|
|
for consistency) at connect time.(CVE-2024-36889)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
gpiolib: cdev: fix uninitialised kfifo
|
|
|
|
If a line is requested with debounce, and that results in debouncing
|
|
in software, and the line is subsequently reconfigured to enable edge
|
|
detection then the allocation of the kfifo to contain edge events is
|
|
overlooked. This results in events being written to and read from an
|
|
uninitialised kfifo. Read events are returned to userspace.
|
|
|
|
Initialise the kfifo in the case where the software debounce is
|
|
already active.(CVE-2024-36898)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
gpiolib: cdev: Fix use after free in lineinfo_changed_notify
|
|
|
|
The use-after-free issue occurs as follows: when the GPIO chip device file
|
|
is being closed by invoking gpio_chrdev_release(), watched_lines is freed
|
|
by bitmap_free(), but the unregistration of lineinfo_changed_nb notifier
|
|
chain failed due to waiting write rwsem. Additionally, one of the GPIO
|
|
chip's lines is also in the release process and holds the notifier chain's
|
|
read rwsem. Consequently, a race condition leads to the use-after-free of
|
|
watched_lines.
|
|
|
|
Here is the typical stack when issue happened:
|
|
|
|
[free]
|
|
gpio_chrdev_release()
|
|
--> bitmap_free(cdev->watched_lines) <-- freed
|
|
--> blocking_notifier_chain_unregister()
|
|
--> down_write(&nh->rwsem) <-- waiting rwsem
|
|
--> __down_write_common()
|
|
--> rwsem_down_write_slowpath()
|
|
--> schedule_preempt_disabled()
|
|
--> schedule()
|
|
|
|
[use]
|
|
st54spi_gpio_dev_release()
|
|
--> gpio_free()
|
|
--> gpiod_free()
|
|
--> gpiod_free_commit()
|
|
--> gpiod_line_state_notify()
|
|
--> blocking_notifier_call_chain()
|
|
--> down_read(&nh->rwsem); <-- held rwsem
|
|
--> notifier_call_chain()
|
|
--> lineinfo_changed_notify()
|
|
--> test_bit(xxxx, cdev->watched_lines) <-- use after free
|
|
|
|
The side effect of the use-after-free issue is that a GPIO line event is
|
|
being generated for userspace where it shouldn't. However, since the chrdev
|
|
is being closed, userspace won't have the chance to read that event anyway.
|
|
|
|
To fix the issue, call the bitmap_free() function after the unregistration
|
|
of lineinfo_changed_nb notifier chain.(CVE-2024-36899)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
ipv6: prevent NULL dereference in ip6_output()
|
|
|
|
According to syzbot, there is a chance that ip6_dst_idev()
|
|
returns NULL in ip6_output(). Most places in IPv6 stack
|
|
deal with a NULL idev just fine, but not here.
|
|
|
|
syzbot reported:
|
|
|
|
general protection fault, probably for non-canonical address 0xdffffc00000000bc: 0000 [#1] PREEMPT SMP KASAN PTI
|
|
KASAN: null-ptr-deref in range [0x00000000000005e0-0x00000000000005e7]
|
|
CPU: 0 PID: 9775 Comm: syz-executor.4 Not tainted 6.9.0-rc5-syzkaller-00157-g6a30653b604a #0
|
|
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 03/27/2024
|
|
RIP: 0010:ip6_output+0x231/0x3f0 net/ipv6/ip6_output.c:237
|
|
Code: 3c 1e 00 49 89 df 74 08 4c 89 ef e8 19 58 db f7 48 8b 44 24 20 49 89 45 00 49 89 c5 48 8d 9d e0 05 00 00 48 89 d8 48 c1 e8 03 <42> 0f b6 04 38 84 c0 4c 8b 74 24 28 0f 85 61 01 00 00 8b 1b 31 ff
|
|
RSP: 0018:ffffc9000927f0d8 EFLAGS: 00010202
|
|
RAX: 00000000000000bc RBX: 00000000000005e0 RCX: 0000000000040000
|
|
RDX: ffffc900131f9000 RSI: 0000000000004f47 RDI: 0000000000004f48
|
|
RBP: 0000000000000000 R08: ffffffff8a1f0b9a R09: 1ffffffff1f51fad
|
|
R10: dffffc0000000000 R11: fffffbfff1f51fae R12: ffff8880293ec8c0
|
|
R13: ffff88805d7fc000 R14: 1ffff1100527d91a R15: dffffc0000000000
|
|
FS: 00007f135c6856c0(0000) GS:ffff8880b9400000(0000) knlGS:0000000000000000
|
|
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
|
|
CR2: 0000000020000080 CR3: 0000000064096000 CR4: 00000000003506f0
|
|
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
|
|
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
|
|
Call Trace:
|
|
<TASK>
|
|
NF_HOOK include/linux/netfilter.h:314 [inline]
|
|
ip6_xmit+0xefe/0x17f0 net/ipv6/ip6_output.c:358
|
|
sctp_v6_xmit+0x9f2/0x13f0 net/sctp/ipv6.c:248
|
|
sctp_packet_transmit+0x26ad/0x2ca0 net/sctp/output.c:653
|
|
sctp_packet_singleton+0x22c/0x320 net/sctp/outqueue.c:783
|
|
sctp_outq_flush_ctrl net/sctp/outqueue.c:914 [inline]
|
|
sctp_outq_flush+0x6d5/0x3e20 net/sctp/outqueue.c:1212
|
|
sctp_side_effects net/sctp/sm_sideeffect.c:1198 [inline]
|
|
sctp_do_sm+0x59cc/0x60c0 net/sctp/sm_sideeffect.c:1169
|
|
sctp_primitive_ASSOCIATE+0x95/0xc0 net/sctp/primitive.c:73
|
|
__sctp_connect+0x9cd/0xe30 net/sctp/socket.c:1234
|
|
sctp_connect net/sctp/socket.c:4819 [inline]
|
|
sctp_inet_connect+0x149/0x1f0 net/sctp/socket.c:4834
|
|
__sys_connect_file net/socket.c:2048 [inline]
|
|
__sys_connect+0x2df/0x310 net/socket.c:2065
|
|
__do_sys_connect net/socket.c:2075 [inline]
|
|
__se_sys_connect net/socket.c:2072 [inline]
|
|
__x64_sys_connect+0x7a/0x90 net/socket.c:2072
|
|
do_syscall_x64 arch/x86/entry/common.c:52 [inline]
|
|
do_syscall_64+0xf5/0x240 arch/x86/entry/common.c:83
|
|
entry_SYSCALL_64_after_hwframe+0x77/0x7f(CVE-2024-36901)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
ipv6: fib6_rules: avoid possible NULL dereference in fib6_rule_action()
|
|
|
|
syzbot is able to trigger the following crash [1],
|
|
caused by unsafe ip6_dst_idev() use.
|
|
|
|
Indeed ip6_dst_idev() can return NULL, and must always be checked.
|
|
|
|
[1]
|
|
|
|
Oops: general protection fault, probably for non-canonical address 0xdffffc0000000000: 0000 [#1] PREEMPT SMP KASAN PTI
|
|
KASAN: null-ptr-deref in range [0x0000000000000000-0x0000000000000007]
|
|
CPU: 0 PID: 31648 Comm: syz-executor.0 Not tainted 6.9.0-rc4-next-20240417-syzkaller #0
|
|
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 03/27/2024
|
|
RIP: 0010:__fib6_rule_action net/ipv6/fib6_rules.c:237 [inline]
|
|
RIP: 0010:fib6_rule_action+0x241/0x7b0 net/ipv6/fib6_rules.c:267
|
|
Code: 02 00 00 49 8d 9f d8 00 00 00 48 89 d8 48 c1 e8 03 42 80 3c 20 00 74 08 48 89 df e8 f9 32 bf f7 48 8b 1b 48 89 d8 48 c1 e8 03 <42> 80 3c 20 00 74 08 48 89 df e8 e0 32 bf f7 4c 8b 03 48 89 ef 4c
|
|
RSP: 0018:ffffc9000fc1f2f0 EFLAGS: 00010246
|
|
RAX: 0000000000000000 RBX: 0000000000000000 RCX: 1a772f98c8186700
|
|
RDX: 0000000000000003 RSI: ffffffff8bcac4e0 RDI: ffffffff8c1f9760
|
|
RBP: ffff8880673fb980 R08: ffffffff8fac15ef R09: 1ffffffff1f582bd
|
|
R10: dffffc0000000000 R11: fffffbfff1f582be R12: dffffc0000000000
|
|
R13: 0000000000000080 R14: ffff888076509000 R15: ffff88807a029a00
|
|
FS: 00007f55e82ca6c0(0000) GS:ffff8880b9400000(0000) knlGS:0000000000000000
|
|
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
|
|
CR2: 0000001b31d23000 CR3: 0000000022b66000 CR4: 00000000003506f0
|
|
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
|
|
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
|
|
Call Trace:
|
|
<TASK>
|
|
fib_rules_lookup+0x62c/0xdb0 net/core/fib_rules.c:317
|
|
fib6_rule_lookup+0x1fd/0x790 net/ipv6/fib6_rules.c:108
|
|
ip6_route_output_flags_noref net/ipv6/route.c:2637 [inline]
|
|
ip6_route_output_flags+0x38e/0x610 net/ipv6/route.c:2649
|
|
ip6_route_output include/net/ip6_route.h:93 [inline]
|
|
ip6_dst_lookup_tail+0x189/0x11a0 net/ipv6/ip6_output.c:1120
|
|
ip6_dst_lookup_flow+0xb9/0x180 net/ipv6/ip6_output.c:1250
|
|
sctp_v6_get_dst+0x792/0x1e20 net/sctp/ipv6.c:326
|
|
sctp_transport_route+0x12c/0x2e0 net/sctp/transport.c:455
|
|
sctp_assoc_add_peer+0x614/0x15c0 net/sctp/associola.c:662
|
|
sctp_connect_new_asoc+0x31d/0x6c0 net/sctp/socket.c:1099
|
|
__sctp_connect+0x66d/0xe30 net/sctp/socket.c:1197
|
|
sctp_connect net/sctp/socket.c:4819 [inline]
|
|
sctp_inet_connect+0x149/0x1f0 net/sctp/socket.c:4834
|
|
__sys_connect_file net/socket.c:2048 [inline]
|
|
__sys_connect+0x2df/0x310 net/socket.c:2065
|
|
__do_sys_connect net/socket.c:2075 [inline]
|
|
__se_sys_connect net/socket.c:2072 [inline]
|
|
__x64_sys_connect+0x7a/0x90 net/socket.c:2072
|
|
do_syscall_x64 arch/x86/entry/common.c:52 [inline]
|
|
do_syscall_64+0xf5/0x240 arch/x86/entry/common.c:83
|
|
entry_SYSCALL_64_after_hwframe+0x77/0x7f(CVE-2024-36902)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
tcp: defer shutdown(SEND_SHUTDOWN) for TCP_SYN_RECV sockets
|
|
|
|
TCP_SYN_RECV state is really special, it is only used by
|
|
cross-syn connections, mostly used by fuzzers.
|
|
|
|
In the following crash [1], syzbot managed to trigger a divide
|
|
by zero in tcp_rcv_space_adjust()
|
|
|
|
A socket makes the following state transitions,
|
|
without ever calling tcp_init_transfer(),
|
|
meaning tcp_init_buffer_space() is also not called.
|
|
|
|
TCP_CLOSE
|
|
connect()
|
|
TCP_SYN_SENT
|
|
TCP_SYN_RECV
|
|
shutdown() -> tcp_shutdown(sk, SEND_SHUTDOWN)
|
|
TCP_FIN_WAIT1
|
|
|
|
To fix this issue, change tcp_shutdown() to not
|
|
perform a TCP_SYN_RECV -> TCP_FIN_WAIT1 transition,
|
|
which makes no sense anyway.
|
|
|
|
When tcp_rcv_state_process() later changes socket state
|
|
from TCP_SYN_RECV to TCP_ESTABLISH, then look at
|
|
sk->sk_shutdown to finally enter TCP_FIN_WAIT1 state,
|
|
and send a FIN packet from a sane socket state.
|
|
|
|
This means tcp_send_fin() can now be called from BH
|
|
context, and must use GFP_ATOMIC allocations.
|
|
|
|
[1]
|
|
divide error: 0000 [#1] PREEMPT SMP KASAN NOPTI
|
|
CPU: 1 PID: 5084 Comm: syz-executor358 Not tainted 6.9.0-rc6-syzkaller-00022-g98369dccd2f8 #0
|
|
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 03/27/2024
|
|
RIP: 0010:tcp_rcv_space_adjust+0x2df/0x890 net/ipv4/tcp_input.c:767
|
|
Code: e3 04 4c 01 eb 48 8b 44 24 38 0f b6 04 10 84 c0 49 89 d5 0f 85 a5 03 00 00 41 8b 8e c8 09 00 00 89 e8 29 c8 48 0f af c3 31 d2 <48> f7 f1 48 8d 1c 43 49 8d 96 76 08 00 00 48 89 d0 48 c1 e8 03 48
|
|
RSP: 0018:ffffc900031ef3f0 EFLAGS: 00010246
|
|
RAX: 0c677a10441f8f42 RBX: 000000004fb95e7e RCX: 0000000000000000
|
|
RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000
|
|
RBP: 0000000027d4b11f R08: ffffffff89e535a4 R09: 1ffffffff25e6ab7
|
|
R10: dffffc0000000000 R11: ffffffff8135e920 R12: ffff88802a9f8d30
|
|
R13: dffffc0000000000 R14: ffff88802a9f8d00 R15: 1ffff1100553f2da
|
|
FS: 00005555775c0380(0000) GS:ffff8880b9500000(0000) knlGS:0000000000000000
|
|
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
|
|
CR2: 00007f1155bf2304 CR3: 000000002b9f2000 CR4: 0000000000350ef0
|
|
Call Trace:
|
|
<TASK>
|
|
tcp_recvmsg_locked+0x106d/0x25a0 net/ipv4/tcp.c:2513
|
|
tcp_recvmsg+0x25d/0x920 net/ipv4/tcp.c:2578
|
|
inet6_recvmsg+0x16a/0x730 net/ipv6/af_inet6.c:680
|
|
sock_recvmsg_nosec net/socket.c:1046 [inline]
|
|
sock_recvmsg+0x109/0x280 net/socket.c:1068
|
|
____sys_recvmsg+0x1db/0x470 net/socket.c:2803
|
|
___sys_recvmsg net/socket.c:2845 [inline]
|
|
do_recvmmsg+0x474/0xae0 net/socket.c:2939
|
|
__sys_recvmmsg net/socket.c:3018 [inline]
|
|
__do_sys_recvmmsg net/socket.c:3041 [inline]
|
|
__se_sys_recvmmsg net/socket.c:3034 [inline]
|
|
__x64_sys_recvmmsg+0x199/0x250 net/socket.c:3034
|
|
do_syscall_x64 arch/x86/entry/common.c:52 [inline]
|
|
do_syscall_64+0xf5/0x240 arch/x86/entry/common.c:83
|
|
entry_SYSCALL_64_after_hwframe+0x77/0x7f
|
|
RIP: 0033:0x7faeb6363db9
|
|
Code: 28 00 00 00 75 05 48 83 c4 28 c3 e8 c1 17 00 00 90 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 c7 c1 b8 ff ff ff f7 d8 64 89 01 48
|
|
RSP: 002b:00007ffcc1997168 EFLAGS: 00000246 ORIG_RAX: 000000000000012b
|
|
RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007faeb6363db9
|
|
RDX: 0000000000000001 RSI: 0000000020000bc0 RDI: 0000000000000005
|
|
RBP: 0000000000000000 R08: 0000000000000000 R09: 000000000000001c
|
|
R10: 0000000000000122 R11: 0000000000000246 R12: 0000000000000000
|
|
R13: 0000000000000000 R14: 0000000000000001 R15: 0000000000000001(CVE-2024-36905)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
ARM: 9381/1: kasan: clear stale stack poison
|
|
|
|
We found below OOB crash:
|
|
|
|
[ 33.452494] ==================================================================
|
|
[ 33.453513] BUG: KASAN: stack-out-of-bounds in refresh_cpu_vm_stats.constprop.0+0xcc/0x2ec
|
|
[ 33.454660] Write of size 164 at addr c1d03d30 by task swapper/0/0
|
|
[ 33.455515]
|
|
[ 33.455767] CPU: 0 PID: 0 Comm: swapper/0 Tainted: G O 6.1.25-mainline #1
|
|
[ 33.456880] Hardware name: Generic DT based system
|
|
[ 33.457555] unwind_backtrace from show_stack+0x18/0x1c
|
|
[ 33.458326] show_stack from dump_stack_lvl+0x40/0x4c
|
|
[ 33.459072] dump_stack_lvl from print_report+0x158/0x4a4
|
|
[ 33.459863] print_report from kasan_report+0x9c/0x148
|
|
[ 33.460616] kasan_report from kasan_check_range+0x94/0x1a0
|
|
[ 33.461424] kasan_check_range from memset+0x20/0x3c
|
|
[ 33.462157] memset from refresh_cpu_vm_stats.constprop.0+0xcc/0x2ec
|
|
[ 33.463064] refresh_cpu_vm_stats.constprop.0 from tick_nohz_idle_stop_tick+0x180/0x53c
|
|
[ 33.464181] tick_nohz_idle_stop_tick from do_idle+0x264/0x354
|
|
[ 33.465029] do_idle from cpu_startup_entry+0x20/0x24
|
|
[ 33.465769] cpu_startup_entry from rest_init+0xf0/0xf4
|
|
[ 33.466528] rest_init from arch_post_acpi_subsys_init+0x0/0x18
|
|
[ 33.467397]
|
|
[ 33.467644] The buggy address belongs to stack of task swapper/0/0
|
|
[ 33.468493] and is located at offset 112 in frame:
|
|
[ 33.469172] refresh_cpu_vm_stats.constprop.0+0x0/0x2ec
|
|
[ 33.469917]
|
|
[ 33.470165] This frame has 2 objects:
|
|
[ 33.470696] [32, 76) 'global_zone_diff'
|
|
[ 33.470729] [112, 276) 'global_node_diff'
|
|
[ 33.471294]
|
|
[ 33.472095] The buggy address belongs to the physical page:
|
|
[ 33.472862] page:3cd72da8 refcount:1 mapcount:0 mapping:00000000 index:0x0 pfn:0x41d03
|
|
[ 33.473944] flags: 0x1000(reserved|zone=0)
|
|
[ 33.474565] raw: 00001000 ed741470 ed741470 00000000 00000000 00000000 ffffffff 00000001
|
|
[ 33.475656] raw: 00000000
|
|
[ 33.476050] page dumped because: kasan: bad access detected
|
|
[ 33.476816]
|
|
[ 33.477061] Memory state around the buggy address:
|
|
[ 33.477732] c1d03c00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
|
[ 33.478630] c1d03c80: 00 00 00 00 00 00 00 00 f1 f1 f1 f1 00 00 00 00
|
|
[ 33.479526] >c1d03d00: 00 04 f2 f2 f2 f2 00 00 00 00 00 00 f1 f1 f1 f1
|
|
[ 33.480415] ^
|
|
[ 33.481195] c1d03d80: 00 00 00 00 00 00 00 00 00 00 04 f3 f3 f3 f3 f3
|
|
[ 33.482088] c1d03e00: f3 f3 f3 f3 00 00 00 00 00 00 00 00 00 00 00 00
|
|
[ 33.482978] ==================================================================
|
|
|
|
We find the root cause of this OOB is that arm does not clear stale stack
|
|
poison in the case of cpuidle.
|
|
|
|
This patch refer to arch/arm64/kernel/sleep.S to resolve this issue.
|
|
|
|
From cited commit [1] that explain the problem
|
|
|
|
Functions which the compiler has instrumented for KASAN place poison on
|
|
the stack shadow upon entry and remove this poison prior to returning.
|
|
|
|
In the case of cpuidle, CPUs exit the kernel a number of levels deep in
|
|
C code. Any instrumented functions on this critical path will leave
|
|
portions of the stack shadow poisoned.
|
|
|
|
If CPUs lose context and return to the kernel via a cold path, we
|
|
restore a prior context saved in __cpu_suspend_enter are forgotten, and
|
|
we never remove the poison they placed in the stack shadow area by
|
|
functions calls between this and the actual exit of the kernel.
|
|
|
|
Thus, (depending on stackframe layout) subsequent calls to instrumented
|
|
functions may hit this stale poison, resulting in (spurious) KASAN
|
|
splats to the console.
|
|
|
|
To avoid this, clear any stale poison from the idle thread for a CPU
|
|
prior to bringing a CPU online.
|
|
|
|
From cited commit [2]
|
|
|
|
Extend to check for CONFIG_KASAN_STACK
|
|
|
|
[1] commit 0d97e6d8024c ("arm64: kasan: clear stale stack poison")
|
|
[2] commit d56a9ef84bd0 ("kasan, arm64: unpoison stack only with CONFIG_KASAN_STACK")(CVE-2024-36906)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
blk-iocost: do not WARN if iocg was already offlined
|
|
|
|
In iocg_pay_debt(), warn is triggered if 'active_list' is empty, which
|
|
is intended to confirm iocg is active when it has debt. However, warn
|
|
can be triggered during a blkcg or disk removal, if iocg_waitq_timer_fn()
|
|
is run at that time:
|
|
|
|
WARNING: CPU: 0 PID: 2344971 at block/blk-iocost.c:1402 iocg_pay_debt+0x14c/0x190
|
|
Call trace:
|
|
iocg_pay_debt+0x14c/0x190
|
|
iocg_kick_waitq+0x438/0x4c0
|
|
iocg_waitq_timer_fn+0xd8/0x130
|
|
__run_hrtimer+0x144/0x45c
|
|
__hrtimer_run_queues+0x16c/0x244
|
|
hrtimer_interrupt+0x2cc/0x7b0
|
|
|
|
The warn in this situation is meaningless. Since this iocg is being
|
|
removed, the state of the 'active_list' is irrelevant, and 'waitq_timer'
|
|
is canceled after removing 'active_list' in ioc_pd_free(), which ensures
|
|
iocg is freed after iocg_waitq_timer_fn() returns.
|
|
|
|
Therefore, add the check if iocg was already offlined to avoid warn
|
|
when removing a blkcg or disk.(CVE-2024-36908)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
scsi: lpfc: Release hbalock before calling lpfc_worker_wake_up()
|
|
|
|
lpfc_worker_wake_up() calls the lpfc_work_done() routine, which takes the
|
|
hbalock. Thus, lpfc_worker_wake_up() should not be called while holding the
|
|
hbalock to avoid potential deadlock.(CVE-2024-36924)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
net: core: reject skb_copy(_expand) for fraglist GSO skbs
|
|
|
|
SKB_GSO_FRAGLIST skbs must not be linearized, otherwise they become
|
|
invalid. Return NULL if such an skb is passed to skb_copy or
|
|
skb_copy_expand, in order to prevent a crash on a potential later
|
|
call to skb_gso_segment.(CVE-2024-36929)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
amd/amdkfd: sync all devices to wait all processes being evicted
|
|
|
|
If there are more than one device doing reset in parallel, the first
|
|
device will call kfd_suspend_all_processes() to evict all processes
|
|
on all devices, this call takes time to finish. other device will
|
|
start reset and recover without waiting. if the process has not been
|
|
evicted before doing recover, it will be restored, then caused page
|
|
fault.(CVE-2024-36949)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
octeontx2-af: avoid off-by-one read from userspace
|
|
|
|
We try to access count + 1 byte from userspace with memdup_user(buffer,
|
|
count + 1). However, the userspace only provides buffer of count bytes and
|
|
only these count bytes are verified to be okay to access. To ensure the
|
|
copied buffer is NUL terminated, we use memdup_user_nul instead.(CVE-2024-36957)
|
|
|
|
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.(CVE-2024-36964)</Note>
|
|
<Note Title="Topic" Type="General" Ordinal="4" xml:lang="en">An update for kernel is now available for openEuler-22.03-LTS-SP1.
|
|
|
|
openEuler Security has rated this update as having a security impact of medium. A Common Vunlnerability Scoring System(CVSS)base score,which gives a detailed severity rating, is available for each vulnerability from the CVElink(s) in the References section.</Note>
|
|
<Note Title="Severity" Type="General" Ordinal="5" xml:lang="en">Medium</Note>
|
|
<Note Title="Affected Component" Type="General" Ordinal="6" xml:lang="en">kernel</Note>
|
|
</DocumentNotes>
|
|
<DocumentReferences>
|
|
<Reference Type="Self">
|
|
<URL>https://www.openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2024-1706</URL>
|
|
</Reference>
|
|
<Reference Type="openEuler CVE">
|
|
<URL>https://www.openeuler.org/en/security/cve/detail.html?id=CVE-2021-47247</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail.html?id=CVE-2021-47265</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail.html?id=CVE-2021-47356</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail.html?id=CVE-2021-47558</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail.html?id=CVE-2022-48652</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail.html?id=CVE-2023-52646</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail.html?id=CVE-2023-52677</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail.html?id=CVE-2023-52680</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail.html?id=CVE-2023-52686</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail.html?id=CVE-2023-52702</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail.html?id=CVE-2023-52705</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail.html?id=CVE-2023-52745</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail.html?id=CVE-2023-52746</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail.html?id=CVE-2023-52753</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail.html?id=CVE-2023-52775</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail.html?id=CVE-2023-52796</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail.html?id=CVE-2023-52798</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail.html?id=CVE-2023-52799</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail.html?id=CVE-2023-52800</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail.html?id=CVE-2023-52803</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail.html?id=CVE-2023-52807</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail.html?id=CVE-2023-52865</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail.html?id=CVE-2023-52875</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail.html?id=CVE-2024-27393</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail.html?id=CVE-2024-27399</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail.html?id=CVE-2024-27402</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail.html?id=CVE-2024-27415</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail.html?id=CVE-2024-35790</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail.html?id=CVE-2024-35809</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail.html?id=CVE-2024-35853</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail.html?id=CVE-2024-35854</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail.html?id=CVE-2024-35855</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail.html?id=CVE-2024-35886</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail.html?id=CVE-2024-35888</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail.html?id=CVE-2024-35895</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail.html?id=CVE-2024-35896</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail.html?id=CVE-2024-35905</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail.html?id=CVE-2024-35915</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail.html?id=CVE-2024-35924</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail.html?id=CVE-2024-35925</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail.html?id=CVE-2024-35967</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail.html?id=CVE-2024-35973</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail.html?id=CVE-2024-36008</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail.html?id=CVE-2024-36017</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail.html?id=CVE-2024-36021</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail.html?id=CVE-2024-36029</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail.html?id=CVE-2024-36883</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail.html?id=CVE-2024-36886</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail.html?id=CVE-2024-36889</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail.html?id=CVE-2024-36898</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail.html?id=CVE-2024-36899</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail.html?id=CVE-2024-36901</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail.html?id=CVE-2024-36902</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail.html?id=CVE-2024-36905</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail.html?id=CVE-2024-36906</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail.html?id=CVE-2024-36908</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail.html?id=CVE-2024-36924</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail.html?id=CVE-2024-36929</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail.html?id=CVE-2024-36949</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail.html?id=CVE-2024-36957</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail.html?id=CVE-2024-36964</URL>
|
|
</Reference>
|
|
<Reference Type="Other">
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2021-47247</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2021-47265</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2021-47356</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2021-47558</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2022-48652</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2023-52646</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2023-52677</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2023-52680</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2023-52686</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2023-52702</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2023-52705</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2023-52745</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2023-52746</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2023-52753</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2023-52775</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2023-52796</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2023-52798</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2023-52799</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2023-52800</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2023-52803</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2023-52807</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2023-52865</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2023-52875</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-27393</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-27399</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-27402</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-27415</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-35790</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-35809</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-35853</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-35854</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-35855</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-35886</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-35888</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-35895</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-35896</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-35905</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-35915</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-35924</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-35925</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-35967</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-35973</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-36008</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-36017</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-36021</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-36029</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-36883</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-36886</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-36889</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-36898</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-36899</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-36901</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-36902</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-36905</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-36906</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-36908</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-36924</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-36929</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-36949</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-36957</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-36964</URL>
|
|
</Reference>
|
|
</DocumentReferences>
|
|
<ProductTree xmlns="http://www.icasi.org/CVRF/schema/prod/1.1">
|
|
<Branch Type="Product Name" Name="openEuler">
|
|
<FullProductName ProductID="openEuler-22.03-LTS-SP1" CPE="cpe:/a:openEuler:openEuler:22.03-LTS-SP1">openEuler-22.03-LTS-SP1</FullProductName>
|
|
</Branch>
|
|
<Branch Type="Package Arch" Name="aarch64">
|
|
<FullProductName ProductID="kernel-headers-5.10.0-136.79.0.159" CPE="cpe:/a:openEuler:openEuler:22.03-LTS-SP1">kernel-headers-5.10.0-136.79.0.159.oe2203sp1.aarch64.rpm</FullProductName>
|
|
<FullProductName ProductID="kernel-tools-devel-5.10.0-136.79.0.159" CPE="cpe:/a:openEuler:openEuler:22.03-LTS-SP1">kernel-tools-devel-5.10.0-136.79.0.159.oe2203sp1.aarch64.rpm</FullProductName>
|
|
<FullProductName ProductID="kernel-devel-5.10.0-136.79.0.159" CPE="cpe:/a:openEuler:openEuler:22.03-LTS-SP1">kernel-devel-5.10.0-136.79.0.159.oe2203sp1.aarch64.rpm</FullProductName>
|
|
<FullProductName ProductID="kernel-debugsource-5.10.0-136.79.0.159" CPE="cpe:/a:openEuler:openEuler:22.03-LTS-SP1">kernel-debugsource-5.10.0-136.79.0.159.oe2203sp1.aarch64.rpm</FullProductName>
|
|
<FullProductName ProductID="perf-debuginfo-5.10.0-136.79.0.159" CPE="cpe:/a:openEuler:openEuler:22.03-LTS-SP1">perf-debuginfo-5.10.0-136.79.0.159.oe2203sp1.aarch64.rpm</FullProductName>
|
|
<FullProductName ProductID="kernel-tools-5.10.0-136.79.0.159" CPE="cpe:/a:openEuler:openEuler:22.03-LTS-SP1">kernel-tools-5.10.0-136.79.0.159.oe2203sp1.aarch64.rpm</FullProductName>
|
|
<FullProductName ProductID="kernel-source-5.10.0-136.79.0.159" CPE="cpe:/a:openEuler:openEuler:22.03-LTS-SP1">kernel-source-5.10.0-136.79.0.159.oe2203sp1.aarch64.rpm</FullProductName>
|
|
<FullProductName ProductID="python3-perf-debuginfo-5.10.0-136.79.0.159" CPE="cpe:/a:openEuler:openEuler:22.03-LTS-SP1">python3-perf-debuginfo-5.10.0-136.79.0.159.oe2203sp1.aarch64.rpm</FullProductName>
|
|
<FullProductName ProductID="kernel-tools-debuginfo-5.10.0-136.79.0.159" CPE="cpe:/a:openEuler:openEuler:22.03-LTS-SP1">kernel-tools-debuginfo-5.10.0-136.79.0.159.oe2203sp1.aarch64.rpm</FullProductName>
|
|
<FullProductName ProductID="perf-5.10.0-136.79.0.159" CPE="cpe:/a:openEuler:openEuler:22.03-LTS-SP1">perf-5.10.0-136.79.0.159.oe2203sp1.aarch64.rpm</FullProductName>
|
|
<FullProductName ProductID="python3-perf-5.10.0-136.79.0.159" CPE="cpe:/a:openEuler:openEuler:22.03-LTS-SP1">python3-perf-5.10.0-136.79.0.159.oe2203sp1.aarch64.rpm</FullProductName>
|
|
<FullProductName ProductID="kernel-5.10.0-136.79.0.159" CPE="cpe:/a:openEuler:openEuler:22.03-LTS-SP1">kernel-5.10.0-136.79.0.159.oe2203sp1.aarch64.rpm</FullProductName>
|
|
<FullProductName ProductID="kernel-debuginfo-5.10.0-136.79.0.159" CPE="cpe:/a:openEuler:openEuler:22.03-LTS-SP1">kernel-debuginfo-5.10.0-136.79.0.159.oe2203sp1.aarch64.rpm</FullProductName>
|
|
</Branch>
|
|
<Branch Type="Package Arch" Name="src">
|
|
<FullProductName ProductID="kernel-5.10.0-136.79.0.159" CPE="cpe:/a:openEuler:openEuler:22.03-LTS-SP1">kernel-5.10.0-136.79.0.159.oe2203sp1.src.rpm</FullProductName>
|
|
</Branch>
|
|
<Branch Type="Package Arch" Name="x86_64">
|
|
<FullProductName ProductID="kernel-headers-5.10.0-136.79.0.159" CPE="cpe:/a:openEuler:openEuler:22.03-LTS-SP1">kernel-headers-5.10.0-136.79.0.159.oe2203sp1.x86_64.rpm</FullProductName>
|
|
<FullProductName ProductID="python3-perf-debuginfo-5.10.0-136.79.0.159" CPE="cpe:/a:openEuler:openEuler:22.03-LTS-SP1">python3-perf-debuginfo-5.10.0-136.79.0.159.oe2203sp1.x86_64.rpm</FullProductName>
|
|
<FullProductName ProductID="kernel-source-5.10.0-136.79.0.159" CPE="cpe:/a:openEuler:openEuler:22.03-LTS-SP1">kernel-source-5.10.0-136.79.0.159.oe2203sp1.x86_64.rpm</FullProductName>
|
|
<FullProductName ProductID="kernel-debugsource-5.10.0-136.79.0.159" CPE="cpe:/a:openEuler:openEuler:22.03-LTS-SP1">kernel-debugsource-5.10.0-136.79.0.159.oe2203sp1.x86_64.rpm</FullProductName>
|
|
<FullProductName ProductID="kernel-tools-debuginfo-5.10.0-136.79.0.159" CPE="cpe:/a:openEuler:openEuler:22.03-LTS-SP1">kernel-tools-debuginfo-5.10.0-136.79.0.159.oe2203sp1.x86_64.rpm</FullProductName>
|
|
<FullProductName ProductID="kernel-5.10.0-136.79.0.159" CPE="cpe:/a:openEuler:openEuler:22.03-LTS-SP1">kernel-5.10.0-136.79.0.159.oe2203sp1.x86_64.rpm</FullProductName>
|
|
<FullProductName ProductID="perf-5.10.0-136.79.0.159" CPE="cpe:/a:openEuler:openEuler:22.03-LTS-SP1">perf-5.10.0-136.79.0.159.oe2203sp1.x86_64.rpm</FullProductName>
|
|
<FullProductName ProductID="python3-perf-5.10.0-136.79.0.159" CPE="cpe:/a:openEuler:openEuler:22.03-LTS-SP1">python3-perf-5.10.0-136.79.0.159.oe2203sp1.x86_64.rpm</FullProductName>
|
|
<FullProductName ProductID="kernel-devel-5.10.0-136.79.0.159" CPE="cpe:/a:openEuler:openEuler:22.03-LTS-SP1">kernel-devel-5.10.0-136.79.0.159.oe2203sp1.x86_64.rpm</FullProductName>
|
|
<FullProductName ProductID="kernel-tools-5.10.0-136.79.0.159" CPE="cpe:/a:openEuler:openEuler:22.03-LTS-SP1">kernel-tools-5.10.0-136.79.0.159.oe2203sp1.x86_64.rpm</FullProductName>
|
|
<FullProductName ProductID="kernel-tools-devel-5.10.0-136.79.0.159" CPE="cpe:/a:openEuler:openEuler:22.03-LTS-SP1">kernel-tools-devel-5.10.0-136.79.0.159.oe2203sp1.x86_64.rpm</FullProductName>
|
|
<FullProductName ProductID="kernel-debuginfo-5.10.0-136.79.0.159" CPE="cpe:/a:openEuler:openEuler:22.03-LTS-SP1">kernel-debuginfo-5.10.0-136.79.0.159.oe2203sp1.x86_64.rpm</FullProductName>
|
|
<FullProductName ProductID="perf-debuginfo-5.10.0-136.79.0.159" CPE="cpe:/a:openEuler:openEuler:22.03-LTS-SP1">perf-debuginfo-5.10.0-136.79.0.159.oe2203sp1.x86_64.rpm</FullProductName>
|
|
</Branch>
|
|
</ProductTree>
|
|
<Vulnerability Ordinal="1" xmlns="http://www.icasi.org/CVRF/schema/vuln/1.1">
|
|
<Notes>
|
|
<Note Title="Vulnerability Description" Type="General" Ordinal="1" xml:lang="en">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---</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-06-14</ReleaseDate>
|
|
<CVE>CVE-2021-47247</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-22.03-LTS-SP1</ProductID>
|
|
</Status>
|
|
</ProductStatuses>
|
|
<Threats>
|
|
<Threat Type="Impact">
|
|
<Description>Medium</Description>
|
|
</Threat>
|
|
</Threats>
|
|
<CVSSScoreSets>
|
|
<ScoreSet>
|
|
<BaseScore>5.5</BaseScore>
|
|
<Vector>AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:N</Vector>
|
|
</ScoreSet>
|
|
</CVSSScoreSets>
|
|
<Remediations>
|
|
<Remediation Type="Vendor Fix">
|
|
<Description>kernel security update</Description>
|
|
<DATE>2024-06-14</DATE>
|
|
<URL>https://www.openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2024-1706</URL>
|
|
</Remediation>
|
|
</Remediations>
|
|
</Vulnerability>
|
|
<Vulnerability Ordinal="2" xmlns="http://www.icasi.org/CVRF/schema/vuln/1.1">
|
|
<Notes>
|
|
<Note Title="Vulnerability Description" Type="General" Ordinal="2" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
RDMA: Verify port when creating flow rule
|
|
|
|
Validate port value provided by the user and with that remove no longer
|
|
needed validation by the driver. The missing check in the mlx5_ib driver
|
|
could cause to the below oops.
|
|
|
|
Call trace:
|
|
_create_flow_rule+0x2d4/0xf28 [mlx5_ib]
|
|
mlx5_ib_create_flow+0x2d0/0x5b0 [mlx5_ib]
|
|
ib_uverbs_ex_create_flow+0x4cc/0x624 [ib_uverbs]
|
|
ib_uverbs_handler_UVERBS_METHOD_INVOKE_WRITE+0xd4/0x150 [ib_uverbs]
|
|
ib_uverbs_cmd_verbs.isra.7+0xb28/0xc50 [ib_uverbs]
|
|
ib_uverbs_ioctl+0x158/0x1d0 [ib_uverbs]
|
|
do_vfs_ioctl+0xd0/0xaf0
|
|
ksys_ioctl+0x84/0xb4
|
|
__arm64_sys_ioctl+0x28/0xc4
|
|
el0_svc_common.constprop.3+0xa4/0x254
|
|
el0_svc_handler+0x84/0xa0
|
|
el0_svc+0x10/0x26c
|
|
Code: b9401260 f9615681 51000400 8b001c20 (f9403c1a)</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-06-14</ReleaseDate>
|
|
<CVE>CVE-2021-47265</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-22.03-LTS-SP1</ProductID>
|
|
</Status>
|
|
</ProductStatuses>
|
|
<Threats>
|
|
<Threat Type="Impact">
|
|
<Description>Medium</Description>
|
|
</Threat>
|
|
</Threats>
|
|
<CVSSScoreSets>
|
|
<ScoreSet>
|
|
<BaseScore>5.5</BaseScore>
|
|
<Vector>AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:N</Vector>
|
|
</ScoreSet>
|
|
</CVSSScoreSets>
|
|
<Remediations>
|
|
<Remediation Type="Vendor Fix">
|
|
<Description>kernel security update</Description>
|
|
<DATE>2024-06-14</DATE>
|
|
<URL>https://www.openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2024-1706</URL>
|
|
</Remediation>
|
|
</Remediations>
|
|
</Vulnerability>
|
|
<Vulnerability Ordinal="3" xmlns="http://www.icasi.org/CVRF/schema/vuln/1.1">
|
|
<Notes>
|
|
<Note Title="Vulnerability Description" Type="General" Ordinal="3" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
mISDN: fix possible use-after-free in HFC_cleanup()
|
|
|
|
This module's remove path calls del_timer(). However, that function
|
|
does not wait until the timer handler finishes. This means that the
|
|
timer handler may still be running after the driver's remove function
|
|
has finished, which would result in a use-after-free.
|
|
|
|
Fix by calling del_timer_sync(), which makes sure the timer handler
|
|
has finished, and unable to re-schedule itself.</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-06-14</ReleaseDate>
|
|
<CVE>CVE-2021-47356</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-22.03-LTS-SP1</ProductID>
|
|
</Status>
|
|
</ProductStatuses>
|
|
<Threats>
|
|
<Threat Type="Impact">
|
|
<Description>Medium</Description>
|
|
</Threat>
|
|
</Threats>
|
|
<CVSSScoreSets>
|
|
<ScoreSet>
|
|
<BaseScore>5.8</BaseScore>
|
|
<Vector>AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:N</Vector>
|
|
</ScoreSet>
|
|
</CVSSScoreSets>
|
|
<Remediations>
|
|
<Remediation Type="Vendor Fix">
|
|
<Description>kernel security update</Description>
|
|
<DATE>2024-06-14</DATE>
|
|
<URL>https://www.openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2024-1706</URL>
|
|
</Remediation>
|
|
</Remediations>
|
|
</Vulnerability>
|
|
<Vulnerability Ordinal="4" xmlns="http://www.icasi.org/CVRF/schema/vuln/1.1">
|
|
<Notes>
|
|
<Note Title="Vulnerability Description" Type="General" Ordinal="4" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
net: stmmac: Disable Tx queues when reconfiguring the interface
|
|
|
|
The Tx queues were not disabled in situations where the driver needed to
|
|
stop the interface to apply a new configuration. This could result in a
|
|
kernel panic when doing any of the 3 following actions:
|
|
* reconfiguring the number of queues (ethtool -L)
|
|
* reconfiguring the size of the ring buffers (ethtool -G)
|
|
* installing/removing an XDP program (ip l set dev ethX xdp)
|
|
|
|
Prevent the panic by making sure netif_tx_disable is called when stopping
|
|
an interface.
|
|
|
|
Without this patch, the following kernel panic can be observed when doing
|
|
any of the actions above:
|
|
|
|
Unable to handle kernel paging request at virtual address ffff80001238d040
|
|
[....]
|
|
Call trace:
|
|
dwmac4_set_addr+0x8/0x10
|
|
dev_hard_start_xmit+0xe4/0x1ac
|
|
sch_direct_xmit+0xe8/0x39c
|
|
__dev_queue_xmit+0x3ec/0xaf0
|
|
dev_queue_xmit+0x14/0x20
|
|
[...]
|
|
[ end trace 0000000000000002 ]---</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-06-14</ReleaseDate>
|
|
<CVE>CVE-2021-47558</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-22.03-LTS-SP1</ProductID>
|
|
</Status>
|
|
</ProductStatuses>
|
|
<Threats>
|
|
<Threat Type="Impact">
|
|
<Description>Medium</Description>
|
|
</Threat>
|
|
</Threats>
|
|
<CVSSScoreSets>
|
|
<ScoreSet>
|
|
<BaseScore>5.5</BaseScore>
|
|
<Vector>AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:N</Vector>
|
|
</ScoreSet>
|
|
</CVSSScoreSets>
|
|
<Remediations>
|
|
<Remediation Type="Vendor Fix">
|
|
<Description>kernel security update</Description>
|
|
<DATE>2024-06-14</DATE>
|
|
<URL>https://www.openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2024-1706</URL>
|
|
</Remediation>
|
|
</Remediations>
|
|
</Vulnerability>
|
|
<Vulnerability Ordinal="5" xmlns="http://www.icasi.org/CVRF/schema/vuln/1.1">
|
|
<Notes>
|
|
<Note Title="Vulnerability Description" Type="General" Ordinal="5" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
ice: Fix crash by keep old cfg when update TCs more than queues
|
|
|
|
There are problems if allocated queues less than Traffic Classes.
|
|
|
|
Commit a632b2a4c920 ("ice: ethtool: Prohibit improper channel config
|
|
for DCB") already disallow setting less queues than TCs.
|
|
|
|
Another case is if we first set less queues, and later update more TCs
|
|
config due to LLDP, ice_vsi_cfg_tc() will failed but left dirty
|
|
num_txq/rxq and tc_cfg in vsi, that will cause invalid pointer access.
|
|
|
|
[ 95.968089] ice 0000:3b:00.1: More TCs defined than queues/rings allocated.
|
|
[ 95.968092] ice 0000:3b:00.1: Trying to use more Rx queues (8), than were allocated (1)!
|
|
[ 95.968093] ice 0000:3b:00.1: Failed to config TC for VSI index: 0
|
|
[ 95.969621] general protection fault: 0000 [#1] SMP NOPTI
|
|
[ 95.969705] CPU: 1 PID: 58405 Comm: lldpad Kdump: loaded Tainted: G U W O --------- -t - 4.18.0 #1
|
|
[ 95.969867] Hardware name: O.E.M/BC11SPSCB10, BIOS 8.23 12/30/2021
|
|
[ 95.969992] RIP: 0010:devm_kmalloc+0xa/0x60
|
|
[ 95.970052] Code: 5c ff ff ff 31 c0 5b 5d 41 5c c3 b8 f4 ff ff ff eb f4 0f 1f 40 00 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 48 89 f8 89 d1 <8b> 97 60 02 00 00 48 8d 7e 18 48 39 f7 72 3f 55 89 ce 53 48 8b 4c
|
|
[ 95.970344] RSP: 0018:ffffc9003f553888 EFLAGS: 00010206
|
|
[ 95.970425] RAX: dead000000000200 RBX: ffffea003c425b00 RCX: 00000000006080c0
|
|
[ 95.970536] RDX: 00000000006080c0 RSI: 0000000000000200 RDI: dead000000000200
|
|
[ 95.970648] RBP: dead000000000200 R08: 00000000000463c0 R09: ffff888ffa900000
|
|
[ 95.970760] R10: 0000000000000000 R11: 0000000000000002 R12: ffff888ff6b40100
|
|
[ 95.970870] R13: ffff888ff6a55018 R14: 0000000000000000 R15: ffff888ff6a55460
|
|
[ 95.970981] FS: 00007f51b7d24700(0000) GS:ffff88903ee80000(0000) knlGS:0000000000000000
|
|
[ 95.971108] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
|
|
[ 95.971197] CR2: 00007fac5410d710 CR3: 0000000f2c1de002 CR4: 00000000007606e0
|
|
[ 95.971309] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
|
|
[ 95.971419] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
|
|
[ 95.971530] PKRU: 55555554
|
|
[ 95.971573] Call Trace:
|
|
[ 95.971622] ice_setup_rx_ring+0x39/0x110 [ice]
|
|
[ 95.971695] ice_vsi_setup_rx_rings+0x54/0x90 [ice]
|
|
[ 95.971774] ice_vsi_open+0x25/0x120 [ice]
|
|
[ 95.971843] ice_open_internal+0xb8/0x1f0 [ice]
|
|
[ 95.971919] ice_ena_vsi+0x4f/0xd0 [ice]
|
|
[ 95.971987] ice_dcb_ena_dis_vsi.constprop.5+0x29/0x90 [ice]
|
|
[ 95.972082] ice_pf_dcb_cfg+0x29a/0x380 [ice]
|
|
[ 95.972154] ice_dcbnl_setets+0x174/0x1b0 [ice]
|
|
[ 95.972220] dcbnl_ieee_set+0x89/0x230
|
|
[ 95.972279] ? dcbnl_ieee_del+0x150/0x150
|
|
[ 95.972341] dcb_doit+0x124/0x1b0
|
|
[ 95.972392] rtnetlink_rcv_msg+0x243/0x2f0
|
|
[ 95.972457] ? dcb_doit+0x14d/0x1b0
|
|
[ 95.972510] ? __kmalloc_node_track_caller+0x1d3/0x280
|
|
[ 95.972591] ? rtnl_calcit.isra.31+0x100/0x100
|
|
[ 95.972661] netlink_rcv_skb+0xcf/0xf0
|
|
[ 95.972720] netlink_unicast+0x16d/0x220
|
|
[ 95.972781] netlink_sendmsg+0x2ba/0x3a0
|
|
[ 95.975891] sock_sendmsg+0x4c/0x50
|
|
[ 95.979032] ___sys_sendmsg+0x2e4/0x300
|
|
[ 95.982147] ? kmem_cache_alloc+0x13e/0x190
|
|
[ 95.985242] ? __wake_up_common_lock+0x79/0x90
|
|
[ 95.988338] ? __check_object_size+0xac/0x1b0
|
|
[ 95.991440] ? _copy_to_user+0x22/0x30
|
|
[ 95.994539] ? move_addr_to_user+0xbb/0xd0
|
|
[ 95.997619] ? __sys_sendmsg+0x53/0x80
|
|
[ 96.000664] __sys_sendmsg+0x53/0x80
|
|
[ 96.003747] do_syscall_64+0x5b/0x1d0
|
|
[ 96.006862] entry_SYSCALL_64_after_hwframe+0x65/0xca
|
|
|
|
Only update num_txq/rxq when passed check, and restore tc_cfg if setup
|
|
queue map failed.</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-06-14</ReleaseDate>
|
|
<CVE>CVE-2022-48652</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-22.03-LTS-SP1</ProductID>
|
|
</Status>
|
|
</ProductStatuses>
|
|
<Threats>
|
|
<Threat Type="Impact">
|
|
<Description>Medium</Description>
|
|
</Threat>
|
|
</Threats>
|
|
<CVSSScoreSets>
|
|
<ScoreSet>
|
|
<BaseScore>5.5</BaseScore>
|
|
<Vector>AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</Vector>
|
|
</ScoreSet>
|
|
</CVSSScoreSets>
|
|
<Remediations>
|
|
<Remediation Type="Vendor Fix">
|
|
<Description>kernel security update</Description>
|
|
<DATE>2024-06-14</DATE>
|
|
<URL>https://www.openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2024-1706</URL>
|
|
</Remediation>
|
|
</Remediations>
|
|
</Vulnerability>
|
|
<Vulnerability Ordinal="6" xmlns="http://www.icasi.org/CVRF/schema/vuln/1.1">
|
|
<Notes>
|
|
<Note Title="Vulnerability Description" Type="General" Ordinal="6" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
aio: fix mremap after fork null-deref
|
|
|
|
Commit e4a0d3e720e7 ("aio: Make it possible to remap aio ring") introduced
|
|
a null-deref if mremap is called on an old aio mapping after fork as
|
|
mm->ioctx_table will be set to NULL.
|
|
|
|
[jmoyer@redhat.com: fix 80 column issue]</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-06-14</ReleaseDate>
|
|
<CVE>CVE-2023-52646</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-22.03-LTS-SP1</ProductID>
|
|
</Status>
|
|
</ProductStatuses>
|
|
<Threats>
|
|
<Threat Type="Impact">
|
|
<Description>Medium</Description>
|
|
</Threat>
|
|
</Threats>
|
|
<CVSSScoreSets>
|
|
<ScoreSet>
|
|
<BaseScore>5.5</BaseScore>
|
|
<Vector>AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</Vector>
|
|
</ScoreSet>
|
|
</CVSSScoreSets>
|
|
<Remediations>
|
|
<Remediation Type="Vendor Fix">
|
|
<Description>kernel security update</Description>
|
|
<DATE>2024-06-14</DATE>
|
|
<URL>https://www.openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2024-1706</URL>
|
|
</Remediation>
|
|
</Remediations>
|
|
</Vulnerability>
|
|
<Vulnerability Ordinal="7" xmlns="http://www.icasi.org/CVRF/schema/vuln/1.1">
|
|
<Notes>
|
|
<Note Title="Vulnerability Description" Type="General" Ordinal="7" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
riscv: Check if the code to patch lies in the exit section
|
|
|
|
Otherwise we fall through to vmalloc_to_page() which panics since the
|
|
address does not lie in the vmalloc region.</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-06-14</ReleaseDate>
|
|
<CVE>CVE-2023-52677</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-22.03-LTS-SP1</ProductID>
|
|
</Status>
|
|
</ProductStatuses>
|
|
<Threats>
|
|
<Threat Type="Impact">
|
|
<Description>Medium</Description>
|
|
</Threat>
|
|
</Threats>
|
|
<CVSSScoreSets>
|
|
<ScoreSet>
|
|
<BaseScore>5.5</BaseScore>
|
|
<Vector>AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:N</Vector>
|
|
</ScoreSet>
|
|
</CVSSScoreSets>
|
|
<Remediations>
|
|
<Remediation Type="Vendor Fix">
|
|
<Description>kernel security update</Description>
|
|
<DATE>2024-06-14</DATE>
|
|
<URL>https://www.openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2024-1706</URL>
|
|
</Remediation>
|
|
</Remediations>
|
|
</Vulnerability>
|
|
<Vulnerability Ordinal="8" xmlns="http://www.icasi.org/CVRF/schema/vuln/1.1">
|
|
<Notes>
|
|
<Note Title="Vulnerability Description" Type="General" Ordinal="8" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
ALSA: scarlett2: Add missing error checks to *_ctl_get()
|
|
|
|
The *_ctl_get() functions which call scarlett2_update_*() were not
|
|
checking the return value. Fix to check the return value and pass to
|
|
the caller.</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-06-14</ReleaseDate>
|
|
<CVE>CVE-2023-52680</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-22.03-LTS-SP1</ProductID>
|
|
</Status>
|
|
</ProductStatuses>
|
|
<Threats>
|
|
<Threat Type="Impact">
|
|
<Description>Medium</Description>
|
|
</Threat>
|
|
</Threats>
|
|
<CVSSScoreSets>
|
|
<ScoreSet>
|
|
<BaseScore>5.5</BaseScore>
|
|
<Vector>AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:N</Vector>
|
|
</ScoreSet>
|
|
</CVSSScoreSets>
|
|
<Remediations>
|
|
<Remediation Type="Vendor Fix">
|
|
<Description>kernel security update</Description>
|
|
<DATE>2024-06-14</DATE>
|
|
<URL>https://www.openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2024-1706</URL>
|
|
</Remediation>
|
|
</Remediations>
|
|
</Vulnerability>
|
|
<Vulnerability Ordinal="9" xmlns="http://www.icasi.org/CVRF/schema/vuln/1.1">
|
|
<Notes>
|
|
<Note Title="Vulnerability Description" Type="General" Ordinal="9" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
powerpc/powernv: Add a null pointer check in opal_event_init()
|
|
|
|
kasprintf() returns a pointer to dynamically allocated memory
|
|
which can be NULL upon failure.</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-06-14</ReleaseDate>
|
|
<CVE>CVE-2023-52686</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-22.03-LTS-SP1</ProductID>
|
|
</Status>
|
|
</ProductStatuses>
|
|
<Threats>
|
|
<Threat Type="Impact">
|
|
<Description>Medium</Description>
|
|
</Threat>
|
|
</Threats>
|
|
<CVSSScoreSets>
|
|
<ScoreSet>
|
|
<BaseScore>5.5</BaseScore>
|
|
<Vector>AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</Vector>
|
|
</ScoreSet>
|
|
</CVSSScoreSets>
|
|
<Remediations>
|
|
<Remediation Type="Vendor Fix">
|
|
<Description>kernel security update</Description>
|
|
<DATE>2024-06-14</DATE>
|
|
<URL>https://www.openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2024-1706</URL>
|
|
</Remediation>
|
|
</Remediations>
|
|
</Vulnerability>
|
|
<Vulnerability Ordinal="10" xmlns="http://www.icasi.org/CVRF/schema/vuln/1.1">
|
|
<Notes>
|
|
<Note Title="Vulnerability Description" Type="General" Ordinal="10" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
net: openvswitch: fix possible memory leak in ovs_meter_cmd_set()
|
|
|
|
old_meter needs to be free after it is detached regardless of whether
|
|
the new meter is successfully attached.</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-06-14</ReleaseDate>
|
|
<CVE>CVE-2023-52702</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-22.03-LTS-SP1</ProductID>
|
|
</Status>
|
|
</ProductStatuses>
|
|
<Threats>
|
|
<Threat Type="Impact">
|
|
<Description>Medium</Description>
|
|
</Threat>
|
|
</Threats>
|
|
<CVSSScoreSets>
|
|
<ScoreSet>
|
|
<BaseScore>5.5</BaseScore>
|
|
<Vector>AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:N</Vector>
|
|
</ScoreSet>
|
|
</CVSSScoreSets>
|
|
<Remediations>
|
|
<Remediation Type="Vendor Fix">
|
|
<Description>kernel security update</Description>
|
|
<DATE>2024-06-14</DATE>
|
|
<URL>https://www.openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2024-1706</URL>
|
|
</Remediation>
|
|
</Remediations>
|
|
</Vulnerability>
|
|
<Vulnerability Ordinal="11" xmlns="http://www.icasi.org/CVRF/schema/vuln/1.1">
|
|
<Notes>
|
|
<Note Title="Vulnerability Description" Type="General" Ordinal="11" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
nilfs2: fix underflow in second superblock position calculations
|
|
|
|
Macro NILFS_SB2_OFFSET_BYTES, which computes the position of the second
|
|
superblock, underflows when the argument device size is less than 4096
|
|
bytes. Therefore, when using this macro, it is necessary to check in
|
|
advance that the device size is not less than a lower limit, or at least
|
|
that underflow does not occur.
|
|
|
|
The current nilfs2 implementation lacks this check, causing out-of-bound
|
|
block access when mounting devices smaller than 4096 bytes:
|
|
|
|
I/O error, dev loop0, sector 36028797018963960 op 0x0:(READ) flags 0x0
|
|
phys_seg 1 prio class 2
|
|
NILFS (loop0): unable to read secondary superblock (blocksize = 1024)
|
|
|
|
In addition, when trying to resize the filesystem to a size below 4096
|
|
bytes, this underflow occurs in nilfs_resize_fs(), passing a huge number
|
|
of segments to nilfs_sufile_resize(), corrupting parameters such as the
|
|
number of segments in superblocks. This causes excessive loop iterations
|
|
in nilfs_sufile_resize() during a subsequent resize ioctl, causing
|
|
semaphore ns_segctor_sem to block for a long time and hang the writer
|
|
thread:
|
|
|
|
INFO: task segctord:5067 blocked for more than 143 seconds.
|
|
Not tainted 6.2.0-rc8-syzkaller-00015-gf6feea56f66d #0
|
|
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
|
|
task:segctord state:D stack:23456 pid:5067 ppid:2
|
|
flags:0x00004000
|
|
Call Trace:
|
|
<TASK>
|
|
context_switch kernel/sched/core.c:5293 [inline]
|
|
__schedule+0x1409/0x43f0 kernel/sched/core.c:6606
|
|
schedule+0xc3/0x190 kernel/sched/core.c:6682
|
|
rwsem_down_write_slowpath+0xfcf/0x14a0 kernel/locking/rwsem.c:1190
|
|
nilfs_transaction_lock+0x25c/0x4f0 fs/nilfs2/segment.c:357
|
|
nilfs_segctor_thread_construct fs/nilfs2/segment.c:2486 [inline]
|
|
nilfs_segctor_thread+0x52f/0x1140 fs/nilfs2/segment.c:2570
|
|
kthread+0x270/0x300 kernel/kthread.c:376
|
|
ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:308
|
|
</TASK>
|
|
...
|
|
Call Trace:
|
|
<TASK>
|
|
folio_mark_accessed+0x51c/0xf00 mm/swap.c:515
|
|
__nilfs_get_page_block fs/nilfs2/page.c:42 [inline]
|
|
nilfs_grab_buffer+0x3d3/0x540 fs/nilfs2/page.c:61
|
|
nilfs_mdt_submit_block+0xd7/0x8f0 fs/nilfs2/mdt.c:121
|
|
nilfs_mdt_read_block+0xeb/0x430 fs/nilfs2/mdt.c:176
|
|
nilfs_mdt_get_block+0x12d/0xbb0 fs/nilfs2/mdt.c:251
|
|
nilfs_sufile_get_segment_usage_block fs/nilfs2/sufile.c:92 [inline]
|
|
nilfs_sufile_truncate_range fs/nilfs2/sufile.c:679 [inline]
|
|
nilfs_sufile_resize+0x7a3/0x12b0 fs/nilfs2/sufile.c:777
|
|
nilfs_resize_fs+0x20c/0xed0 fs/nilfs2/super.c:422
|
|
nilfs_ioctl_resize fs/nilfs2/ioctl.c:1033 [inline]
|
|
nilfs_ioctl+0x137c/0x2440 fs/nilfs2/ioctl.c:1301
|
|
...
|
|
|
|
This fixes these issues by inserting appropriate minimum device size
|
|
checks or anti-underflow checks, depending on where the macro is used.</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-06-14</ReleaseDate>
|
|
<CVE>CVE-2023-52705</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-22.03-LTS-SP1</ProductID>
|
|
</Status>
|
|
</ProductStatuses>
|
|
<Threats>
|
|
<Threat Type="Impact">
|
|
<Description>Low</Description>
|
|
</Threat>
|
|
</Threats>
|
|
<CVSSScoreSets>
|
|
<ScoreSet>
|
|
<BaseScore>0.0</BaseScore>
|
|
<Vector>AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:N</Vector>
|
|
</ScoreSet>
|
|
</CVSSScoreSets>
|
|
<Remediations>
|
|
<Remediation Type="Vendor Fix">
|
|
<Description>kernel security update</Description>
|
|
<DATE>2024-06-14</DATE>
|
|
<URL>https://www.openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2024-1706</URL>
|
|
</Remediation>
|
|
</Remediations>
|
|
</Vulnerability>
|
|
<Vulnerability Ordinal="12" xmlns="http://www.icasi.org/CVRF/schema/vuln/1.1">
|
|
<Notes>
|
|
<Note Title="Vulnerability Description" Type="General" Ordinal="12" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
IB/IPoIB: Fix legacy IPoIB due to wrong number of queues
|
|
|
|
The cited commit creates child PKEY interfaces over netlink will
|
|
multiple tx and rx queues, but some devices doesn't support more than 1
|
|
tx and 1 rx queues. This causes to a crash when traffic is sent over the
|
|
PKEY interface due to the parent having a single queue but the child
|
|
having multiple queues.
|
|
|
|
This patch fixes the number of queues to 1 for legacy IPoIB at the
|
|
earliest possible point in time.
|
|
|
|
BUG: kernel NULL pointer dereference, address: 000000000000036b
|
|
PGD 0 P4D 0
|
|
Oops: 0000 [#1] SMP
|
|
CPU: 4 PID: 209665 Comm: python3 Not tainted 6.1.0_for_upstream_min_debug_2022_12_12_17_02 #1
|
|
Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS rel-1.13.0-0-gf21b5a4aeb02-prebuilt.qemu.org 04/01/2014
|
|
RIP: 0010:kmem_cache_alloc+0xcb/0x450
|
|
Code: ce 7e 49 8b 50 08 49 83 78 10 00 4d 8b 28 0f 84 cb 02 00 00 4d 85 ed 0f 84 c2 02 00 00 41 8b 44 24 28 48 8d 4a
|
|
01 49 8b 3c 24 <49> 8b 5c 05 00 4c 89 e8 65 48 0f c7 0f 0f 94 c0 84 c0 74 b8 41 8b
|
|
RSP: 0018:ffff88822acbbab8 EFLAGS: 00010202
|
|
RAX: 0000000000000070 RBX: ffff8881c28e3e00 RCX: 00000000064f8dae
|
|
RDX: 00000000064f8dad RSI: 0000000000000a20 RDI: 0000000000030d00
|
|
RBP: 0000000000000a20 R08: ffff8882f5d30d00 R09: ffff888104032f40
|
|
R10: ffff88810fade828 R11: 736f6d6570736575 R12: ffff88810081c000
|
|
R13: 00000000000002fb R14: ffffffff817fc865 R15: 0000000000000000
|
|
FS: 00007f9324ff9700(0000) GS:ffff8882f5d00000(0000) knlGS:0000000000000000
|
|
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
|
|
CR2: 000000000000036b CR3: 00000001125af004 CR4: 0000000000370ea0
|
|
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
|
|
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
|
|
Call Trace:
|
|
<TASK>
|
|
skb_clone+0x55/0xd0
|
|
ip6_finish_output2+0x3fe/0x690
|
|
ip6_finish_output+0xfa/0x310
|
|
ip6_send_skb+0x1e/0x60
|
|
udp_v6_send_skb+0x1e5/0x420
|
|
udpv6_sendmsg+0xb3c/0xe60
|
|
? ip_mc_finish_output+0x180/0x180
|
|
? __switch_to_asm+0x3a/0x60
|
|
? __switch_to_asm+0x34/0x60
|
|
sock_sendmsg+0x33/0x40
|
|
__sys_sendto+0x103/0x160
|
|
? _copy_to_user+0x21/0x30
|
|
? kvm_clock_get_cycles+0xd/0x10
|
|
? ktime_get_ts64+0x49/0xe0
|
|
__x64_sys_sendto+0x25/0x30
|
|
do_syscall_64+0x3d/0x90
|
|
entry_SYSCALL_64_after_hwframe+0x46/0xb0
|
|
RIP: 0033:0x7f9374f1ed14
|
|
Code: 42 41 f8 ff 44 8b 4c 24 2c 4c 8b 44 24 20 89 c5 44 8b 54 24 28 48 8b 54 24 18 b8 2c 00 00 00 48 8b 74 24 10 8b
|
|
7c 24 08 0f 05 <48> 3d 00 f0 ff ff 77 34 89 ef 48 89 44 24 08 e8 68 41 f8 ff 48 8b
|
|
RSP: 002b:00007f9324ff7bd0 EFLAGS: 00000293 ORIG_RAX: 000000000000002c
|
|
RAX: ffffffffffffffda RBX: 00007f9324ff7cc8 RCX: 00007f9374f1ed14
|
|
RDX: 00000000000002fb RSI: 00007f93000052f0 RDI: 0000000000000030
|
|
RBP: 0000000000000000 R08: 00007f9324ff7d40 R09: 000000000000001c
|
|
R10: 0000000000000000 R11: 0000000000000293 R12: 0000000000000000
|
|
R13: 000000012a05f200 R14: 0000000000000001 R15: 00007f9374d57bdc
|
|
</TASK></Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-06-14</ReleaseDate>
|
|
<CVE>CVE-2023-52745</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-22.03-LTS-SP1</ProductID>
|
|
</Status>
|
|
</ProductStatuses>
|
|
<Threats>
|
|
<Threat Type="Impact">
|
|
<Description>Low</Description>
|
|
</Threat>
|
|
</Threats>
|
|
<CVSSScoreSets>
|
|
<ScoreSet>
|
|
<BaseScore>0.0</BaseScore>
|
|
<Vector>AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:N</Vector>
|
|
</ScoreSet>
|
|
</CVSSScoreSets>
|
|
<Remediations>
|
|
<Remediation Type="Vendor Fix">
|
|
<Description>kernel security update</Description>
|
|
<DATE>2024-06-14</DATE>
|
|
<URL>https://www.openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2024-1706</URL>
|
|
</Remediation>
|
|
</Remediations>
|
|
</Vulnerability>
|
|
<Vulnerability Ordinal="13" xmlns="http://www.icasi.org/CVRF/schema/vuln/1.1">
|
|
<Notes>
|
|
<Note Title="Vulnerability Description" Type="General" Ordinal="13" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
xfrm/compat: prevent potential spectre v1 gadget in xfrm_xlate32_attr()
|
|
|
|
int type = nla_type(nla);
|
|
|
|
if (type > XFRMA_MAX) {
|
|
return -EOPNOTSUPP;
|
|
}
|
|
|
|
@type is then used as an array index and can be used
|
|
as a Spectre v1 gadget.
|
|
|
|
if (nla_len(nla) < compat_policy[type].len) {
|
|
|
|
array_index_nospec() can be used to prevent leaking
|
|
content of kernel memory to malicious users.</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-06-14</ReleaseDate>
|
|
<CVE>CVE-2023-52746</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-22.03-LTS-SP1</ProductID>
|
|
</Status>
|
|
</ProductStatuses>
|
|
<Threats>
|
|
<Threat Type="Impact">
|
|
<Description>Low</Description>
|
|
</Threat>
|
|
</Threats>
|
|
<CVSSScoreSets>
|
|
<ScoreSet>
|
|
<BaseScore>0.0</BaseScore>
|
|
<Vector>AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:N</Vector>
|
|
</ScoreSet>
|
|
</CVSSScoreSets>
|
|
<Remediations>
|
|
<Remediation Type="Vendor Fix">
|
|
<Description>kernel security update</Description>
|
|
<DATE>2024-06-14</DATE>
|
|
<URL>https://www.openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2024-1706</URL>
|
|
</Remediation>
|
|
</Remediations>
|
|
</Vulnerability>
|
|
<Vulnerability Ordinal="14" xmlns="http://www.icasi.org/CVRF/schema/vuln/1.1">
|
|
<Notes>
|
|
<Note Title="Vulnerability Description" Type="General" Ordinal="14" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:drm/amd/display: Avoid NULL dereference of timing generator[Why & How]Check whether assigned timing generator is NULL or not beforeaccessing its funcs to prevent NULL dereference.</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-06-14</ReleaseDate>
|
|
<CVE>CVE-2023-52753</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-22.03-LTS-SP1</ProductID>
|
|
</Status>
|
|
</ProductStatuses>
|
|
<Threats>
|
|
<Threat Type="Impact">
|
|
<Description>Medium</Description>
|
|
</Threat>
|
|
</Threats>
|
|
<CVSSScoreSets>
|
|
<ScoreSet>
|
|
<BaseScore>5.5</BaseScore>
|
|
<Vector>AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</Vector>
|
|
</ScoreSet>
|
|
</CVSSScoreSets>
|
|
<Remediations>
|
|
<Remediation Type="Vendor Fix">
|
|
<Description>kernel security update</Description>
|
|
<DATE>2024-06-14</DATE>
|
|
<URL>https://www.openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2024-1706</URL>
|
|
</Remediation>
|
|
</Remediations>
|
|
</Vulnerability>
|
|
<Vulnerability Ordinal="15" xmlns="http://www.icasi.org/CVRF/schema/vuln/1.1">
|
|
<Notes>
|
|
<Note Title="Vulnerability Description" Type="General" Ordinal="15" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
net/smc: avoid data corruption caused by decline
|
|
|
|
We found a data corruption issue during testing of SMC-R on Redis
|
|
applications.
|
|
|
|
The benchmark has a low probability of reporting a strange error as
|
|
shown below.
|
|
|
|
"Error: Protocol error, got "\xe2" as reply type byte"
|
|
|
|
Finally, we found that the retrieved error data was as follows:
|
|
|
|
0xE2 0xD4 0xC3 0xD9 0x04 0x00 0x2C 0x20 0xA6 0x56 0x00 0x16 0x3E 0x0C
|
|
0xCB 0x04 0x02 0x01 0x00 0x00 0x20 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
|
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xE2
|
|
|
|
It is quite obvious that this is a SMC DECLINE message, which means that
|
|
the applications received SMC protocol message.
|
|
We found that this was caused by the following situations:
|
|
|
|
client server
|
|
¦ clc proposal
|
|
------------->
|
|
¦ clc accept
|
|
<-------------
|
|
¦ clc confirm
|
|
------------->
|
|
wait llc confirm
|
|
send llc confirm
|
|
¦failed llc confirm
|
|
¦ x------
|
|
(after 2s)timeout
|
|
wait llc confirm rsp
|
|
|
|
wait decline
|
|
|
|
(after 1s) timeout
|
|
(after 2s) timeout
|
|
¦ decline
|
|
-------------->
|
|
¦ decline
|
|
<--------------
|
|
|
|
As a result, a decline message was sent in the implementation, and this
|
|
message was read from TCP by the already-fallback connection.
|
|
|
|
This patch double the client timeout as 2x of the server value,
|
|
With this simple change, the Decline messages should never cross or
|
|
collide (during Confirm link timeout).
|
|
|
|
This issue requires an immediate solution, since the protocol updates
|
|
involve a more long-term solution.</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-06-14</ReleaseDate>
|
|
<CVE>CVE-2023-52775</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-22.03-LTS-SP1</ProductID>
|
|
</Status>
|
|
</ProductStatuses>
|
|
<Threats>
|
|
<Threat Type="Impact">
|
|
<Description>Medium</Description>
|
|
</Threat>
|
|
</Threats>
|
|
<CVSSScoreSets>
|
|
<ScoreSet>
|
|
<BaseScore>5.9</BaseScore>
|
|
<Vector>AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:N</Vector>
|
|
</ScoreSet>
|
|
</CVSSScoreSets>
|
|
<Remediations>
|
|
<Remediation Type="Vendor Fix">
|
|
<Description>kernel security update</Description>
|
|
<DATE>2024-06-14</DATE>
|
|
<URL>https://www.openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2024-1706</URL>
|
|
</Remediation>
|
|
</Remediations>
|
|
</Vulnerability>
|
|
<Vulnerability Ordinal="16" xmlns="http://www.icasi.org/CVRF/schema/vuln/1.1">
|
|
<Notes>
|
|
<Note Title="Vulnerability Description" Type="General" Ordinal="16" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
ipvlan: add ipvlan_route_v6_outbound() helper
|
|
|
|
Inspired by syzbot reports using a stack of multiple ipvlan devices.
|
|
|
|
Reduce stack size needed in ipvlan_process_v6_outbound() by moving
|
|
the flowi6 struct used for the route lookup in an non inlined
|
|
helper. ipvlan_route_v6_outbound() needs 120 bytes on the stack,
|
|
immediately reclaimed.
|
|
|
|
Also make sure ipvlan_process_v4_outbound() is not inlined.
|
|
|
|
We might also have to lower MAX_NEST_DEV, because only syzbot uses
|
|
setups with more than four stacked devices.
|
|
|
|
BUG: TASK stack guard page was hit at ffffc9000e803ff8 (stack is ffffc9000e804000..ffffc9000e808000)
|
|
stack guard page: 0000 [#1] SMP KASAN
|
|
CPU: 0 PID: 13442 Comm: syz-executor.4 Not tainted 6.1.52-syzkaller #0
|
|
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/09/2023
|
|
RIP: 0010:kasan_check_range+0x4/0x2a0 mm/kasan/generic.c:188
|
|
Code: 48 01 c6 48 89 c7 e8 db 4e c1 03 31 c0 5d c3 cc 0f 0b eb 02 0f 0b b8 ea ff ff ff 5d c3 cc 00 00 cc cc 00 00 cc cc 55 48 89 e5 <41> 57 41 56 41 55 41 54 53 b0 01 48 85 f6 0f 84 a4 01 00 00 48 89
|
|
RSP: 0018:ffffc9000e804000 EFLAGS: 00010246
|
|
RAX: 0000000000000000 RBX: 0000000000000000 RCX: ffffffff817e5bf2
|
|
RDX: 0000000000000000 RSI: 0000000000000008 RDI: ffffffff887c6568
|
|
RBP: ffffc9000e804000 R08: 0000000000000000 R09: 0000000000000000
|
|
R10: 0000000000000000 R11: dffffc0000000001 R12: 1ffff92001d0080c
|
|
R13: dffffc0000000000 R14: ffffffff87e6b100 R15: 0000000000000000
|
|
FS: 00007fd0c55826c0(0000) GS:ffff8881f6800000(0000) knlGS:0000000000000000
|
|
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
|
|
CR2: ffffc9000e803ff8 CR3: 0000000170ef7000 CR4: 00000000003506f0
|
|
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
|
|
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
|
|
Call Trace:
|
|
<#DF>
|
|
</#DF>
|
|
<TASK>
|
|
[<ffffffff81f281d1>] __kasan_check_read+0x11/0x20 mm/kasan/shadow.c:31
|
|
[<ffffffff817e5bf2>] instrument_atomic_read include/linux/instrumented.h:72 [inline]
|
|
[<ffffffff817e5bf2>] _test_bit include/asm-generic/bitops/instrumented-non-atomic.h:141 [inline]
|
|
[<ffffffff817e5bf2>] cpumask_test_cpu include/linux/cpumask.h:506 [inline]
|
|
[<ffffffff817e5bf2>] cpu_online include/linux/cpumask.h:1092 [inline]
|
|
[<ffffffff817e5bf2>] trace_lock_acquire include/trace/events/lock.h:24 [inline]
|
|
[<ffffffff817e5bf2>] lock_acquire+0xe2/0x590 kernel/locking/lockdep.c:5632
|
|
[<ffffffff8563221e>] rcu_lock_acquire+0x2e/0x40 include/linux/rcupdate.h:306
|
|
[<ffffffff8561464d>] rcu_read_lock include/linux/rcupdate.h:747 [inline]
|
|
[<ffffffff8561464d>] ip6_pol_route+0x15d/0x1440 net/ipv6/route.c:2221
|
|
[<ffffffff85618120>] ip6_pol_route_output+0x50/0x80 net/ipv6/route.c:2606
|
|
[<ffffffff856f65b5>] pol_lookup_func include/net/ip6_fib.h:584 [inline]
|
|
[<ffffffff856f65b5>] fib6_rule_lookup+0x265/0x620 net/ipv6/fib6_rules.c:116
|
|
[<ffffffff85618009>] ip6_route_output_flags_noref+0x2d9/0x3a0 net/ipv6/route.c:2638
|
|
[<ffffffff8561821a>] ip6_route_output_flags+0xca/0x340 net/ipv6/route.c:2651
|
|
[<ffffffff838bd5a3>] ip6_route_output include/net/ip6_route.h:100 [inline]
|
|
[<ffffffff838bd5a3>] ipvlan_process_v6_outbound drivers/net/ipvlan/ipvlan_core.c:473 [inline]
|
|
[<ffffffff838bd5a3>] ipvlan_process_outbound drivers/net/ipvlan/ipvlan_core.c:529 [inline]
|
|
[<ffffffff838bd5a3>] ipvlan_xmit_mode_l3 drivers/net/ipvlan/ipvlan_core.c:602 [inline]
|
|
[<ffffffff838bd5a3>] ipvlan_queue_xmit+0xc33/0x1be0 drivers/net/ipvlan/ipvlan_core.c:677
|
|
[<ffffffff838c2909>] ipvlan_start_xmit+0x49/0x100 drivers/net/ipvlan/ipvlan_main.c:229
|
|
[<ffffffff84d03900>] netdev_start_xmit include/linux/netdevice.h:4966 [inline]
|
|
[<ffffffff84d03900>] xmit_one net/core/dev.c:3644 [inline]
|
|
[<ffffffff84d03900>] dev_hard_start_xmit+0x320/0x980 net/core/dev.c:3660
|
|
[<ffffffff84d080e2>] __dev_queue_xmit+0x16b2/0x3370 net/core/dev.c:4324
|
|
[<ffffffff855ce4cd>] dev_queue_xmit include/linux/netdevice.h:3067 [inline]
|
|
[<ffffffff855ce4cd>] neigh_hh_output include/net/neighbour.h:529 [inline]
|
|
[<f
|
|
---truncated---</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-06-14</ReleaseDate>
|
|
<CVE>CVE-2023-52796</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-22.03-LTS-SP1</ProductID>
|
|
</Status>
|
|
</ProductStatuses>
|
|
<Threats>
|
|
<Threat Type="Impact">
|
|
<Description>Medium</Description>
|
|
</Threat>
|
|
</Threats>
|
|
<CVSSScoreSets>
|
|
<ScoreSet>
|
|
<BaseScore>5.5</BaseScore>
|
|
<Vector>AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:N</Vector>
|
|
</ScoreSet>
|
|
</CVSSScoreSets>
|
|
<Remediations>
|
|
<Remediation Type="Vendor Fix">
|
|
<Description>kernel security update</Description>
|
|
<DATE>2024-06-14</DATE>
|
|
<URL>https://www.openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2024-1706</URL>
|
|
</Remediation>
|
|
</Remediations>
|
|
</Vulnerability>
|
|
<Vulnerability Ordinal="17" xmlns="http://www.icasi.org/CVRF/schema/vuln/1.1">
|
|
<Notes>
|
|
<Note Title="Vulnerability Description" Type="General" Ordinal="17" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
wifi: ath11k: fix dfs radar event locking
|
|
|
|
The ath11k active pdevs are protected by RCU but the DFS radar event
|
|
handling code calling ath11k_mac_get_ar_by_pdev_id() was not marked as a
|
|
read-side critical section.
|
|
|
|
Mark the code in question as an RCU read-side critical section to avoid
|
|
any potential use-after-free issues.
|
|
|
|
Compile tested only.</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-06-14</ReleaseDate>
|
|
<CVE>CVE-2023-52798</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-22.03-LTS-SP1</ProductID>
|
|
</Status>
|
|
</ProductStatuses>
|
|
<Threats>
|
|
<Threat Type="Impact">
|
|
<Description>Medium</Description>
|
|
</Threat>
|
|
</Threats>
|
|
<CVSSScoreSets>
|
|
<ScoreSet>
|
|
<BaseScore>5.5</BaseScore>
|
|
<Vector>AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:N</Vector>
|
|
</ScoreSet>
|
|
</CVSSScoreSets>
|
|
<Remediations>
|
|
<Remediation Type="Vendor Fix">
|
|
<Description>kernel security update</Description>
|
|
<DATE>2024-06-14</DATE>
|
|
<URL>https://www.openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2024-1706</URL>
|
|
</Remediation>
|
|
</Remediations>
|
|
</Vulnerability>
|
|
<Vulnerability Ordinal="18" xmlns="http://www.icasi.org/CVRF/schema/vuln/1.1">
|
|
<Notes>
|
|
<Note Title="Vulnerability Description" Type="General" Ordinal="18" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
jfs: fix array-index-out-of-bounds in dbFindLeaf
|
|
|
|
Currently while searching for dmtree_t for sufficient free blocks there
|
|
is an array out of bounds while getting element in tp->dm_stree. To add
|
|
the required check for out of bound we first need to determine the type
|
|
of dmtree. Thus added an extra parameter to dbFindLeaf so that the type
|
|
of tree can be determined and the required check can be applied.</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-06-14</ReleaseDate>
|
|
<CVE>CVE-2023-52799</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-22.03-LTS-SP1</ProductID>
|
|
</Status>
|
|
</ProductStatuses>
|
|
<Threats>
|
|
<Threat Type="Impact">
|
|
<Description>Low</Description>
|
|
</Threat>
|
|
</Threats>
|
|
<CVSSScoreSets>
|
|
<ScoreSet>
|
|
<BaseScore>0.0</BaseScore>
|
|
<Vector>AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:N</Vector>
|
|
</ScoreSet>
|
|
</CVSSScoreSets>
|
|
<Remediations>
|
|
<Remediation Type="Vendor Fix">
|
|
<Description>kernel security update</Description>
|
|
<DATE>2024-06-14</DATE>
|
|
<URL>https://www.openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2024-1706</URL>
|
|
</Remediation>
|
|
</Remediations>
|
|
</Vulnerability>
|
|
<Vulnerability Ordinal="19" xmlns="http://www.icasi.org/CVRF/schema/vuln/1.1">
|
|
<Notes>
|
|
<Note Title="Vulnerability Description" Type="General" Ordinal="19" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
wifi: ath11k: fix htt pktlog locking
|
|
|
|
The ath11k active pdevs are protected by RCU but the htt pktlog handling
|
|
code calling ath11k_mac_get_ar_by_pdev_id() was not marked as a
|
|
read-side critical section.
|
|
|
|
Mark the code in question as an RCU read-side critical section to avoid
|
|
any potential use-after-free issues.
|
|
|
|
Compile tested only.</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-06-14</ReleaseDate>
|
|
<CVE>CVE-2023-52800</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-22.03-LTS-SP1</ProductID>
|
|
</Status>
|
|
</ProductStatuses>
|
|
<Threats>
|
|
<Threat Type="Impact">
|
|
<Description>Medium</Description>
|
|
</Threat>
|
|
</Threats>
|
|
<CVSSScoreSets>
|
|
<ScoreSet>
|
|
<BaseScore>5.5</BaseScore>
|
|
<Vector>AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:N</Vector>
|
|
</ScoreSet>
|
|
</CVSSScoreSets>
|
|
<Remediations>
|
|
<Remediation Type="Vendor Fix">
|
|
<Description>kernel security update</Description>
|
|
<DATE>2024-06-14</DATE>
|
|
<URL>https://www.openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2024-1706</URL>
|
|
</Remediation>
|
|
</Remediations>
|
|
</Vulnerability>
|
|
<Vulnerability Ordinal="20" xmlns="http://www.icasi.org/CVRF/schema/vuln/1.1">
|
|
<Notes>
|
|
<Note Title="Vulnerability Description" Type="General" Ordinal="20" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
SUNRPC: Fix RPC client cleaned up the freed pipefs dentries
|
|
|
|
RPC client pipefs dentries cleanup is in separated rpc_remove_pipedir()
|
|
workqueue,which takes care about pipefs superblock locking.
|
|
In some special scenarios, when kernel frees the pipefs sb of the
|
|
current client and immediately alloctes a new pipefs sb,
|
|
rpc_remove_pipedir function would misjudge the existence of pipefs
|
|
sb which is not the one it used to hold. As a result,
|
|
the rpc_remove_pipedir would clean the released freed pipefs dentries.
|
|
|
|
To fix this issue, rpc_remove_pipedir should check whether the
|
|
current pipefs sb is consistent with the original pipefs sb.
|
|
|
|
This error can be catched by KASAN:
|
|
=========================================================
|
|
[ 250.497700] BUG: KASAN: slab-use-after-free in dget_parent+0x195/0x200
|
|
[ 250.498315] Read of size 4 at addr ffff88800a2ab804 by task kworker/0:18/106503
|
|
[ 250.500549] Workqueue: events rpc_free_client_work
|
|
[ 250.501001] Call Trace:
|
|
[ 250.502880] kasan_report+0xb6/0xf0
|
|
[ 250.503209] ? dget_parent+0x195/0x200
|
|
[ 250.503561] dget_parent+0x195/0x200
|
|
[ 250.503897] ? __pfx_rpc_clntdir_depopulate+0x10/0x10
|
|
[ 250.504384] rpc_rmdir_depopulate+0x1b/0x90
|
|
[ 250.504781] rpc_remove_client_dir+0xf5/0x150
|
|
[ 250.505195] rpc_free_client_work+0xe4/0x230
|
|
[ 250.505598] process_one_work+0x8ee/0x13b0
|
|
...
|
|
[ 22.039056] Allocated by task 244:
|
|
[ 22.039390] kasan_save_stack+0x22/0x50
|
|
[ 22.039758] kasan_set_track+0x25/0x30
|
|
[ 22.040109] __kasan_slab_alloc+0x59/0x70
|
|
[ 22.040487] kmem_cache_alloc_lru+0xf0/0x240
|
|
[ 22.040889] __d_alloc+0x31/0x8e0
|
|
[ 22.041207] d_alloc+0x44/0x1f0
|
|
[ 22.041514] __rpc_lookup_create_exclusive+0x11c/0x140
|
|
[ 22.041987] rpc_mkdir_populate.constprop.0+0x5f/0x110
|
|
[ 22.042459] rpc_create_client_dir+0x34/0x150
|
|
[ 22.042874] rpc_setup_pipedir_sb+0x102/0x1c0
|
|
[ 22.043284] rpc_client_register+0x136/0x4e0
|
|
[ 22.043689] rpc_new_client+0x911/0x1020
|
|
[ 22.044057] rpc_create_xprt+0xcb/0x370
|
|
[ 22.044417] rpc_create+0x36b/0x6c0
|
|
...
|
|
[ 22.049524] Freed by task 0:
|
|
[ 22.049803] kasan_save_stack+0x22/0x50
|
|
[ 22.050165] kasan_set_track+0x25/0x30
|
|
[ 22.050520] kasan_save_free_info+0x2b/0x50
|
|
[ 22.050921] __kasan_slab_free+0x10e/0x1a0
|
|
[ 22.051306] kmem_cache_free+0xa5/0x390
|
|
[ 22.051667] rcu_core+0x62c/0x1930
|
|
[ 22.051995] __do_softirq+0x165/0x52a
|
|
[ 22.052347]
|
|
[ 22.052503] Last potentially related work creation:
|
|
[ 22.052952] kasan_save_stack+0x22/0x50
|
|
[ 22.053313] __kasan_record_aux_stack+0x8e/0xa0
|
|
[ 22.053739] __call_rcu_common.constprop.0+0x6b/0x8b0
|
|
[ 22.054209] dentry_free+0xb2/0x140
|
|
[ 22.054540] __dentry_kill+0x3be/0x540
|
|
[ 22.054900] shrink_dentry_list+0x199/0x510
|
|
[ 22.055293] shrink_dcache_parent+0x190/0x240
|
|
[ 22.055703] do_one_tree+0x11/0x40
|
|
[ 22.056028] shrink_dcache_for_umount+0x61/0x140
|
|
[ 22.056461] generic_shutdown_super+0x70/0x590
|
|
[ 22.056879] kill_anon_super+0x3a/0x60
|
|
[ 22.057234] rpc_kill_sb+0x121/0x200</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-06-14</ReleaseDate>
|
|
<CVE>CVE-2023-52803</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-22.03-LTS-SP1</ProductID>
|
|
</Status>
|
|
</ProductStatuses>
|
|
<Threats>
|
|
<Threat Type="Impact">
|
|
<Description>Medium</Description>
|
|
</Threat>
|
|
</Threats>
|
|
<CVSSScoreSets>
|
|
<ScoreSet>
|
|
<BaseScore>5.5</BaseScore>
|
|
<Vector>AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:N</Vector>
|
|
</ScoreSet>
|
|
</CVSSScoreSets>
|
|
<Remediations>
|
|
<Remediation Type="Vendor Fix">
|
|
<Description>kernel security update</Description>
|
|
<DATE>2024-06-14</DATE>
|
|
<URL>https://www.openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2024-1706</URL>
|
|
</Remediation>
|
|
</Remediations>
|
|
</Vulnerability>
|
|
<Vulnerability Ordinal="21" xmlns="http://www.icasi.org/CVRF/schema/vuln/1.1">
|
|
<Notes>
|
|
<Note Title="Vulnerability Description" Type="General" Ordinal="21" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
net: hns3: fix out-of-bounds access may occur when coalesce info is read via debugfs
|
|
|
|
The hns3 driver define an array of string to show the coalesce
|
|
info, but if the kernel adds a new mode or a new state,
|
|
out-of-bounds access may occur when coalesce info is read via
|
|
debugfs, this patch fix the problem.</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-06-14</ReleaseDate>
|
|
<CVE>CVE-2023-52807</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-22.03-LTS-SP1</ProductID>
|
|
</Status>
|
|
</ProductStatuses>
|
|
<Threats>
|
|
<Threat Type="Impact">
|
|
<Description>Low</Description>
|
|
</Threat>
|
|
</Threats>
|
|
<CVSSScoreSets>
|
|
<ScoreSet>
|
|
<BaseScore>0.0</BaseScore>
|
|
<Vector>AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:N</Vector>
|
|
</ScoreSet>
|
|
</CVSSScoreSets>
|
|
<Remediations>
|
|
<Remediation Type="Vendor Fix">
|
|
<Description>kernel security update</Description>
|
|
<DATE>2024-06-14</DATE>
|
|
<URL>https://www.openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2024-1706</URL>
|
|
</Remediation>
|
|
</Remediations>
|
|
</Vulnerability>
|
|
<Vulnerability Ordinal="22" xmlns="http://www.icasi.org/CVRF/schema/vuln/1.1">
|
|
<Notes>
|
|
<Note Title="Vulnerability Description" Type="General" Ordinal="22" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
clk: mediatek: clk-mt6797: Add check for mtk_alloc_clk_data
|
|
|
|
Add the check for the return value of mtk_alloc_clk_data() in order to
|
|
avoid NULL pointer dereference.</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-06-14</ReleaseDate>
|
|
<CVE>CVE-2023-52865</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-22.03-LTS-SP1</ProductID>
|
|
</Status>
|
|
</ProductStatuses>
|
|
<Threats>
|
|
<Threat Type="Impact">
|
|
<Description>Medium</Description>
|
|
</Threat>
|
|
</Threats>
|
|
<CVSSScoreSets>
|
|
<ScoreSet>
|
|
<BaseScore>4.7</BaseScore>
|
|
<Vector>AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:N</Vector>
|
|
</ScoreSet>
|
|
</CVSSScoreSets>
|
|
<Remediations>
|
|
<Remediation Type="Vendor Fix">
|
|
<Description>kernel security update</Description>
|
|
<DATE>2024-06-14</DATE>
|
|
<URL>https://www.openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2024-1706</URL>
|
|
</Remediation>
|
|
</Remediations>
|
|
</Vulnerability>
|
|
<Vulnerability Ordinal="23" xmlns="http://www.icasi.org/CVRF/schema/vuln/1.1">
|
|
<Notes>
|
|
<Note Title="Vulnerability Description" Type="General" Ordinal="23" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
clk: mediatek: clk-mt2701: Add check for mtk_alloc_clk_data
|
|
|
|
Add the check for the return value of mtk_alloc_clk_data() in order to
|
|
avoid NULL pointer dereference.</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-06-14</ReleaseDate>
|
|
<CVE>CVE-2023-52875</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-22.03-LTS-SP1</ProductID>
|
|
</Status>
|
|
</ProductStatuses>
|
|
<Threats>
|
|
<Threat Type="Impact">
|
|
<Description>Medium</Description>
|
|
</Threat>
|
|
</Threats>
|
|
<CVSSScoreSets>
|
|
<ScoreSet>
|
|
<BaseScore>4.1</BaseScore>
|
|
<Vector>AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:N</Vector>
|
|
</ScoreSet>
|
|
</CVSSScoreSets>
|
|
<Remediations>
|
|
<Remediation Type="Vendor Fix">
|
|
<Description>kernel security update</Description>
|
|
<DATE>2024-06-14</DATE>
|
|
<URL>https://www.openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2024-1706</URL>
|
|
</Remediation>
|
|
</Remediations>
|
|
</Vulnerability>
|
|
<Vulnerability Ordinal="24" xmlns="http://www.icasi.org/CVRF/schema/vuln/1.1">
|
|
<Notes>
|
|
<Note Title="Vulnerability Description" Type="General" Ordinal="24" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
xen-netfront: Add missing skb_mark_for_recycle
|
|
|
|
Notice that skb_mark_for_recycle() is introduced later than fixes tag in
|
|
commit 6a5bcd84e886 ("page_pool: Allow drivers to hint on SKB recycling").
|
|
|
|
It is believed that fixes tag were missing a call to page_pool_release_page()
|
|
between v5.9 to v5.14, after which is should have used skb_mark_for_recycle().
|
|
Since v6.6 the call page_pool_release_page() were removed (in
|
|
commit 535b9c61bdef ("net: page_pool: hide page_pool_release_page()")
|
|
and remaining callers converted (in commit 6bfef2ec0172 ("Merge branch
|
|
'net-page_pool-remove-page_pool_release_page'")).
|
|
|
|
This leak became visible in v6.8 via commit dba1b8a7ab68 ("mm/page_pool: catch
|
|
page_pool memory leaks").</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-06-14</ReleaseDate>
|
|
<CVE>CVE-2024-27393</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-22.03-LTS-SP1</ProductID>
|
|
</Status>
|
|
</ProductStatuses>
|
|
<Threats>
|
|
<Threat Type="Impact">
|
|
<Description>Medium</Description>
|
|
</Threat>
|
|
</Threats>
|
|
<CVSSScoreSets>
|
|
<ScoreSet>
|
|
<BaseScore>4.0</BaseScore>
|
|
<Vector>AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:N</Vector>
|
|
</ScoreSet>
|
|
</CVSSScoreSets>
|
|
<Remediations>
|
|
<Remediation Type="Vendor Fix">
|
|
<Description>kernel security update</Description>
|
|
<DATE>2024-06-14</DATE>
|
|
<URL>https://www.openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2024-1706</URL>
|
|
</Remediation>
|
|
</Remediations>
|
|
</Vulnerability>
|
|
<Vulnerability Ordinal="25" xmlns="http://www.icasi.org/CVRF/schema/vuln/1.1">
|
|
<Notes>
|
|
<Note Title="Vulnerability Description" Type="General" Ordinal="25" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
Bluetooth: l2cap: fix null-ptr-deref in l2cap_chan_timeout
|
|
|
|
There is a race condition between l2cap_chan_timeout() and
|
|
l2cap_chan_del(). When we use l2cap_chan_del() to delete the
|
|
channel, the chan->conn will be set to null. But the conn could
|
|
be dereferenced again in the mutex_lock() of l2cap_chan_timeout().
|
|
As a result the null pointer dereference bug will happen. The
|
|
KASAN report triggered by POC is shown below:
|
|
|
|
[ 472.074580] ==================================================================
|
|
[ 472.075284] BUG: KASAN: null-ptr-deref in mutex_lock+0x68/0xc0
|
|
[ 472.075308] Write of size 8 at addr 0000000000000158 by task kworker/0:0/7
|
|
[ 472.075308]
|
|
[ 472.075308] CPU: 0 PID: 7 Comm: kworker/0:0 Not tainted 6.9.0-rc5-00356-g78c0094a146b #36
|
|
[ 472.075308] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.14.0-0-g155821a1990b-prebuilt.qemu4
|
|
[ 472.075308] Workqueue: events l2cap_chan_timeout
|
|
[ 472.075308] Call Trace:
|
|
[ 472.075308] <TASK>
|
|
[ 472.075308] dump_stack_lvl+0x137/0x1a0
|
|
[ 472.075308] print_report+0x101/0x250
|
|
[ 472.075308] ? __virt_addr_valid+0x77/0x160
|
|
[ 472.075308] ? mutex_lock+0x68/0xc0
|
|
[ 472.075308] kasan_report+0x139/0x170
|
|
[ 472.075308] ? mutex_lock+0x68/0xc0
|
|
[ 472.075308] kasan_check_range+0x2c3/0x2e0
|
|
[ 472.075308] mutex_lock+0x68/0xc0
|
|
[ 472.075308] l2cap_chan_timeout+0x181/0x300
|
|
[ 472.075308] process_one_work+0x5d2/0xe00
|
|
[ 472.075308] worker_thread+0xe1d/0x1660
|
|
[ 472.075308] ? pr_cont_work+0x5e0/0x5e0
|
|
[ 472.075308] kthread+0x2b7/0x350
|
|
[ 472.075308] ? pr_cont_work+0x5e0/0x5e0
|
|
[ 472.075308] ? kthread_blkcg+0xd0/0xd0
|
|
[ 472.075308] ret_from_fork+0x4d/0x80
|
|
[ 472.075308] ? kthread_blkcg+0xd0/0xd0
|
|
[ 472.075308] ret_from_fork_asm+0x11/0x20
|
|
[ 472.075308] </TASK>
|
|
[ 472.075308] ==================================================================
|
|
[ 472.094860] Disabling lock debugging due to kernel taint
|
|
[ 472.096136] BUG: kernel NULL pointer dereference, address: 0000000000000158
|
|
[ 472.096136] #PF: supervisor write access in kernel mode
|
|
[ 472.096136] #PF: error_code(0x0002) - not-present page
|
|
[ 472.096136] PGD 0 P4D 0
|
|
[ 472.096136] Oops: 0002 [#1] PREEMPT SMP KASAN NOPTI
|
|
[ 472.096136] CPU: 0 PID: 7 Comm: kworker/0:0 Tainted: G B 6.9.0-rc5-00356-g78c0094a146b #36
|
|
[ 472.096136] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.14.0-0-g155821a1990b-prebuilt.qemu4
|
|
[ 472.096136] Workqueue: events l2cap_chan_timeout
|
|
[ 472.096136] RIP: 0010:mutex_lock+0x88/0xc0
|
|
[ 472.096136] Code: be 08 00 00 00 e8 f8 23 1f fd 4c 89 f7 be 08 00 00 00 e8 eb 23 1f fd 42 80 3c 23 00 74 08 48 88
|
|
[ 472.096136] RSP: 0018:ffff88800744fc78 EFLAGS: 00000246
|
|
[ 472.096136] RAX: 0000000000000000 RBX: 1ffff11000e89f8f RCX: ffffffff8457c865
|
|
[ 472.096136] RDX: 0000000000000001 RSI: 0000000000000008 RDI: ffff88800744fc78
|
|
[ 472.096136] RBP: 0000000000000158 R08: ffff88800744fc7f R09: 1ffff11000e89f8f
|
|
[ 472.096136] R10: dffffc0000000000 R11: ffffed1000e89f90 R12: dffffc0000000000
|
|
[ 472.096136] R13: 0000000000000158 R14: ffff88800744fc78 R15: ffff888007405a00
|
|
[ 472.096136] FS: 0000000000000000(0000) GS:ffff88806d200000(0000) knlGS:0000000000000000
|
|
[ 472.096136] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
|
|
[ 472.096136] CR2: 0000000000000158 CR3: 000000000da32000 CR4: 00000000000006f0
|
|
[ 472.096136] Call Trace:
|
|
[ 472.096136] <TASK>
|
|
[ 472.096136] ? __die_body+0x8d/0xe0
|
|
[ 472.096136] ? page_fault_oops+0x6b8/0x9a0
|
|
[ 472.096136] ? kernelmode_fixup_or_oops+0x20c/0x2a0
|
|
[ 472.096136] ? do_user_addr_fault+0x1027/0x1340
|
|
[ 472.096136] ? _printk+0x7a/0xa0
|
|
[ 472.096136] ? mutex_lock+0x68/0xc0
|
|
[ 472.096136] ? add_taint+0x42/0xd0
|
|
[ 472.096136] ? exc_page_fault+0x6a/0x1b0
|
|
[ 472.096136] ? asm_exc_page_fault+0x26/0x30
|
|
[ 472.096136] ? mutex_lock+0x75/0xc0
|
|
[ 472.096136] ? mutex_lock+0x88/0xc0
|
|
[ 472.096136] ? mutex_lock+0x75/0xc0
|
|
[ 472.096136] l2cap_chan_timeo
|
|
---truncated---</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-06-14</ReleaseDate>
|
|
<CVE>CVE-2024-27399</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-22.03-LTS-SP1</ProductID>
|
|
</Status>
|
|
</ProductStatuses>
|
|
<Threats>
|
|
<Threat Type="Impact">
|
|
<Description>Medium</Description>
|
|
</Threat>
|
|
</Threats>
|
|
<CVSSScoreSets>
|
|
<ScoreSet>
|
|
<BaseScore>5.5</BaseScore>
|
|
<Vector>AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:N</Vector>
|
|
</ScoreSet>
|
|
</CVSSScoreSets>
|
|
<Remediations>
|
|
<Remediation Type="Vendor Fix">
|
|
<Description>kernel security update</Description>
|
|
<DATE>2024-06-14</DATE>
|
|
<URL>https://www.openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2024-1706</URL>
|
|
</Remediation>
|
|
</Remediations>
|
|
</Vulnerability>
|
|
<Vulnerability Ordinal="26" xmlns="http://www.icasi.org/CVRF/schema/vuln/1.1">
|
|
<Notes>
|
|
<Note Title="Vulnerability Description" Type="General" Ordinal="26" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
phonet/pep: fix racy skb_queue_empty() use
|
|
|
|
The receive queues are protected by their respective spin-lock, not
|
|
the socket lock. This could lead to skb_peek() unexpectedly
|
|
returning NULL or a pointer to an already dequeued socket buffer.</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-06-14</ReleaseDate>
|
|
<CVE>CVE-2024-27402</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-22.03-LTS-SP1</ProductID>
|
|
</Status>
|
|
</ProductStatuses>
|
|
<Threats>
|
|
<Threat Type="Impact">
|
|
<Description>Medium</Description>
|
|
</Threat>
|
|
</Threats>
|
|
<CVSSScoreSets>
|
|
<ScoreSet>
|
|
<BaseScore>5.5</BaseScore>
|
|
<Vector>AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:N</Vector>
|
|
</ScoreSet>
|
|
</CVSSScoreSets>
|
|
<Remediations>
|
|
<Remediation Type="Vendor Fix">
|
|
<Description>kernel security update</Description>
|
|
<DATE>2024-06-14</DATE>
|
|
<URL>https://www.openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2024-1706</URL>
|
|
</Remediation>
|
|
</Remediations>
|
|
</Vulnerability>
|
|
<Vulnerability Ordinal="27" xmlns="http://www.icasi.org/CVRF/schema/vuln/1.1">
|
|
<Notes>
|
|
<Note Title="Vulnerability Description" Type="General" Ordinal="27" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
netfilter: bridge: confirm multicast packets before passing them up the stack
|
|
|
|
conntrack nf_confirm logic cannot handle cloned skbs referencing
|
|
the same nf_conn entry, which will happen for multicast (broadcast)
|
|
frames on bridges.
|
|
|
|
Example:
|
|
macvlan0
|
|
|
|
|
br0
|
|
/ \
|
|
ethX ethY
|
|
|
|
ethX (or Y) receives a L2 multicast or broadcast packet containing
|
|
an IP packet, flow is not yet in conntrack table.
|
|
|
|
1. skb passes through bridge and fake-ip (br_netfilter)Prerouting.
|
|
-> skb->_nfct now references a unconfirmed entry
|
|
2. skb is broad/mcast packet. bridge now passes clones out on each bridge
|
|
interface.
|
|
3. skb gets passed up the stack.
|
|
4. In macvlan case, macvlan driver retains clone(s) of the mcast skb
|
|
and schedules a work queue to send them out on the lower devices.
|
|
|
|
The clone skb->_nfct is not a copy, it is the same entry as the
|
|
original skb. The macvlan rx handler then returns RX_HANDLER_PASS.
|
|
5. Normal conntrack hooks (in NF_INET_LOCAL_IN) confirm the orig skb.
|
|
|
|
The Macvlan broadcast worker and normal confirm path will race.
|
|
|
|
This race will not happen if step 2 already confirmed a clone. In that
|
|
case later steps perform skb_clone() with skb->_nfct already confirmed (in
|
|
hash table). This works fine.
|
|
|
|
But such confirmation won't happen when eb/ip/nftables rules dropped the
|
|
packets before they reached the nf_confirm step in postrouting.
|
|
|
|
Pablo points out that nf_conntrack_bridge doesn't allow use of stateful
|
|
nat, so we can safely discard the nf_conn entry and let inet call
|
|
conntrack again.
|
|
|
|
This doesn't work for bridge netfilter: skb could have a nat
|
|
transformation. Also bridge nf prevents re-invocation of inet prerouting
|
|
via 'sabotage_in' hook.
|
|
|
|
Work around this problem by explicit confirmation of the entry at LOCAL_IN
|
|
time, before upper layer has a chance to clone the unconfirmed entry.
|
|
|
|
The downside is that this disables NAT and conntrack helpers.
|
|
|
|
Alternative fix would be to add locking to all code parts that deal with
|
|
unconfirmed packets, but even if that could be done in a sane way this
|
|
opens up other problems, for example:
|
|
|
|
-m physdev --physdev-out eth0 -j SNAT --snat-to 1.2.3.4
|
|
-m physdev --physdev-out eth1 -j SNAT --snat-to 1.2.3.5
|
|
|
|
For multicast case, only one of such conflicting mappings will be
|
|
created, conntrack only handles 1:1 NAT mappings.
|
|
|
|
Users should set create a setup that explicitly marks such traffic
|
|
NOTRACK (conntrack bypass) to avoid this, but we cannot auto-bypass
|
|
them, ruleset might have accept rules for untracked traffic already,
|
|
so user-visible behaviour would change.</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-06-14</ReleaseDate>
|
|
<CVE>CVE-2024-27415</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-22.03-LTS-SP1</ProductID>
|
|
</Status>
|
|
</ProductStatuses>
|
|
<Threats>
|
|
<Threat Type="Impact">
|
|
<Description>Medium</Description>
|
|
</Threat>
|
|
</Threats>
|
|
<CVSSScoreSets>
|
|
<ScoreSet>
|
|
<BaseScore>5.5</BaseScore>
|
|
<Vector>AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:N</Vector>
|
|
</ScoreSet>
|
|
</CVSSScoreSets>
|
|
<Remediations>
|
|
<Remediation Type="Vendor Fix">
|
|
<Description>kernel security update</Description>
|
|
<DATE>2024-06-14</DATE>
|
|
<URL>https://www.openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2024-1706</URL>
|
|
</Remediation>
|
|
</Remediations>
|
|
</Vulnerability>
|
|
<Vulnerability Ordinal="28" xmlns="http://www.icasi.org/CVRF/schema/vuln/1.1">
|
|
<Notes>
|
|
<Note Title="Vulnerability Description" Type="General" Ordinal="28" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
usb: typec: altmodes/displayport: create sysfs nodes as driver's default device attribute group
|
|
|
|
The DisplayPort driver's sysfs nodes may be present to the userspace before
|
|
typec_altmode_set_drvdata() completes in dp_altmode_probe. This means that
|
|
a sysfs read can trigger a NULL pointer error by deferencing dp->hpd in
|
|
hpd_show or dp->lock in pin_assignment_show, as dev_get_drvdata() returns
|
|
NULL in those cases.
|
|
|
|
Remove manual sysfs node creation in favor of adding attribute group as
|
|
default for devices bound to the driver. The ATTRIBUTE_GROUPS() macro is
|
|
not used here otherwise the path to the sysfs nodes is no longer compliant
|
|
with the ABI.</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-06-14</ReleaseDate>
|
|
<CVE>CVE-2024-35790</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-22.03-LTS-SP1</ProductID>
|
|
</Status>
|
|
</ProductStatuses>
|
|
<Threats>
|
|
<Threat Type="Impact">
|
|
<Description>Medium</Description>
|
|
</Threat>
|
|
</Threats>
|
|
<CVSSScoreSets>
|
|
<ScoreSet>
|
|
<BaseScore>5.5</BaseScore>
|
|
<Vector>AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:N</Vector>
|
|
</ScoreSet>
|
|
</CVSSScoreSets>
|
|
<Remediations>
|
|
<Remediation Type="Vendor Fix">
|
|
<Description>kernel security update</Description>
|
|
<DATE>2024-06-14</DATE>
|
|
<URL>https://www.openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2024-1706</URL>
|
|
</Remediation>
|
|
</Remediations>
|
|
</Vulnerability>
|
|
<Vulnerability Ordinal="29" xmlns="http://www.icasi.org/CVRF/schema/vuln/1.1">
|
|
<Notes>
|
|
<Note Title="Vulnerability Description" Type="General" Ordinal="29" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
PCI/PM: Drain runtime-idle callbacks before driver removal
|
|
|
|
A race condition between the .runtime_idle() callback and the .remove()
|
|
callback in the rtsx_pcr PCI driver leads to a kernel crash due to an
|
|
unhandled page fault [1].
|
|
|
|
The problem is that rtsx_pci_runtime_idle() is not expected to be running
|
|
after pm_runtime_get_sync() has been called, but the latter doesn't really
|
|
guarantee that. It only guarantees that the suspend and resume callbacks
|
|
will not be running when it returns.
|
|
|
|
However, if a .runtime_idle() callback is already running when
|
|
pm_runtime_get_sync() is called, the latter will notice that the runtime PM
|
|
status of the device is RPM_ACTIVE and it will return right away without
|
|
waiting for the former to complete. In fact, it cannot wait for
|
|
.runtime_idle() to complete because it may be called from that callback (it
|
|
arguably does not make much sense to do that, but it is not strictly
|
|
prohibited).
|
|
|
|
Thus in general, whoever is providing a .runtime_idle() callback needs
|
|
to protect it from running in parallel with whatever code runs after
|
|
pm_runtime_get_sync(). [Note that .runtime_idle() will not start after
|
|
pm_runtime_get_sync() has returned, but it may continue running then if it
|
|
has started earlier.]
|
|
|
|
One way to address that race condition is to call pm_runtime_barrier()
|
|
after pm_runtime_get_sync() (not before it, because a nonzero value of the
|
|
runtime PM usage counter is necessary to prevent runtime PM callbacks from
|
|
being invoked) to wait for the .runtime_idle() callback to complete should
|
|
it be running at that point. A suitable place for doing that is in
|
|
pci_device_remove() which calls pm_runtime_get_sync() before removing the
|
|
driver, so it may as well call pm_runtime_barrier() subsequently, which
|
|
will prevent the race in question from occurring, not just in the rtsx_pcr
|
|
driver, but in any PCI drivers providing .runtime_idle() callbacks.</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-06-14</ReleaseDate>
|
|
<CVE>CVE-2024-35809</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-22.03-LTS-SP1</ProductID>
|
|
</Status>
|
|
</ProductStatuses>
|
|
<Threats>
|
|
<Threat Type="Impact">
|
|
<Description>Medium</Description>
|
|
</Threat>
|
|
</Threats>
|
|
<CVSSScoreSets>
|
|
<ScoreSet>
|
|
<BaseScore>4.7</BaseScore>
|
|
<Vector>AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:N</Vector>
|
|
</ScoreSet>
|
|
</CVSSScoreSets>
|
|
<Remediations>
|
|
<Remediation Type="Vendor Fix">
|
|
<Description>kernel security update</Description>
|
|
<DATE>2024-06-14</DATE>
|
|
<URL>https://www.openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2024-1706</URL>
|
|
</Remediation>
|
|
</Remediations>
|
|
</Vulnerability>
|
|
<Vulnerability Ordinal="30" xmlns="http://www.icasi.org/CVRF/schema/vuln/1.1">
|
|
<Notes>
|
|
<Note Title="Vulnerability Description" Type="General" Ordinal="30" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
mlxsw: spectrum_acl_tcam: Fix memory leak during rehash
|
|
|
|
The rehash delayed work migrates filters from one region to another.
|
|
This is done by iterating over all chunks (all the filters with the same
|
|
priority) in the region and in each chunk iterating over all the
|
|
filters.
|
|
|
|
If the migration fails, the code tries to migrate the filters back to
|
|
the old region. However, the rollback itself can also fail in which case
|
|
another migration will be erroneously performed. Besides the fact that
|
|
this ping pong is not a very good idea, it also creates a problem.
|
|
|
|
Each virtual chunk references two chunks: The currently used one
|
|
('vchunk->chunk') and a backup ('vchunk->chunk2'). During migration the
|
|
first holds the chunk we want to migrate filters to and the second holds
|
|
the chunk we are migrating filters from.
|
|
|
|
The code currently assumes - but does not verify - that the backup chunk
|
|
does not exist (NULL) if the currently used chunk does not reference the
|
|
target region. This assumption breaks when we are trying to rollback a
|
|
rollback, resulting in the backup chunk being overwritten and leaked
|
|
[1].
|
|
|
|
Fix by not rolling back a failed rollback and add a warning to avoid
|
|
future cases.
|
|
|
|
[1]
|
|
WARNING: CPU: 5 PID: 1063 at lib/parman.c:291 parman_destroy+0x17/0x20
|
|
Modules linked in:
|
|
CPU: 5 PID: 1063 Comm: kworker/5:11 Tainted: G W 6.9.0-rc2-custom-00784-gc6a05c468a0b #14
|
|
Hardware name: Mellanox Technologies Ltd. MSN3700/VMOD0005, BIOS 5.11 01/06/2019
|
|
Workqueue: mlxsw_core mlxsw_sp_acl_tcam_vregion_rehash_work
|
|
RIP: 0010:parman_destroy+0x17/0x20
|
|
[...]
|
|
Call Trace:
|
|
<TASK>
|
|
mlxsw_sp_acl_atcam_region_fini+0x19/0x60
|
|
mlxsw_sp_acl_tcam_region_destroy+0x49/0xf0
|
|
mlxsw_sp_acl_tcam_vregion_rehash_work+0x1f1/0x470
|
|
process_one_work+0x151/0x370
|
|
worker_thread+0x2cb/0x3e0
|
|
kthread+0xd0/0x100
|
|
ret_from_fork+0x34/0x50
|
|
ret_from_fork_asm+0x1a/0x30
|
|
</TASK></Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-06-14</ReleaseDate>
|
|
<CVE>CVE-2024-35853</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-22.03-LTS-SP1</ProductID>
|
|
</Status>
|
|
</ProductStatuses>
|
|
<Threats>
|
|
<Threat Type="Impact">
|
|
<Description>Medium</Description>
|
|
</Threat>
|
|
</Threats>
|
|
<CVSSScoreSets>
|
|
<ScoreSet>
|
|
<BaseScore>5.5</BaseScore>
|
|
<Vector>AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:N</Vector>
|
|
</ScoreSet>
|
|
</CVSSScoreSets>
|
|
<Remediations>
|
|
<Remediation Type="Vendor Fix">
|
|
<Description>kernel security update</Description>
|
|
<DATE>2024-06-14</DATE>
|
|
<URL>https://www.openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2024-1706</URL>
|
|
</Remediation>
|
|
</Remediations>
|
|
</Vulnerability>
|
|
<Vulnerability Ordinal="31" xmlns="http://www.icasi.org/CVRF/schema/vuln/1.1">
|
|
<Notes>
|
|
<Note Title="Vulnerability Description" Type="General" Ordinal="31" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
mlxsw: spectrum_acl_tcam: Fix possible use-after-free during rehash
|
|
|
|
The rehash delayed work migrates filters from one region to another
|
|
according to the number of available credits.
|
|
|
|
The migrated from region is destroyed at the end of the work if the
|
|
number of credits is non-negative as the assumption is that this is
|
|
indicative of migration being complete. This assumption is incorrect as
|
|
a non-negative number of credits can also be the result of a failed
|
|
migration.
|
|
|
|
The destruction of a region that still has filters referencing it can
|
|
result in a use-after-free [1].
|
|
|
|
Fix by not destroying the region if migration failed.
|
|
|
|
[1]
|
|
BUG: KASAN: slab-use-after-free in mlxsw_sp_acl_ctcam_region_entry_remove+0x21d/0x230
|
|
Read of size 8 at addr ffff8881735319e8 by task kworker/0:31/3858
|
|
|
|
CPU: 0 PID: 3858 Comm: kworker/0:31 Tainted: G W 6.9.0-rc2-custom-00782-gf2275c2157d8 #5
|
|
Hardware name: Mellanox Technologies Ltd. MSN3700/VMOD0005, BIOS 5.11 01/06/2019
|
|
Workqueue: mlxsw_core mlxsw_sp_acl_tcam_vregion_rehash_work
|
|
Call Trace:
|
|
<TASK>
|
|
dump_stack_lvl+0xc6/0x120
|
|
print_report+0xce/0x670
|
|
kasan_report+0xd7/0x110
|
|
mlxsw_sp_acl_ctcam_region_entry_remove+0x21d/0x230
|
|
mlxsw_sp_acl_ctcam_entry_del+0x2e/0x70
|
|
mlxsw_sp_acl_atcam_entry_del+0x81/0x210
|
|
mlxsw_sp_acl_tcam_vchunk_migrate_all+0x3cd/0xb50
|
|
mlxsw_sp_acl_tcam_vregion_rehash_work+0x157/0x1300
|
|
process_one_work+0x8eb/0x19b0
|
|
worker_thread+0x6c9/0xf70
|
|
kthread+0x2c9/0x3b0
|
|
ret_from_fork+0x4d/0x80
|
|
ret_from_fork_asm+0x1a/0x30
|
|
</TASK>
|
|
|
|
Allocated by task 174:
|
|
kasan_save_stack+0x33/0x60
|
|
kasan_save_track+0x14/0x30
|
|
__kasan_kmalloc+0x8f/0xa0
|
|
__kmalloc+0x19c/0x360
|
|
mlxsw_sp_acl_tcam_region_create+0xdf/0x9c0
|
|
mlxsw_sp_acl_tcam_vregion_rehash_work+0x954/0x1300
|
|
process_one_work+0x8eb/0x19b0
|
|
worker_thread+0x6c9/0xf70
|
|
kthread+0x2c9/0x3b0
|
|
ret_from_fork+0x4d/0x80
|
|
ret_from_fork_asm+0x1a/0x30
|
|
|
|
Freed by task 7:
|
|
kasan_save_stack+0x33/0x60
|
|
kasan_save_track+0x14/0x30
|
|
kasan_save_free_info+0x3b/0x60
|
|
poison_slab_object+0x102/0x170
|
|
__kasan_slab_free+0x14/0x30
|
|
kfree+0xc1/0x290
|
|
mlxsw_sp_acl_tcam_region_destroy+0x272/0x310
|
|
mlxsw_sp_acl_tcam_vregion_rehash_work+0x731/0x1300
|
|
process_one_work+0x8eb/0x19b0
|
|
worker_thread+0x6c9/0xf70
|
|
kthread+0x2c9/0x3b0
|
|
ret_from_fork+0x4d/0x80
|
|
ret_from_fork_asm+0x1a/0x30</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-06-14</ReleaseDate>
|
|
<CVE>CVE-2024-35854</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-22.03-LTS-SP1</ProductID>
|
|
</Status>
|
|
</ProductStatuses>
|
|
<Threats>
|
|
<Threat Type="Impact">
|
|
<Description>Medium</Description>
|
|
</Threat>
|
|
</Threats>
|
|
<CVSSScoreSets>
|
|
<ScoreSet>
|
|
<BaseScore>5.5</BaseScore>
|
|
<Vector>AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:N</Vector>
|
|
</ScoreSet>
|
|
</CVSSScoreSets>
|
|
<Remediations>
|
|
<Remediation Type="Vendor Fix">
|
|
<Description>kernel security update</Description>
|
|
<DATE>2024-06-14</DATE>
|
|
<URL>https://www.openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2024-1706</URL>
|
|
</Remediation>
|
|
</Remediations>
|
|
</Vulnerability>
|
|
<Vulnerability Ordinal="32" xmlns="http://www.icasi.org/CVRF/schema/vuln/1.1">
|
|
<Notes>
|
|
<Note Title="Vulnerability Description" Type="General" Ordinal="32" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
mlxsw: spectrum_acl_tcam: Fix possible use-after-free during activity update
|
|
|
|
The rule activity update delayed work periodically traverses the list of
|
|
configured rules and queries their activity from the device.
|
|
|
|
As part of this task it accesses the entry pointed by 'ventry->entry',
|
|
but this entry can be changed concurrently by the rehash delayed work,
|
|
leading to a use-after-free [1].
|
|
|
|
Fix by closing the race and perform the activity query under the
|
|
'vregion->lock' mutex.
|
|
|
|
[1]
|
|
BUG: KASAN: slab-use-after-free in mlxsw_sp_acl_tcam_flower_rule_activity_get+0x121/0x140
|
|
Read of size 8 at addr ffff8881054ed808 by task kworker/0:18/181
|
|
|
|
CPU: 0 PID: 181 Comm: kworker/0:18 Not tainted 6.9.0-rc2-custom-00781-gd5ab772d32f7 #2
|
|
Hardware name: Mellanox Technologies Ltd. MSN3700/VMOD0005, BIOS 5.11 01/06/2019
|
|
Workqueue: mlxsw_core mlxsw_sp_acl_rule_activity_update_work
|
|
Call Trace:
|
|
<TASK>
|
|
dump_stack_lvl+0xc6/0x120
|
|
print_report+0xce/0x670
|
|
kasan_report+0xd7/0x110
|
|
mlxsw_sp_acl_tcam_flower_rule_activity_get+0x121/0x140
|
|
mlxsw_sp_acl_rule_activity_update_work+0x219/0x400
|
|
process_one_work+0x8eb/0x19b0
|
|
worker_thread+0x6c9/0xf70
|
|
kthread+0x2c9/0x3b0
|
|
ret_from_fork+0x4d/0x80
|
|
ret_from_fork_asm+0x1a/0x30
|
|
</TASK>
|
|
|
|
Allocated by task 1039:
|
|
kasan_save_stack+0x33/0x60
|
|
kasan_save_track+0x14/0x30
|
|
__kasan_kmalloc+0x8f/0xa0
|
|
__kmalloc+0x19c/0x360
|
|
mlxsw_sp_acl_tcam_entry_create+0x7b/0x1f0
|
|
mlxsw_sp_acl_tcam_vchunk_migrate_all+0x30d/0xb50
|
|
mlxsw_sp_acl_tcam_vregion_rehash_work+0x157/0x1300
|
|
process_one_work+0x8eb/0x19b0
|
|
worker_thread+0x6c9/0xf70
|
|
kthread+0x2c9/0x3b0
|
|
ret_from_fork+0x4d/0x80
|
|
ret_from_fork_asm+0x1a/0x30
|
|
|
|
Freed by task 1039:
|
|
kasan_save_stack+0x33/0x60
|
|
kasan_save_track+0x14/0x30
|
|
kasan_save_free_info+0x3b/0x60
|
|
poison_slab_object+0x102/0x170
|
|
__kasan_slab_free+0x14/0x30
|
|
kfree+0xc1/0x290
|
|
mlxsw_sp_acl_tcam_vchunk_migrate_all+0x3d7/0xb50
|
|
mlxsw_sp_acl_tcam_vregion_rehash_work+0x157/0x1300
|
|
process_one_work+0x8eb/0x19b0
|
|
worker_thread+0x6c9/0xf70
|
|
kthread+0x2c9/0x3b0
|
|
ret_from_fork+0x4d/0x80
|
|
ret_from_fork_asm+0x1a/0x30</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-06-14</ReleaseDate>
|
|
<CVE>CVE-2024-35855</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-22.03-LTS-SP1</ProductID>
|
|
</Status>
|
|
</ProductStatuses>
|
|
<Threats>
|
|
<Threat Type="Impact">
|
|
<Description>Medium</Description>
|
|
</Threat>
|
|
</Threats>
|
|
<CVSSScoreSets>
|
|
<ScoreSet>
|
|
<BaseScore>5.5</BaseScore>
|
|
<Vector>AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:N</Vector>
|
|
</ScoreSet>
|
|
</CVSSScoreSets>
|
|
<Remediations>
|
|
<Remediation Type="Vendor Fix">
|
|
<Description>kernel security update</Description>
|
|
<DATE>2024-06-14</DATE>
|
|
<URL>https://www.openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2024-1706</URL>
|
|
</Remediation>
|
|
</Remediations>
|
|
</Vulnerability>
|
|
<Vulnerability Ordinal="33" xmlns="http://www.icasi.org/CVRF/schema/vuln/1.1">
|
|
<Notes>
|
|
<Note Title="Vulnerability Description" Type="General" Ordinal="33" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
ipv6: Fix infinite recursion in fib6_dump_done().
|
|
|
|
syzkaller reported infinite recursive calls of fib6_dump_done() during
|
|
netlink socket destruction. [1]
|
|
|
|
From the log, syzkaller sent an AF_UNSPEC RTM_GETROUTE message, and then
|
|
the response was generated. The following recvmmsg() resumed the dump
|
|
for IPv6, but the first call of inet6_dump_fib() failed at kzalloc() due
|
|
to the fault injection. [0]
|
|
|
|
12:01:34 executing program 3:
|
|
r0 = socket$nl_route(0x10, 0x3, 0x0)
|
|
sendmsg$nl_route(r0, ... snip ...)
|
|
recvmmsg(r0, ... snip ...) (fail_nth: 8)
|
|
|
|
Here, fib6_dump_done() was set to nlk_sk(sk)->cb.done, and the next call
|
|
of inet6_dump_fib() set it to nlk_sk(sk)->cb.args[3]. syzkaller stopped
|
|
receiving the response halfway through, and finally netlink_sock_destruct()
|
|
called nlk_sk(sk)->cb.done().
|
|
|
|
fib6_dump_done() calls fib6_dump_end() and nlk_sk(sk)->cb.done() if it
|
|
is still not NULL. fib6_dump_end() rewrites nlk_sk(sk)->cb.done() by
|
|
nlk_sk(sk)->cb.args[3], but it has the same function, not NULL, calling
|
|
itself recursively and hitting the stack guard page.
|
|
|
|
To avoid the issue, let's set the destructor after kzalloc().
|
|
|
|
[0]:
|
|
FAULT_INJECTION: forcing a failure.
|
|
name failslab, interval 1, probability 0, space 0, times 0
|
|
CPU: 1 PID: 432110 Comm: syz-executor.3 Not tainted 6.8.0-12821-g537c2e91d354-dirty #11
|
|
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.0-0-gd239552ce722-prebuilt.qemu.org 04/01/2014
|
|
Call Trace:
|
|
<TASK>
|
|
dump_stack_lvl (lib/dump_stack.c:117)
|
|
should_fail_ex (lib/fault-inject.c:52 lib/fault-inject.c:153)
|
|
should_failslab (mm/slub.c:3733)
|
|
kmalloc_trace (mm/slub.c:3748 mm/slub.c:3827 mm/slub.c:3992)
|
|
inet6_dump_fib (./include/linux/slab.h:628 ./include/linux/slab.h:749 net/ipv6/ip6_fib.c:662)
|
|
rtnl_dump_all (net/core/rtnetlink.c:4029)
|
|
netlink_dump (net/netlink/af_netlink.c:2269)
|
|
netlink_recvmsg (net/netlink/af_netlink.c:1988)
|
|
____sys_recvmsg (net/socket.c:1046 net/socket.c:2801)
|
|
___sys_recvmsg (net/socket.c:2846)
|
|
do_recvmmsg (net/socket.c:2943)
|
|
__x64_sys_recvmmsg (net/socket.c:3041 net/socket.c:3034 net/socket.c:3034)
|
|
|
|
[1]:
|
|
BUG: TASK stack guard page was hit at 00000000f2fa9af1 (stack is 00000000b7912430..000000009a436beb)
|
|
stack guard page: 0000 [#1] PREEMPT SMP KASAN
|
|
CPU: 1 PID: 223719 Comm: kworker/1:3 Not tainted 6.8.0-12821-g537c2e91d354-dirty #11
|
|
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.0-0-gd239552ce722-prebuilt.qemu.org 04/01/2014
|
|
Workqueue: events netlink_sock_destruct_work
|
|
RIP: 0010:fib6_dump_done (net/ipv6/ip6_fib.c:570)
|
|
Code: 3c 24 e8 f3 e9 51 fd e9 28 fd ff ff 66 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 00 f3 0f 1e fa 41 57 41 56 41 55 41 54 55 48 89 fd <53> 48 8d 5d 60 e8 b6 4d 07 fd 48 89 da 48 b8 00 00 00 00 00 fc ff
|
|
RSP: 0018:ffffc9000d980000 EFLAGS: 00010293
|
|
RAX: 0000000000000000 RBX: ffffffff84405990 RCX: ffffffff844059d3
|
|
RDX: ffff8881028e0000 RSI: ffffffff84405ac2 RDI: ffff88810c02f358
|
|
RBP: ffff88810c02f358 R08: 0000000000000007 R09: 0000000000000000
|
|
R10: 0000000000000000 R11: 0000000000000224 R12: 0000000000000000
|
|
R13: ffff888007c82c78 R14: ffff888007c82c68 R15: ffff888007c82c68
|
|
FS: 0000000000000000(0000) GS:ffff88811b100000(0000) knlGS:0000000000000000
|
|
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
|
|
CR2: ffffc9000d97fff8 CR3: 0000000102309002 CR4: 0000000000770ef0
|
|
PKRU: 55555554
|
|
Call Trace:
|
|
<#DF>
|
|
</#DF>
|
|
<TASK>
|
|
fib6_dump_done (net/ipv6/ip6_fib.c:572 (discriminator 1))
|
|
fib6_dump_done (net/ipv6/ip6_fib.c:572 (discriminator 1))
|
|
...
|
|
fib6_dump_done (net/ipv6/ip6_fib.c:572 (discriminator 1))
|
|
fib6_dump_done (net/ipv6/ip6_fib.c:572 (discriminator 1))
|
|
netlink_sock_destruct (net/netlink/af_netlink.c:401)
|
|
__sk_destruct (net/core/sock.c:2177 (discriminator 2))
|
|
sk_destruct (net/core/sock.c:2224)
|
|
__sk_free (net/core/sock.c:2235)
|
|
sk_free (net/core/sock.c:2246)
|
|
process_one_work (kernel/workqueue.c:3259)
|
|
worker_thread (kernel/workqueue.c:3329 kernel/workqueue.
|
|
---truncated---</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-06-14</ReleaseDate>
|
|
<CVE>CVE-2024-35886</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-22.03-LTS-SP1</ProductID>
|
|
</Status>
|
|
</ProductStatuses>
|
|
<Threats>
|
|
<Threat Type="Impact">
|
|
<Description>Medium</Description>
|
|
</Threat>
|
|
</Threats>
|
|
<CVSSScoreSets>
|
|
<ScoreSet>
|
|
<BaseScore>5.5</BaseScore>
|
|
<Vector>AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:N</Vector>
|
|
</ScoreSet>
|
|
</CVSSScoreSets>
|
|
<Remediations>
|
|
<Remediation Type="Vendor Fix">
|
|
<Description>kernel security update</Description>
|
|
<DATE>2024-06-14</DATE>
|
|
<URL>https://www.openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2024-1706</URL>
|
|
</Remediation>
|
|
</Remediations>
|
|
</Vulnerability>
|
|
<Vulnerability Ordinal="34" xmlns="http://www.icasi.org/CVRF/schema/vuln/1.1">
|
|
<Notes>
|
|
<Note Title="Vulnerability Description" Type="General" Ordinal="34" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
erspan: make sure erspan_base_hdr is present in skb->head
|
|
|
|
syzbot reported a problem in ip6erspan_rcv() [1]
|
|
|
|
Issue is that ip6erspan_rcv() (and erspan_rcv()) no longer make
|
|
sure erspan_base_hdr is present in skb linear part (skb->head)
|
|
before getting @ver field from it.
|
|
|
|
Add the missing pskb_may_pull() calls.
|
|
|
|
v2: Reload iph pointer in erspan_rcv() after pskb_may_pull()
|
|
because skb->head might have changed.
|
|
|
|
[1]
|
|
|
|
BUG: KMSAN: uninit-value in pskb_may_pull_reason include/linux/skbuff.h:2742 [inline]
|
|
BUG: KMSAN: uninit-value in pskb_may_pull include/linux/skbuff.h:2756 [inline]
|
|
BUG: KMSAN: uninit-value in ip6erspan_rcv net/ipv6/ip6_gre.c:541 [inline]
|
|
BUG: KMSAN: uninit-value in gre_rcv+0x11f8/0x1930 net/ipv6/ip6_gre.c:610
|
|
pskb_may_pull_reason include/linux/skbuff.h:2742 [inline]
|
|
pskb_may_pull include/linux/skbuff.h:2756 [inline]
|
|
ip6erspan_rcv net/ipv6/ip6_gre.c:541 [inline]
|
|
gre_rcv+0x11f8/0x1930 net/ipv6/ip6_gre.c:610
|
|
ip6_protocol_deliver_rcu+0x1d4c/0x2ca0 net/ipv6/ip6_input.c:438
|
|
ip6_input_finish net/ipv6/ip6_input.c:483 [inline]
|
|
NF_HOOK include/linux/netfilter.h:314 [inline]
|
|
ip6_input+0x15d/0x430 net/ipv6/ip6_input.c:492
|
|
ip6_mc_input+0xa7e/0xc80 net/ipv6/ip6_input.c:586
|
|
dst_input include/net/dst.h:460 [inline]
|
|
ip6_rcv_finish+0x955/0x970 net/ipv6/ip6_input.c:79
|
|
NF_HOOK include/linux/netfilter.h:314 [inline]
|
|
ipv6_rcv+0xde/0x390 net/ipv6/ip6_input.c:310
|
|
__netif_receive_skb_one_core net/core/dev.c:5538 [inline]
|
|
__netif_receive_skb+0x1da/0xa00 net/core/dev.c:5652
|
|
netif_receive_skb_internal net/core/dev.c:5738 [inline]
|
|
netif_receive_skb+0x58/0x660 net/core/dev.c:5798
|
|
tun_rx_batched+0x3ee/0x980 drivers/net/tun.c:1549
|
|
tun_get_user+0x5566/0x69e0 drivers/net/tun.c:2002
|
|
tun_chr_write_iter+0x3af/0x5d0 drivers/net/tun.c:2048
|
|
call_write_iter include/linux/fs.h:2108 [inline]
|
|
new_sync_write fs/read_write.c:497 [inline]
|
|
vfs_write+0xb63/0x1520 fs/read_write.c:590
|
|
ksys_write+0x20f/0x4c0 fs/read_write.c:643
|
|
__do_sys_write fs/read_write.c:655 [inline]
|
|
__se_sys_write fs/read_write.c:652 [inline]
|
|
__x64_sys_write+0x93/0xe0 fs/read_write.c:652
|
|
do_syscall_64+0xd5/0x1f0
|
|
entry_SYSCALL_64_after_hwframe+0x6d/0x75
|
|
|
|
Uninit was created at:
|
|
slab_post_alloc_hook mm/slub.c:3804 [inline]
|
|
slab_alloc_node mm/slub.c:3845 [inline]
|
|
kmem_cache_alloc_node+0x613/0xc50 mm/slub.c:3888
|
|
kmalloc_reserve+0x13d/0x4a0 net/core/skbuff.c:577
|
|
__alloc_skb+0x35b/0x7a0 net/core/skbuff.c:668
|
|
alloc_skb include/linux/skbuff.h:1318 [inline]
|
|
alloc_skb_with_frags+0xc8/0xbf0 net/core/skbuff.c:6504
|
|
sock_alloc_send_pskb+0xa81/0xbf0 net/core/sock.c:2795
|
|
tun_alloc_skb drivers/net/tun.c:1525 [inline]
|
|
tun_get_user+0x209a/0x69e0 drivers/net/tun.c:1846
|
|
tun_chr_write_iter+0x3af/0x5d0 drivers/net/tun.c:2048
|
|
call_write_iter include/linux/fs.h:2108 [inline]
|
|
new_sync_write fs/read_write.c:497 [inline]
|
|
vfs_write+0xb63/0x1520 fs/read_write.c:590
|
|
ksys_write+0x20f/0x4c0 fs/read_write.c:643
|
|
__do_sys_write fs/read_write.c:655 [inline]
|
|
__se_sys_write fs/read_write.c:652 [inline]
|
|
__x64_sys_write+0x93/0xe0 fs/read_write.c:652
|
|
do_syscall_64+0xd5/0x1f0
|
|
entry_SYSCALL_64_after_hwframe+0x6d/0x75
|
|
|
|
CPU: 1 PID: 5045 Comm: syz-executor114 Not tainted 6.9.0-rc1-syzkaller-00021-g962490525cff #0</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-06-14</ReleaseDate>
|
|
<CVE>CVE-2024-35888</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-22.03-LTS-SP1</ProductID>
|
|
</Status>
|
|
</ProductStatuses>
|
|
<Threats>
|
|
<Threat Type="Impact">
|
|
<Description>Medium</Description>
|
|
</Threat>
|
|
</Threats>
|
|
<CVSSScoreSets>
|
|
<ScoreSet>
|
|
<BaseScore>5.5</BaseScore>
|
|
<Vector>AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:N</Vector>
|
|
</ScoreSet>
|
|
</CVSSScoreSets>
|
|
<Remediations>
|
|
<Remediation Type="Vendor Fix">
|
|
<Description>kernel security update</Description>
|
|
<DATE>2024-06-14</DATE>
|
|
<URL>https://www.openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2024-1706</URL>
|
|
</Remediation>
|
|
</Remediations>
|
|
</Vulnerability>
|
|
<Vulnerability Ordinal="35" xmlns="http://www.icasi.org/CVRF/schema/vuln/1.1">
|
|
<Notes>
|
|
<Note Title="Vulnerability Description" Type="General" Ordinal="35" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
bpf, sockmap: Prevent lock inversion deadlock in map delete elem
|
|
|
|
syzkaller started using corpuses where a BPF tracing program deletes
|
|
elements from a sockmap/sockhash map. Because BPF tracing programs can be
|
|
invoked from any interrupt context, locks taken during a map_delete_elem
|
|
operation must be hardirq-safe. Otherwise a deadlock due to lock inversion
|
|
is possible, as reported by lockdep:
|
|
|
|
CPU0 CPU1
|
|
---- ----
|
|
lock(&htab->buckets[i].lock);
|
|
local_irq_disable();
|
|
lock(&host->lock);
|
|
lock(&htab->buckets[i].lock);
|
|
<Interrupt>
|
|
lock(&host->lock);
|
|
|
|
Locks in sockmap are hardirq-unsafe by design. We expects elements to be
|
|
deleted from sockmap/sockhash only in task (normal) context with interrupts
|
|
enabled, or in softirq context.
|
|
|
|
Detect when map_delete_elem operation is invoked from a context which is
|
|
_not_ hardirq-unsafe, that is interrupts are disabled, and bail out with an
|
|
error.
|
|
|
|
Note that map updates are not affected by this issue. BPF verifier does not
|
|
allow updating sockmap/sockhash from a BPF tracing program today.</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-06-14</ReleaseDate>
|
|
<CVE>CVE-2024-35895</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-22.03-LTS-SP1</ProductID>
|
|
</Status>
|
|
</ProductStatuses>
|
|
<Threats>
|
|
<Threat Type="Impact">
|
|
<Description>Medium</Description>
|
|
</Threat>
|
|
</Threats>
|
|
<CVSSScoreSets>
|
|
<ScoreSet>
|
|
<BaseScore>5.5</BaseScore>
|
|
<Vector>AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:N</Vector>
|
|
</ScoreSet>
|
|
</CVSSScoreSets>
|
|
<Remediations>
|
|
<Remediation Type="Vendor Fix">
|
|
<Description>kernel security update</Description>
|
|
<DATE>2024-06-14</DATE>
|
|
<URL>https://www.openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2024-1706</URL>
|
|
</Remediation>
|
|
</Remediations>
|
|
</Vulnerability>
|
|
<Vulnerability Ordinal="36" xmlns="http://www.icasi.org/CVRF/schema/vuln/1.1">
|
|
<Notes>
|
|
<Note Title="Vulnerability Description" Type="General" Ordinal="36" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
netfilter: validate user input for expected length
|
|
|
|
I got multiple syzbot reports showing old bugs exposed
|
|
by BPF after commit 20f2505fb436 ("bpf: Try to avoid kzalloc
|
|
in cgroup/{s,g}etsockopt")
|
|
|
|
setsockopt() @optlen argument should be taken into account
|
|
before copying data.
|
|
|
|
BUG: KASAN: slab-out-of-bounds in copy_from_sockptr_offset include/linux/sockptr.h:49 [inline]
|
|
BUG: KASAN: slab-out-of-bounds in copy_from_sockptr include/linux/sockptr.h:55 [inline]
|
|
BUG: KASAN: slab-out-of-bounds in do_replace net/ipv4/netfilter/ip_tables.c:1111 [inline]
|
|
BUG: KASAN: slab-out-of-bounds in do_ipt_set_ctl+0x902/0x3dd0 net/ipv4/netfilter/ip_tables.c:1627
|
|
Read of size 96 at addr ffff88802cd73da0 by task syz-executor.4/7238
|
|
|
|
CPU: 1 PID: 7238 Comm: syz-executor.4 Not tainted 6.9.0-rc2-next-20240403-syzkaller #0
|
|
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 03/27/2024
|
|
Call Trace:
|
|
<TASK>
|
|
__dump_stack lib/dump_stack.c:88 [inline]
|
|
dump_stack_lvl+0x241/0x360 lib/dump_stack.c:114
|
|
print_address_description mm/kasan/report.c:377 [inline]
|
|
print_report+0x169/0x550 mm/kasan/report.c:488
|
|
kasan_report+0x143/0x180 mm/kasan/report.c:601
|
|
kasan_check_range+0x282/0x290 mm/kasan/generic.c:189
|
|
__asan_memcpy+0x29/0x70 mm/kasan/shadow.c:105
|
|
copy_from_sockptr_offset include/linux/sockptr.h:49 [inline]
|
|
copy_from_sockptr include/linux/sockptr.h:55 [inline]
|
|
do_replace net/ipv4/netfilter/ip_tables.c:1111 [inline]
|
|
do_ipt_set_ctl+0x902/0x3dd0 net/ipv4/netfilter/ip_tables.c:1627
|
|
nf_setsockopt+0x295/0x2c0 net/netfilter/nf_sockopt.c:101
|
|
do_sock_setsockopt+0x3af/0x720 net/socket.c:2311
|
|
__sys_setsockopt+0x1ae/0x250 net/socket.c:2334
|
|
__do_sys_setsockopt net/socket.c:2343 [inline]
|
|
__se_sys_setsockopt net/socket.c:2340 [inline]
|
|
__x64_sys_setsockopt+0xb5/0xd0 net/socket.c:2340
|
|
do_syscall_64+0xfb/0x240
|
|
entry_SYSCALL_64_after_hwframe+0x72/0x7a
|
|
RIP: 0033:0x7fd22067dde9
|
|
Code: 28 00 00 00 75 05 48 83 c4 28 c3 e8 e1 20 00 00 90 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 c7 c1 b0 ff ff ff f7 d8 64 89 01 48
|
|
RSP: 002b:00007fd21f9ff0c8 EFLAGS: 00000246 ORIG_RAX: 0000000000000036
|
|
RAX: ffffffffffffffda RBX: 00007fd2207abf80 RCX: 00007fd22067dde9
|
|
RDX: 0000000000000040 RSI: 0000000000000000 RDI: 0000000000000003
|
|
RBP: 00007fd2206ca47a R08: 0000000000000001 R09: 0000000000000000
|
|
R10: 0000000020000880 R11: 0000000000000246 R12: 0000000000000000
|
|
R13: 000000000000000b R14: 00007fd2207abf80 R15: 00007ffd2d0170d8
|
|
</TASK>
|
|
|
|
Allocated by task 7238:
|
|
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:370 [inline]
|
|
__kasan_kmalloc+0x98/0xb0 mm/kasan/common.c:387
|
|
kasan_kmalloc include/linux/kasan.h:211 [inline]
|
|
__do_kmalloc_node mm/slub.c:4069 [inline]
|
|
__kmalloc_noprof+0x200/0x410 mm/slub.c:4082
|
|
kmalloc_noprof include/linux/slab.h:664 [inline]
|
|
__cgroup_bpf_run_filter_setsockopt+0xd47/0x1050 kernel/bpf/cgroup.c:1869
|
|
do_sock_setsockopt+0x6b4/0x720 net/socket.c:2293
|
|
__sys_setsockopt+0x1ae/0x250 net/socket.c:2334
|
|
__do_sys_setsockopt net/socket.c:2343 [inline]
|
|
__se_sys_setsockopt net/socket.c:2340 [inline]
|
|
__x64_sys_setsockopt+0xb5/0xd0 net/socket.c:2340
|
|
do_syscall_64+0xfb/0x240
|
|
entry_SYSCALL_64_after_hwframe+0x72/0x7a
|
|
|
|
The buggy address belongs to the object at ffff88802cd73da0
|
|
which belongs to the cache kmalloc-8 of size 8
|
|
The buggy address is located 0 bytes inside of
|
|
allocated 1-byte region [ffff88802cd73da0, ffff88802cd73da1)
|
|
|
|
The buggy address belongs to the physical page:
|
|
page: refcount:1 mapcount:0 mapping:0000000000000000 index:0xffff88802cd73020 pfn:0x2cd73
|
|
flags: 0xfff80000000000(node=0|zone=1|lastcpupid=0xfff)
|
|
page_type: 0xffffefff(slab)
|
|
raw: 00fff80000000000 ffff888015041280 dead000000000100 dead000000000122
|
|
raw: ffff88802cd73020 000000008080007f 00000001ffffefff 00
|
|
---truncated---</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-06-14</ReleaseDate>
|
|
<CVE>CVE-2024-35896</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-22.03-LTS-SP1</ProductID>
|
|
</Status>
|
|
</ProductStatuses>
|
|
<Threats>
|
|
<Threat Type="Impact">
|
|
<Description>Medium</Description>
|
|
</Threat>
|
|
</Threats>
|
|
<CVSSScoreSets>
|
|
<ScoreSet>
|
|
<BaseScore>5.5</BaseScore>
|
|
<Vector>AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:N</Vector>
|
|
</ScoreSet>
|
|
</CVSSScoreSets>
|
|
<Remediations>
|
|
<Remediation Type="Vendor Fix">
|
|
<Description>kernel security update</Description>
|
|
<DATE>2024-06-14</DATE>
|
|
<URL>https://www.openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2024-1706</URL>
|
|
</Remediation>
|
|
</Remediations>
|
|
</Vulnerability>
|
|
<Vulnerability Ordinal="37" xmlns="http://www.icasi.org/CVRF/schema/vuln/1.1">
|
|
<Notes>
|
|
<Note Title="Vulnerability Description" Type="General" Ordinal="37" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
bpf: Protect against int overflow for stack access size
|
|
|
|
This patch re-introduces protection against the size of access to stack
|
|
memory being negative; the access size can appear negative as a result
|
|
of overflowing its signed int representation. This should not actually
|
|
happen, as there are other protections along the way, but we should
|
|
protect against it anyway. One code path was missing such protections
|
|
(fixed in the previous patch in the series), causing out-of-bounds array
|
|
accesses in check_stack_range_initialized(). This patch causes the
|
|
verification of a program with such a non-sensical access size to fail.
|
|
|
|
This check used to exist in a more indirect way, but was inadvertendly
|
|
removed in a833a17aeac7.</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-06-14</ReleaseDate>
|
|
<CVE>CVE-2024-35905</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-22.03-LTS-SP1</ProductID>
|
|
</Status>
|
|
</ProductStatuses>
|
|
<Threats>
|
|
<Threat Type="Impact">
|
|
<Description>Medium</Description>
|
|
</Threat>
|
|
</Threats>
|
|
<CVSSScoreSets>
|
|
<ScoreSet>
|
|
<BaseScore>5.5</BaseScore>
|
|
<Vector>AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:N</Vector>
|
|
</ScoreSet>
|
|
</CVSSScoreSets>
|
|
<Remediations>
|
|
<Remediation Type="Vendor Fix">
|
|
<Description>kernel security update</Description>
|
|
<DATE>2024-06-14</DATE>
|
|
<URL>https://www.openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2024-1706</URL>
|
|
</Remediation>
|
|
</Remediations>
|
|
</Vulnerability>
|
|
<Vulnerability Ordinal="38" xmlns="http://www.icasi.org/CVRF/schema/vuln/1.1">
|
|
<Notes>
|
|
<Note Title="Vulnerability Description" Type="General" Ordinal="38" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
nfc: nci: Fix uninit-value in nci_dev_up and nci_ntf_packet
|
|
|
|
syzbot reported the following uninit-value access issue [1][2]:
|
|
|
|
nci_rx_work() parses and processes received packet. When the payload
|
|
length is zero, each message type handler reads uninitialized payload
|
|
and KMSAN detects this issue. The receipt of a packet with a zero-size
|
|
payload is considered unexpected, and therefore, such packets should be
|
|
silently discarded.
|
|
|
|
This patch resolved this issue by checking payload size before calling
|
|
each message type handler codes.</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-06-14</ReleaseDate>
|
|
<CVE>CVE-2024-35915</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-22.03-LTS-SP1</ProductID>
|
|
</Status>
|
|
</ProductStatuses>
|
|
<Threats>
|
|
<Threat Type="Impact">
|
|
<Description>Low</Description>
|
|
</Threat>
|
|
</Threats>
|
|
<CVSSScoreSets>
|
|
<ScoreSet>
|
|
<BaseScore>0.0</BaseScore>
|
|
<Vector>AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:N</Vector>
|
|
</ScoreSet>
|
|
</CVSSScoreSets>
|
|
<Remediations>
|
|
<Remediation Type="Vendor Fix">
|
|
<Description>kernel security update</Description>
|
|
<DATE>2024-06-14</DATE>
|
|
<URL>https://www.openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2024-1706</URL>
|
|
</Remediation>
|
|
</Remediations>
|
|
</Vulnerability>
|
|
<Vulnerability Ordinal="39" xmlns="http://www.icasi.org/CVRF/schema/vuln/1.1">
|
|
<Notes>
|
|
<Note Title="Vulnerability Description" Type="General" Ordinal="39" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
usb: typec: ucsi: Limit read size on v1.2
|
|
|
|
Between UCSI 1.2 and UCSI 2.0, the size of the MESSAGE_IN region was
|
|
increased from 16 to 256. In order to avoid overflowing reads for older
|
|
systems, add a mechanism to use the read UCSI version to truncate read
|
|
sizes on UCSI v1.2.</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-06-14</ReleaseDate>
|
|
<CVE>CVE-2024-35924</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-22.03-LTS-SP1</ProductID>
|
|
</Status>
|
|
</ProductStatuses>
|
|
<Threats>
|
|
<Threat Type="Impact">
|
|
<Description>Medium</Description>
|
|
</Threat>
|
|
</Threats>
|
|
<CVSSScoreSets>
|
|
<ScoreSet>
|
|
<BaseScore>5.5</BaseScore>
|
|
<Vector>AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:N</Vector>
|
|
</ScoreSet>
|
|
</CVSSScoreSets>
|
|
<Remediations>
|
|
<Remediation Type="Vendor Fix">
|
|
<Description>kernel security update</Description>
|
|
<DATE>2024-06-14</DATE>
|
|
<URL>https://www.openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2024-1706</URL>
|
|
</Remediation>
|
|
</Remediations>
|
|
</Vulnerability>
|
|
<Vulnerability Ordinal="40" xmlns="http://www.icasi.org/CVRF/schema/vuln/1.1">
|
|
<Notes>
|
|
<Note Title="Vulnerability Description" Type="General" Ordinal="40" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
block: prevent division by zero in blk_rq_stat_sum()
|
|
|
|
The expression dst->nr_samples + src->nr_samples may
|
|
have zero value on overflow. It is necessary to add
|
|
a check to avoid division by zero.
|
|
|
|
Found by Linux Verification Center (linuxtesting.org) with Svace.</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-06-14</ReleaseDate>
|
|
<CVE>CVE-2024-35925</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-22.03-LTS-SP1</ProductID>
|
|
</Status>
|
|
</ProductStatuses>
|
|
<Threats>
|
|
<Threat Type="Impact">
|
|
<Description>Medium</Description>
|
|
</Threat>
|
|
</Threats>
|
|
<CVSSScoreSets>
|
|
<ScoreSet>
|
|
<BaseScore>5.5</BaseScore>
|
|
<Vector>AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:N</Vector>
|
|
</ScoreSet>
|
|
</CVSSScoreSets>
|
|
<Remediations>
|
|
<Remediation Type="Vendor Fix">
|
|
<Description>kernel security update</Description>
|
|
<DATE>2024-06-14</DATE>
|
|
<URL>https://www.openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2024-1706</URL>
|
|
</Remediation>
|
|
</Remediations>
|
|
</Vulnerability>
|
|
<Vulnerability Ordinal="41" xmlns="http://www.icasi.org/CVRF/schema/vuln/1.1">
|
|
<Notes>
|
|
<Note Title="Vulnerability Description" Type="General" Ordinal="41" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
Bluetooth: SCO: Fix not validating setsockopt user input
|
|
|
|
syzbot reported sco_sock_setsockopt() is copying data without
|
|
checking user input length.
|
|
|
|
BUG: KASAN: slab-out-of-bounds in copy_from_sockptr_offset
|
|
include/linux/sockptr.h:49 [inline]
|
|
BUG: KASAN: slab-out-of-bounds in copy_from_sockptr
|
|
include/linux/sockptr.h:55 [inline]
|
|
BUG: KASAN: slab-out-of-bounds in sco_sock_setsockopt+0xc0b/0xf90
|
|
net/bluetooth/sco.c:893
|
|
Read of size 4 at addr ffff88805f7b15a3 by task syz-executor.5/12578</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-06-14</ReleaseDate>
|
|
<CVE>CVE-2024-35967</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-22.03-LTS-SP1</ProductID>
|
|
</Status>
|
|
</ProductStatuses>
|
|
<Threats>
|
|
<Threat Type="Impact">
|
|
<Description>Medium</Description>
|
|
</Threat>
|
|
</Threats>
|
|
<CVSSScoreSets>
|
|
<ScoreSet>
|
|
<BaseScore>5.5</BaseScore>
|
|
<Vector>AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:N</Vector>
|
|
</ScoreSet>
|
|
</CVSSScoreSets>
|
|
<Remediations>
|
|
<Remediation Type="Vendor Fix">
|
|
<Description>kernel security update</Description>
|
|
<DATE>2024-06-14</DATE>
|
|
<URL>https://www.openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2024-1706</URL>
|
|
</Remediation>
|
|
</Remediations>
|
|
</Vulnerability>
|
|
<Vulnerability Ordinal="42" xmlns="http://www.icasi.org/CVRF/schema/vuln/1.1">
|
|
<Notes>
|
|
<Note Title="Vulnerability Description" Type="General" Ordinal="42" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
geneve: fix header validation in geneve[6]_xmit_skb
|
|
|
|
syzbot is able to trigger an uninit-value in geneve_xmit() [1]
|
|
|
|
Problem : While most ip tunnel helpers (like ip_tunnel_get_dsfield())
|
|
uses skb_protocol(skb, true), pskb_inet_may_pull() is only using
|
|
skb->protocol.
|
|
|
|
If anything else than ETH_P_IPV6 or ETH_P_IP is found in skb->protocol,
|
|
pskb_inet_may_pull() does nothing at all.
|
|
|
|
If a vlan tag was provided by the caller (af_packet in the syzbot case),
|
|
the network header might not point to the correct location, and skb
|
|
linear part could be smaller than expected.
|
|
|
|
Add skb_vlan_inet_prepare() to perform a complete mac validation.
|
|
|
|
Use this in geneve for the moment, I suspect we need to adopt this
|
|
more broadly.
|
|
|
|
v4 - Jakub reported v3 broke l2_tos_ttl_inherit.sh selftest
|
|
- Only call __vlan_get_protocol() for vlan types.
|
|
|
|
v2,v3 - Addressed Sabrina comments on v1 and v2
|
|
|
|
[1]
|
|
|
|
BUG: KMSAN: uninit-value in geneve_xmit_skb drivers/net/geneve.c:910 [inline]
|
|
BUG: KMSAN: uninit-value in geneve_xmit+0x302d/0x5420 drivers/net/geneve.c:1030
|
|
geneve_xmit_skb drivers/net/geneve.c:910 [inline]
|
|
geneve_xmit+0x302d/0x5420 drivers/net/geneve.c:1030
|
|
__netdev_start_xmit include/linux/netdevice.h:4903 [inline]
|
|
netdev_start_xmit include/linux/netdevice.h:4917 [inline]
|
|
xmit_one net/core/dev.c:3531 [inline]
|
|
dev_hard_start_xmit+0x247/0xa20 net/core/dev.c:3547
|
|
__dev_queue_xmit+0x348d/0x52c0 net/core/dev.c:4335
|
|
dev_queue_xmit include/linux/netdevice.h:3091 [inline]
|
|
packet_xmit+0x9c/0x6c0 net/packet/af_packet.c:276
|
|
packet_snd net/packet/af_packet.c:3081 [inline]
|
|
packet_sendmsg+0x8bb0/0x9ef0 net/packet/af_packet.c:3113
|
|
sock_sendmsg_nosec net/socket.c:730 [inline]
|
|
__sock_sendmsg+0x30f/0x380 net/socket.c:745
|
|
__sys_sendto+0x685/0x830 net/socket.c:2191
|
|
__do_sys_sendto net/socket.c:2203 [inline]
|
|
__se_sys_sendto net/socket.c:2199 [inline]
|
|
__x64_sys_sendto+0x125/0x1d0 net/socket.c:2199
|
|
do_syscall_64+0xd5/0x1f0
|
|
entry_SYSCALL_64_after_hwframe+0x6d/0x75
|
|
|
|
Uninit was created at:
|
|
slab_post_alloc_hook mm/slub.c:3804 [inline]
|
|
slab_alloc_node mm/slub.c:3845 [inline]
|
|
kmem_cache_alloc_node+0x613/0xc50 mm/slub.c:3888
|
|
kmalloc_reserve+0x13d/0x4a0 net/core/skbuff.c:577
|
|
__alloc_skb+0x35b/0x7a0 net/core/skbuff.c:668
|
|
alloc_skb include/linux/skbuff.h:1318 [inline]
|
|
alloc_skb_with_frags+0xc8/0xbf0 net/core/skbuff.c:6504
|
|
sock_alloc_send_pskb+0xa81/0xbf0 net/core/sock.c:2795
|
|
packet_alloc_skb net/packet/af_packet.c:2930 [inline]
|
|
packet_snd net/packet/af_packet.c:3024 [inline]
|
|
packet_sendmsg+0x722d/0x9ef0 net/packet/af_packet.c:3113
|
|
sock_sendmsg_nosec net/socket.c:730 [inline]
|
|
__sock_sendmsg+0x30f/0x380 net/socket.c:745
|
|
__sys_sendto+0x685/0x830 net/socket.c:2191
|
|
__do_sys_sendto net/socket.c:2203 [inline]
|
|
__se_sys_sendto net/socket.c:2199 [inline]
|
|
__x64_sys_sendto+0x125/0x1d0 net/socket.c:2199
|
|
do_syscall_64+0xd5/0x1f0
|
|
entry_SYSCALL_64_after_hwframe+0x6d/0x75
|
|
|
|
CPU: 0 PID: 5033 Comm: syz-executor346 Not tainted 6.9.0-rc1-syzkaller-00005-g928a87efa423 #0
|
|
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 02/29/2024</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-06-14</ReleaseDate>
|
|
<CVE>CVE-2024-35973</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-22.03-LTS-SP1</ProductID>
|
|
</Status>
|
|
</ProductStatuses>
|
|
<Threats>
|
|
<Threat Type="Impact">
|
|
<Description>Medium</Description>
|
|
</Threat>
|
|
</Threats>
|
|
<CVSSScoreSets>
|
|
<ScoreSet>
|
|
<BaseScore>5.5</BaseScore>
|
|
<Vector>AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:N</Vector>
|
|
</ScoreSet>
|
|
</CVSSScoreSets>
|
|
<Remediations>
|
|
<Remediation Type="Vendor Fix">
|
|
<Description>kernel security update</Description>
|
|
<DATE>2024-06-14</DATE>
|
|
<URL>https://www.openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2024-1706</URL>
|
|
</Remediation>
|
|
</Remediations>
|
|
</Vulnerability>
|
|
<Vulnerability Ordinal="43" xmlns="http://www.icasi.org/CVRF/schema/vuln/1.1">
|
|
<Notes>
|
|
<Note Title="Vulnerability Description" Type="General" Ordinal="43" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:ipv4: check for NULL idev in ip_route_use_hint()syzbot was able to trigger a NULL deref in fib_validate_source()in an old tree [1].It appears the bug exists in latest trees.All calls to __in_dev_get_rcu() must be checked for a NULL result.[1]general protection fault, probably for non-canonical address 0xdffffc0000000000: 0000 [#1] SMP KASANKASAN: null-ptr-deref in range [0x0000000000000000-0x0000000000000007]CPU: 2 PID: 3257 Comm: syz-executor.3 Not tainted 5.10.0-syzkaller #0Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 RIP: 0010:fib_validate_source+0xbf/0x15a0 net/ipv4/fib_frontend.c:425Code: 18 f2 f2 f2 f2 42 c7 44 20 23 f3 f3 f3 f3 48 89 44 24 78 42 c6 44 20 27 f3 e8 5d 88 48 fc 4c 89 e8 48 c1 e8 03 48 89 44 24 18 <42> 80 3c 20 00 74 08 4c 89 ef e8 d2 15 98 fc 48 89 5c 24 10 41 bfRSP: 0018:ffffc900015fee40 EFLAGS: 00010246RAX: 0000000000000000 RBX: ffff88800f7a4000 RCX: ffff88800f4f90c0RDX: 0000000000000000 RSI: 0000000004001eac RDI: ffff8880160c64c0RBP: ffffc900015ff060 R08: 0000000000000000 R09: ffff88800f7a4000R10: 0000000000000002 R11: ffff88800f4f90c0 R12: dffffc0000000000R13: 0000000000000000 R14: 0000000000000000 R15: ffff88800f7a4000FS: 00007f938acfe6c0(0000) GS:ffff888058c00000(0000) knlGS:0000000000000000CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033CR2: 00007f938acddd58 CR3: 000000001248e000 CR4: 0000000000352ef0DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400Call Trace: ip_route_use_hint+0x410/0x9b0 net/ipv4/route.c:2231 ip_rcv_finish_core+0x2c4/0x1a30 net/ipv4/ip_input.c:327 ip_list_rcv_finish net/ipv4/ip_input.c:612 [inline] ip_sublist_rcv+0x3ed/0xe50 net/ipv4/ip_input.c:638 ip_list_rcv+0x422/0x470 net/ipv4/ip_input.c:673 __netif_receive_skb_list_ptype net/core/dev.c:5572 [inline] __netif_receive_skb_list_core+0x6b1/0x890 net/core/dev.c:5620 __netif_receive_skb_list net/core/dev.c:5672 [inline] netif_receive_skb_list_internal+0x9f9/0xdc0 net/core/dev.c:5764 netif_receive_skb_list+0x55/0x3e0 net/core/dev.c:5816 xdp_recv_frames net/bpf/test_run.c:257 [inline] xdp_test_run_batch net/bpf/test_run.c:335 [inline] bpf_test_run_xdp_live+0x1818/0x1d00 net/bpf/test_run.c:363 bpf_prog_test_run_xdp+0x81f/0x1170 net/bpf/test_run.c:1376 bpf_prog_test_run+0x349/0x3c0 kernel/bpf/syscall.c:3736 __sys_bpf+0x45c/0x710 kernel/bpf/syscall.c:5115 __do_sys_bpf kernel/bpf/syscall.c:5201 [inline] __se_sys_bpf kernel/bpf/syscall.c:5199 [inline] __x64_sys_bpf+0x7c/0x90 kernel/bpf/syscall.c:5199</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-06-14</ReleaseDate>
|
|
<CVE>CVE-2024-36008</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-22.03-LTS-SP1</ProductID>
|
|
</Status>
|
|
</ProductStatuses>
|
|
<Threats>
|
|
<Threat Type="Impact">
|
|
<Description>Medium</Description>
|
|
</Threat>
|
|
</Threats>
|
|
<CVSSScoreSets>
|
|
<ScoreSet>
|
|
<BaseScore>5.5</BaseScore>
|
|
<Vector>AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:N</Vector>
|
|
</ScoreSet>
|
|
</CVSSScoreSets>
|
|
<Remediations>
|
|
<Remediation Type="Vendor Fix">
|
|
<Description>kernel security update</Description>
|
|
<DATE>2024-06-14</DATE>
|
|
<URL>https://www.openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2024-1706</URL>
|
|
</Remediation>
|
|
</Remediations>
|
|
</Vulnerability>
|
|
<Vulnerability Ordinal="44" xmlns="http://www.icasi.org/CVRF/schema/vuln/1.1">
|
|
<Notes>
|
|
<Note Title="Vulnerability Description" Type="General" Ordinal="44" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
rtnetlink: Correct nested IFLA_VF_VLAN_LIST attribute validation
|
|
|
|
Each attribute inside a nested IFLA_VF_VLAN_LIST is assumed to be a
|
|
struct ifla_vf_vlan_info so the size of such attribute needs to be at least
|
|
of sizeof(struct ifla_vf_vlan_info) which is 14 bytes.
|
|
The current size validation in do_setvfinfo is against NLA_HDRLEN (4 bytes)
|
|
which is less than sizeof(struct ifla_vf_vlan_info) so this validation
|
|
is not enough and a too small attribute might be cast to a
|
|
struct ifla_vf_vlan_info, this might result in an out of bands
|
|
read access when accessing the saved (casted) entry in ivvl.</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-06-14</ReleaseDate>
|
|
<CVE>CVE-2024-36017</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-22.03-LTS-SP1</ProductID>
|
|
</Status>
|
|
</ProductStatuses>
|
|
<Threats>
|
|
<Threat Type="Impact">
|
|
<Description>Medium</Description>
|
|
</Threat>
|
|
</Threats>
|
|
<CVSSScoreSets>
|
|
<ScoreSet>
|
|
<BaseScore>5.5</BaseScore>
|
|
<Vector>AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:N</Vector>
|
|
</ScoreSet>
|
|
</CVSSScoreSets>
|
|
<Remediations>
|
|
<Remediation Type="Vendor Fix">
|
|
<Description>kernel security update</Description>
|
|
<DATE>2024-06-14</DATE>
|
|
<URL>https://www.openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2024-1706</URL>
|
|
</Remediation>
|
|
</Remediations>
|
|
</Vulnerability>
|
|
<Vulnerability Ordinal="45" xmlns="http://www.icasi.org/CVRF/schema/vuln/1.1">
|
|
<Notes>
|
|
<Note Title="Vulnerability Description" Type="General" Ordinal="45" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
net: hns3: fix kernel crash when devlink reload during pf initialization
|
|
|
|
The devlink reload process will access the hardware resources,
|
|
but the register operation is done before the hardware is initialized.
|
|
So, processing the devlink reload during initialization may lead to kernel
|
|
crash. This patch fixes this by taking devl_lock during initialization.</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-06-14</ReleaseDate>
|
|
<CVE>CVE-2024-36021</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-22.03-LTS-SP1</ProductID>
|
|
</Status>
|
|
</ProductStatuses>
|
|
<Threats>
|
|
<Threat Type="Impact">
|
|
<Description>Medium</Description>
|
|
</Threat>
|
|
</Threats>
|
|
<CVSSScoreSets>
|
|
<ScoreSet>
|
|
<BaseScore>5.5</BaseScore>
|
|
<Vector>AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:N</Vector>
|
|
</ScoreSet>
|
|
</CVSSScoreSets>
|
|
<Remediations>
|
|
<Remediation Type="Vendor Fix">
|
|
<Description>kernel security update</Description>
|
|
<DATE>2024-06-14</DATE>
|
|
<URL>https://www.openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2024-1706</URL>
|
|
</Remediation>
|
|
</Remediations>
|
|
</Vulnerability>
|
|
<Vulnerability Ordinal="46" xmlns="http://www.icasi.org/CVRF/schema/vuln/1.1">
|
|
<Notes>
|
|
<Note Title="Vulnerability Description" Type="General" Ordinal="46" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
mmc: sdhci-msm: pervent access to suspended controller
|
|
|
|
Generic sdhci code registers LED device and uses host->runtime_suspended
|
|
flag to protect access to it. The sdhci-msm driver doesn't set this flag,
|
|
which causes a crash when LED is accessed while controller is runtime
|
|
suspended. Fix this by setting the flag correctly.</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-06-14</ReleaseDate>
|
|
<CVE>CVE-2024-36029</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-22.03-LTS-SP1</ProductID>
|
|
</Status>
|
|
</ProductStatuses>
|
|
<Threats>
|
|
<Threat Type="Impact">
|
|
<Description>Medium</Description>
|
|
</Threat>
|
|
</Threats>
|
|
<CVSSScoreSets>
|
|
<ScoreSet>
|
|
<BaseScore>5.5</BaseScore>
|
|
<Vector>AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:N</Vector>
|
|
</ScoreSet>
|
|
</CVSSScoreSets>
|
|
<Remediations>
|
|
<Remediation Type="Vendor Fix">
|
|
<Description>kernel security update</Description>
|
|
<DATE>2024-06-14</DATE>
|
|
<URL>https://www.openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2024-1706</URL>
|
|
</Remediation>
|
|
</Remediations>
|
|
</Vulnerability>
|
|
<Vulnerability Ordinal="47" xmlns="http://www.icasi.org/CVRF/schema/vuln/1.1">
|
|
<Notes>
|
|
<Note Title="Vulnerability Description" Type="General" Ordinal="47" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
net: fix out-of-bounds access in ops_init
|
|
|
|
net_alloc_generic is called by net_alloc, which is called without any
|
|
locking. It reads max_gen_ptrs, which is changed under pernet_ops_rwsem. It
|
|
is read twice, first to allocate an array, then to set s.len, which is
|
|
later used to limit the bounds of the array access.
|
|
|
|
It is possible that the array is allocated and another thread is
|
|
registering a new pernet ops, increments max_gen_ptrs, which is then used
|
|
to set s.len with a larger than allocated length for the variable array.
|
|
|
|
Fix it by reading max_gen_ptrs only once in net_alloc_generic. If
|
|
max_gen_ptrs is later incremented, it will be caught in net_assign_generic.</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-06-14</ReleaseDate>
|
|
<CVE>CVE-2024-36883</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-22.03-LTS-SP1</ProductID>
|
|
</Status>
|
|
</ProductStatuses>
|
|
<Threats>
|
|
<Threat Type="Impact">
|
|
<Description>Medium</Description>
|
|
</Threat>
|
|
</Threats>
|
|
<CVSSScoreSets>
|
|
<ScoreSet>
|
|
<BaseScore>5.5</BaseScore>
|
|
<Vector>AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:N</Vector>
|
|
</ScoreSet>
|
|
</CVSSScoreSets>
|
|
<Remediations>
|
|
<Remediation Type="Vendor Fix">
|
|
<Description>kernel security update</Description>
|
|
<DATE>2024-06-14</DATE>
|
|
<URL>https://www.openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2024-1706</URL>
|
|
</Remediation>
|
|
</Remediations>
|
|
</Vulnerability>
|
|
<Vulnerability Ordinal="48" xmlns="http://www.icasi.org/CVRF/schema/vuln/1.1">
|
|
<Notes>
|
|
<Note Title="Vulnerability Description" Type="General" Ordinal="48" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
tipc: fix UAF in error path
|
|
|
|
Sam Page (sam4k) working with Trend Micro Zero Day Initiative reported
|
|
a UAF in the tipc_buf_append() error path:
|
|
|
|
BUG: KASAN: slab-use-after-free in kfree_skb_list_reason+0x47e/0x4c0
|
|
linux/net/core/skbuff.c:1183
|
|
Read of size 8 at addr ffff88804d2a7c80 by task poc/8034
|
|
|
|
CPU: 1 PID: 8034 Comm: poc Not tainted 6.8.2 #1
|
|
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS
|
|
1.16.0-debian-1.16.0-5 04/01/2014
|
|
Call Trace:
|
|
<IRQ>
|
|
__dump_stack linux/lib/dump_stack.c:88
|
|
dump_stack_lvl+0xd9/0x1b0 linux/lib/dump_stack.c:106
|
|
print_address_description linux/mm/kasan/report.c:377
|
|
print_report+0xc4/0x620 linux/mm/kasan/report.c:488
|
|
kasan_report+0xda/0x110 linux/mm/kasan/report.c:601
|
|
kfree_skb_list_reason+0x47e/0x4c0 linux/net/core/skbuff.c:1183
|
|
skb_release_data+0x5af/0x880 linux/net/core/skbuff.c:1026
|
|
skb_release_all linux/net/core/skbuff.c:1094
|
|
__kfree_skb linux/net/core/skbuff.c:1108
|
|
kfree_skb_reason+0x12d/0x210 linux/net/core/skbuff.c:1144
|
|
kfree_skb linux/./include/linux/skbuff.h:1244
|
|
tipc_buf_append+0x425/0xb50 linux/net/tipc/msg.c:186
|
|
tipc_link_input+0x224/0x7c0 linux/net/tipc/link.c:1324
|
|
tipc_link_rcv+0x76e/0x2d70 linux/net/tipc/link.c:1824
|
|
tipc_rcv+0x45f/0x10f0 linux/net/tipc/node.c:2159
|
|
tipc_udp_recv+0x73b/0x8f0 linux/net/tipc/udp_media.c:390
|
|
udp_queue_rcv_one_skb+0xad2/0x1850 linux/net/ipv4/udp.c:2108
|
|
udp_queue_rcv_skb+0x131/0xb00 linux/net/ipv4/udp.c:2186
|
|
udp_unicast_rcv_skb+0x165/0x3b0 linux/net/ipv4/udp.c:2346
|
|
__udp4_lib_rcv+0x2594/0x3400 linux/net/ipv4/udp.c:2422
|
|
ip_protocol_deliver_rcu+0x30c/0x4e0 linux/net/ipv4/ip_input.c:205
|
|
ip_local_deliver_finish+0x2e4/0x520 linux/net/ipv4/ip_input.c:233
|
|
NF_HOOK linux/./include/linux/netfilter.h:314
|
|
NF_HOOK linux/./include/linux/netfilter.h:308
|
|
ip_local_deliver+0x18e/0x1f0 linux/net/ipv4/ip_input.c:254
|
|
dst_input linux/./include/net/dst.h:461
|
|
ip_rcv_finish linux/net/ipv4/ip_input.c:449
|
|
NF_HOOK linux/./include/linux/netfilter.h:314
|
|
NF_HOOK linux/./include/linux/netfilter.h:308
|
|
ip_rcv+0x2c5/0x5d0 linux/net/ipv4/ip_input.c:569
|
|
__netif_receive_skb_one_core+0x199/0x1e0 linux/net/core/dev.c:5534
|
|
__netif_receive_skb+0x1f/0x1c0 linux/net/core/dev.c:5648
|
|
process_backlog+0x101/0x6b0 linux/net/core/dev.c:5976
|
|
__napi_poll.constprop.0+0xba/0x550 linux/net/core/dev.c:6576
|
|
napi_poll linux/net/core/dev.c:6645
|
|
net_rx_action+0x95a/0xe90 linux/net/core/dev.c:6781
|
|
__do_softirq+0x21f/0x8e7 linux/kernel/softirq.c:553
|
|
do_softirq linux/kernel/softirq.c:454
|
|
do_softirq+0xb2/0xf0 linux/kernel/softirq.c:441
|
|
</IRQ>
|
|
<TASK>
|
|
__local_bh_enable_ip+0x100/0x120 linux/kernel/softirq.c:381
|
|
local_bh_enable linux/./include/linux/bottom_half.h:33
|
|
rcu_read_unlock_bh linux/./include/linux/rcupdate.h:851
|
|
__dev_queue_xmit+0x871/0x3ee0 linux/net/core/dev.c:4378
|
|
dev_queue_xmit linux/./include/linux/netdevice.h:3169
|
|
neigh_hh_output linux/./include/net/neighbour.h:526
|
|
neigh_output linux/./include/net/neighbour.h:540
|
|
ip_finish_output2+0x169f/0x2550 linux/net/ipv4/ip_output.c:235
|
|
__ip_finish_output linux/net/ipv4/ip_output.c:313
|
|
__ip_finish_output+0x49e/0x950 linux/net/ipv4/ip_output.c:295
|
|
ip_finish_output+0x31/0x310 linux/net/ipv4/ip_output.c:323
|
|
NF_HOOK_COND linux/./include/linux/netfilter.h:303
|
|
ip_output+0x13b/0x2a0 linux/net/ipv4/ip_output.c:433
|
|
dst_output linux/./include/net/dst.h:451
|
|
ip_local_out linux/net/ipv4/ip_output.c:129
|
|
ip_send_skb+0x3e5/0x560 linux/net/ipv4/ip_output.c:1492
|
|
udp_send_skb+0x73f/0x1530 linux/net/ipv4/udp.c:963
|
|
udp_sendmsg+0x1a36/0x2b40 linux/net/ipv4/udp.c:1250
|
|
inet_sendmsg+0x105/0x140 linux/net/ipv4/af_inet.c:850
|
|
sock_sendmsg_nosec linux/net/socket.c:730
|
|
__sock_sendmsg linux/net/socket.c:745
|
|
__sys_sendto+0x42c/0x4e0 linux/net/socket.c:2191
|
|
__do_sys_sendto linux/net/socket.c:2203
|
|
__se_sys_sendto linux/net/socket.c:2199
|
|
__x64_sys_sendto+0xe0/0x1c0 linux/net/socket.c:2199
|
|
do_syscall_x64 linux/arch/x86/entry/common.c:52
|
|
do_syscall_
|
|
---truncated---</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-06-14</ReleaseDate>
|
|
<CVE>CVE-2024-36886</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-22.03-LTS-SP1</ProductID>
|
|
</Status>
|
|
</ProductStatuses>
|
|
<Threats>
|
|
<Threat Type="Impact">
|
|
<Description>Medium</Description>
|
|
</Threat>
|
|
</Threats>
|
|
<CVSSScoreSets>
|
|
<ScoreSet>
|
|
<BaseScore>5.5</BaseScore>
|
|
<Vector>AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:N</Vector>
|
|
</ScoreSet>
|
|
</CVSSScoreSets>
|
|
<Remediations>
|
|
<Remediation Type="Vendor Fix">
|
|
<Description>kernel security update</Description>
|
|
<DATE>2024-06-14</DATE>
|
|
<URL>https://www.openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2024-1706</URL>
|
|
</Remediation>
|
|
</Remediations>
|
|
</Vulnerability>
|
|
<Vulnerability Ordinal="49" xmlns="http://www.icasi.org/CVRF/schema/vuln/1.1">
|
|
<Notes>
|
|
<Note Title="Vulnerability Description" Type="General" Ordinal="49" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
mptcp: ensure snd_nxt is properly initialized on connect
|
|
|
|
Christoph reported a splat hinting at a corrupted snd_una:
|
|
|
|
WARNING: CPU: 1 PID: 38 at net/mptcp/protocol.c:1005 __mptcp_clean_una+0x4b3/0x620 net/mptcp/protocol.c:1005
|
|
Modules linked in:
|
|
CPU: 1 PID: 38 Comm: kworker/1:1 Not tainted 6.9.0-rc1-gbbeac67456c9 #59
|
|
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.11.0-2.el7 04/01/2014
|
|
Workqueue: events mptcp_worker
|
|
RIP: 0010:__mptcp_clean_una+0x4b3/0x620 net/mptcp/protocol.c:1005
|
|
Code: be 06 01 00 00 bf 06 01 00 00 e8 a8 12 e7 fe e9 00 fe ff ff e8
|
|
8e 1a e7 fe 0f b7 ab 3e 02 00 00 e9 d3 fd ff ff e8 7d 1a e7 fe
|
|
<0f> 0b 4c 8b bb e0 05 00 00 e9 74 fc ff ff e8 6a 1a e7 fe 0f 0b e9
|
|
RSP: 0018:ffffc9000013fd48 EFLAGS: 00010293
|
|
RAX: 0000000000000000 RBX: ffff8881029bd280 RCX: ffffffff82382fe4
|
|
RDX: ffff8881003cbd00 RSI: ffffffff823833c3 RDI: 0000000000000001
|
|
RBP: 0000000000000000 R08: 0000000000000001 R09: 0000000000000000
|
|
R10: 0000000000000000 R11: fefefefefefefeff R12: ffff888138ba8000
|
|
R13: 0000000000000106 R14: ffff8881029bd908 R15: ffff888126560000
|
|
FS: 0000000000000000(0000) GS:ffff88813bd00000(0000) knlGS:0000000000000000
|
|
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
|
|
CR2: 00007f604a5dae38 CR3: 0000000101dac002 CR4: 0000000000170ef0
|
|
Call Trace:
|
|
<TASK>
|
|
__mptcp_clean_una_wakeup net/mptcp/protocol.c:1055 [inline]
|
|
mptcp_clean_una_wakeup net/mptcp/protocol.c:1062 [inline]
|
|
__mptcp_retrans+0x7f/0x7e0 net/mptcp/protocol.c:2615
|
|
mptcp_worker+0x434/0x740 net/mptcp/protocol.c:2767
|
|
process_one_work+0x1e0/0x560 kernel/workqueue.c:3254
|
|
process_scheduled_works kernel/workqueue.c:3335 [inline]
|
|
worker_thread+0x3c7/0x640 kernel/workqueue.c:3416
|
|
kthread+0x121/0x170 kernel/kthread.c:388
|
|
ret_from_fork+0x44/0x50 arch/x86/kernel/process.c:147
|
|
ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:243
|
|
</TASK>
|
|
|
|
When fallback to TCP happens early on a client socket, snd_nxt
|
|
is not yet initialized and any incoming ack will copy such value
|
|
into snd_una. If the mptcp worker (dumbly) tries mptcp-level
|
|
re-injection after such ack, that would unconditionally trigger a send
|
|
buffer cleanup using 'bad' snd_una values.
|
|
|
|
We could easily disable re-injection for fallback sockets, but such
|
|
dumb behavior already helped catching a few subtle issues and a very
|
|
low to zero impact in practice.
|
|
|
|
Instead address the issue always initializing snd_nxt (and write_seq,
|
|
for consistency) at connect time.</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-06-14</ReleaseDate>
|
|
<CVE>CVE-2024-36889</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-22.03-LTS-SP1</ProductID>
|
|
</Status>
|
|
</ProductStatuses>
|
|
<Threats>
|
|
<Threat Type="Impact">
|
|
<Description>Medium</Description>
|
|
</Threat>
|
|
</Threats>
|
|
<CVSSScoreSets>
|
|
<ScoreSet>
|
|
<BaseScore>5.5</BaseScore>
|
|
<Vector>AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:N</Vector>
|
|
</ScoreSet>
|
|
</CVSSScoreSets>
|
|
<Remediations>
|
|
<Remediation Type="Vendor Fix">
|
|
<Description>kernel security update</Description>
|
|
<DATE>2024-06-14</DATE>
|
|
<URL>https://www.openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2024-1706</URL>
|
|
</Remediation>
|
|
</Remediations>
|
|
</Vulnerability>
|
|
<Vulnerability Ordinal="50" xmlns="http://www.icasi.org/CVRF/schema/vuln/1.1">
|
|
<Notes>
|
|
<Note Title="Vulnerability Description" Type="General" Ordinal="50" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
gpiolib: cdev: fix uninitialised kfifo
|
|
|
|
If a line is requested with debounce, and that results in debouncing
|
|
in software, and the line is subsequently reconfigured to enable edge
|
|
detection then the allocation of the kfifo to contain edge events is
|
|
overlooked. This results in events being written to and read from an
|
|
uninitialised kfifo. Read events are returned to userspace.
|
|
|
|
Initialise the kfifo in the case where the software debounce is
|
|
already active.</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-06-14</ReleaseDate>
|
|
<CVE>CVE-2024-36898</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-22.03-LTS-SP1</ProductID>
|
|
</Status>
|
|
</ProductStatuses>
|
|
<Threats>
|
|
<Threat Type="Impact">
|
|
<Description>Medium</Description>
|
|
</Threat>
|
|
</Threats>
|
|
<CVSSScoreSets>
|
|
<ScoreSet>
|
|
<BaseScore>6.1</BaseScore>
|
|
<Vector>AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:N</Vector>
|
|
</ScoreSet>
|
|
</CVSSScoreSets>
|
|
<Remediations>
|
|
<Remediation Type="Vendor Fix">
|
|
<Description>kernel security update</Description>
|
|
<DATE>2024-06-14</DATE>
|
|
<URL>https://www.openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2024-1706</URL>
|
|
</Remediation>
|
|
</Remediations>
|
|
</Vulnerability>
|
|
<Vulnerability Ordinal="51" xmlns="http://www.icasi.org/CVRF/schema/vuln/1.1">
|
|
<Notes>
|
|
<Note Title="Vulnerability Description" Type="General" Ordinal="51" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
gpiolib: cdev: Fix use after free in lineinfo_changed_notify
|
|
|
|
The use-after-free issue occurs as follows: when the GPIO chip device file
|
|
is being closed by invoking gpio_chrdev_release(), watched_lines is freed
|
|
by bitmap_free(), but the unregistration of lineinfo_changed_nb notifier
|
|
chain failed due to waiting write rwsem. Additionally, one of the GPIO
|
|
chip's lines is also in the release process and holds the notifier chain's
|
|
read rwsem. Consequently, a race condition leads to the use-after-free of
|
|
watched_lines.
|
|
|
|
Here is the typical stack when issue happened:
|
|
|
|
[free]
|
|
gpio_chrdev_release()
|
|
--> bitmap_free(cdev->watched_lines) <-- freed
|
|
--> blocking_notifier_chain_unregister()
|
|
--> down_write(&nh->rwsem) <-- waiting rwsem
|
|
--> __down_write_common()
|
|
--> rwsem_down_write_slowpath()
|
|
--> schedule_preempt_disabled()
|
|
--> schedule()
|
|
|
|
[use]
|
|
st54spi_gpio_dev_release()
|
|
--> gpio_free()
|
|
--> gpiod_free()
|
|
--> gpiod_free_commit()
|
|
--> gpiod_line_state_notify()
|
|
--> blocking_notifier_call_chain()
|
|
--> down_read(&nh->rwsem); <-- held rwsem
|
|
--> notifier_call_chain()
|
|
--> lineinfo_changed_notify()
|
|
--> test_bit(xxxx, cdev->watched_lines) <-- use after free
|
|
|
|
The side effect of the use-after-free issue is that a GPIO line event is
|
|
being generated for userspace where it shouldn't. However, since the chrdev
|
|
is being closed, userspace won't have the chance to read that event anyway.
|
|
|
|
To fix the issue, call the bitmap_free() function after the unregistration
|
|
of lineinfo_changed_nb notifier chain.</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-06-14</ReleaseDate>
|
|
<CVE>CVE-2024-36899</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-22.03-LTS-SP1</ProductID>
|
|
</Status>
|
|
</ProductStatuses>
|
|
<Threats>
|
|
<Threat Type="Impact">
|
|
<Description>Medium</Description>
|
|
</Threat>
|
|
</Threats>
|
|
<CVSSScoreSets>
|
|
<ScoreSet>
|
|
<BaseScore>5.5</BaseScore>
|
|
<Vector>AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:N</Vector>
|
|
</ScoreSet>
|
|
</CVSSScoreSets>
|
|
<Remediations>
|
|
<Remediation Type="Vendor Fix">
|
|
<Description>kernel security update</Description>
|
|
<DATE>2024-06-14</DATE>
|
|
<URL>https://www.openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2024-1706</URL>
|
|
</Remediation>
|
|
</Remediations>
|
|
</Vulnerability>
|
|
<Vulnerability Ordinal="52" xmlns="http://www.icasi.org/CVRF/schema/vuln/1.1">
|
|
<Notes>
|
|
<Note Title="Vulnerability Description" Type="General" Ordinal="52" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
ipv6: prevent NULL dereference in ip6_output()
|
|
|
|
According to syzbot, there is a chance that ip6_dst_idev()
|
|
returns NULL in ip6_output(). Most places in IPv6 stack
|
|
deal with a NULL idev just fine, but not here.
|
|
|
|
syzbot reported:
|
|
|
|
general protection fault, probably for non-canonical address 0xdffffc00000000bc: 0000 [#1] PREEMPT SMP KASAN PTI
|
|
KASAN: null-ptr-deref in range [0x00000000000005e0-0x00000000000005e7]
|
|
CPU: 0 PID: 9775 Comm: syz-executor.4 Not tainted 6.9.0-rc5-syzkaller-00157-g6a30653b604a #0
|
|
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 03/27/2024
|
|
RIP: 0010:ip6_output+0x231/0x3f0 net/ipv6/ip6_output.c:237
|
|
Code: 3c 1e 00 49 89 df 74 08 4c 89 ef e8 19 58 db f7 48 8b 44 24 20 49 89 45 00 49 89 c5 48 8d 9d e0 05 00 00 48 89 d8 48 c1 e8 03 <42> 0f b6 04 38 84 c0 4c 8b 74 24 28 0f 85 61 01 00 00 8b 1b 31 ff
|
|
RSP: 0018:ffffc9000927f0d8 EFLAGS: 00010202
|
|
RAX: 00000000000000bc RBX: 00000000000005e0 RCX: 0000000000040000
|
|
RDX: ffffc900131f9000 RSI: 0000000000004f47 RDI: 0000000000004f48
|
|
RBP: 0000000000000000 R08: ffffffff8a1f0b9a R09: 1ffffffff1f51fad
|
|
R10: dffffc0000000000 R11: fffffbfff1f51fae R12: ffff8880293ec8c0
|
|
R13: ffff88805d7fc000 R14: 1ffff1100527d91a R15: dffffc0000000000
|
|
FS: 00007f135c6856c0(0000) GS:ffff8880b9400000(0000) knlGS:0000000000000000
|
|
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
|
|
CR2: 0000000020000080 CR3: 0000000064096000 CR4: 00000000003506f0
|
|
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
|
|
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
|
|
Call Trace:
|
|
<TASK>
|
|
NF_HOOK include/linux/netfilter.h:314 [inline]
|
|
ip6_xmit+0xefe/0x17f0 net/ipv6/ip6_output.c:358
|
|
sctp_v6_xmit+0x9f2/0x13f0 net/sctp/ipv6.c:248
|
|
sctp_packet_transmit+0x26ad/0x2ca0 net/sctp/output.c:653
|
|
sctp_packet_singleton+0x22c/0x320 net/sctp/outqueue.c:783
|
|
sctp_outq_flush_ctrl net/sctp/outqueue.c:914 [inline]
|
|
sctp_outq_flush+0x6d5/0x3e20 net/sctp/outqueue.c:1212
|
|
sctp_side_effects net/sctp/sm_sideeffect.c:1198 [inline]
|
|
sctp_do_sm+0x59cc/0x60c0 net/sctp/sm_sideeffect.c:1169
|
|
sctp_primitive_ASSOCIATE+0x95/0xc0 net/sctp/primitive.c:73
|
|
__sctp_connect+0x9cd/0xe30 net/sctp/socket.c:1234
|
|
sctp_connect net/sctp/socket.c:4819 [inline]
|
|
sctp_inet_connect+0x149/0x1f0 net/sctp/socket.c:4834
|
|
__sys_connect_file net/socket.c:2048 [inline]
|
|
__sys_connect+0x2df/0x310 net/socket.c:2065
|
|
__do_sys_connect net/socket.c:2075 [inline]
|
|
__se_sys_connect net/socket.c:2072 [inline]
|
|
__x64_sys_connect+0x7a/0x90 net/socket.c:2072
|
|
do_syscall_x64 arch/x86/entry/common.c:52 [inline]
|
|
do_syscall_64+0xf5/0x240 arch/x86/entry/common.c:83
|
|
entry_SYSCALL_64_after_hwframe+0x77/0x7f</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-06-14</ReleaseDate>
|
|
<CVE>CVE-2024-36901</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-22.03-LTS-SP1</ProductID>
|
|
</Status>
|
|
</ProductStatuses>
|
|
<Threats>
|
|
<Threat Type="Impact">
|
|
<Description>Medium</Description>
|
|
</Threat>
|
|
</Threats>
|
|
<CVSSScoreSets>
|
|
<ScoreSet>
|
|
<BaseScore>5.5</BaseScore>
|
|
<Vector>AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:N</Vector>
|
|
</ScoreSet>
|
|
</CVSSScoreSets>
|
|
<Remediations>
|
|
<Remediation Type="Vendor Fix">
|
|
<Description>kernel security update</Description>
|
|
<DATE>2024-06-14</DATE>
|
|
<URL>https://www.openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2024-1706</URL>
|
|
</Remediation>
|
|
</Remediations>
|
|
</Vulnerability>
|
|
<Vulnerability Ordinal="53" xmlns="http://www.icasi.org/CVRF/schema/vuln/1.1">
|
|
<Notes>
|
|
<Note Title="Vulnerability Description" Type="General" Ordinal="53" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
ipv6: fib6_rules: avoid possible NULL dereference in fib6_rule_action()
|
|
|
|
syzbot is able to trigger the following crash [1],
|
|
caused by unsafe ip6_dst_idev() use.
|
|
|
|
Indeed ip6_dst_idev() can return NULL, and must always be checked.
|
|
|
|
[1]
|
|
|
|
Oops: general protection fault, probably for non-canonical address 0xdffffc0000000000: 0000 [#1] PREEMPT SMP KASAN PTI
|
|
KASAN: null-ptr-deref in range [0x0000000000000000-0x0000000000000007]
|
|
CPU: 0 PID: 31648 Comm: syz-executor.0 Not tainted 6.9.0-rc4-next-20240417-syzkaller #0
|
|
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 03/27/2024
|
|
RIP: 0010:__fib6_rule_action net/ipv6/fib6_rules.c:237 [inline]
|
|
RIP: 0010:fib6_rule_action+0x241/0x7b0 net/ipv6/fib6_rules.c:267
|
|
Code: 02 00 00 49 8d 9f d8 00 00 00 48 89 d8 48 c1 e8 03 42 80 3c 20 00 74 08 48 89 df e8 f9 32 bf f7 48 8b 1b 48 89 d8 48 c1 e8 03 <42> 80 3c 20 00 74 08 48 89 df e8 e0 32 bf f7 4c 8b 03 48 89 ef 4c
|
|
RSP: 0018:ffffc9000fc1f2f0 EFLAGS: 00010246
|
|
RAX: 0000000000000000 RBX: 0000000000000000 RCX: 1a772f98c8186700
|
|
RDX: 0000000000000003 RSI: ffffffff8bcac4e0 RDI: ffffffff8c1f9760
|
|
RBP: ffff8880673fb980 R08: ffffffff8fac15ef R09: 1ffffffff1f582bd
|
|
R10: dffffc0000000000 R11: fffffbfff1f582be R12: dffffc0000000000
|
|
R13: 0000000000000080 R14: ffff888076509000 R15: ffff88807a029a00
|
|
FS: 00007f55e82ca6c0(0000) GS:ffff8880b9400000(0000) knlGS:0000000000000000
|
|
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
|
|
CR2: 0000001b31d23000 CR3: 0000000022b66000 CR4: 00000000003506f0
|
|
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
|
|
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
|
|
Call Trace:
|
|
<TASK>
|
|
fib_rules_lookup+0x62c/0xdb0 net/core/fib_rules.c:317
|
|
fib6_rule_lookup+0x1fd/0x790 net/ipv6/fib6_rules.c:108
|
|
ip6_route_output_flags_noref net/ipv6/route.c:2637 [inline]
|
|
ip6_route_output_flags+0x38e/0x610 net/ipv6/route.c:2649
|
|
ip6_route_output include/net/ip6_route.h:93 [inline]
|
|
ip6_dst_lookup_tail+0x189/0x11a0 net/ipv6/ip6_output.c:1120
|
|
ip6_dst_lookup_flow+0xb9/0x180 net/ipv6/ip6_output.c:1250
|
|
sctp_v6_get_dst+0x792/0x1e20 net/sctp/ipv6.c:326
|
|
sctp_transport_route+0x12c/0x2e0 net/sctp/transport.c:455
|
|
sctp_assoc_add_peer+0x614/0x15c0 net/sctp/associola.c:662
|
|
sctp_connect_new_asoc+0x31d/0x6c0 net/sctp/socket.c:1099
|
|
__sctp_connect+0x66d/0xe30 net/sctp/socket.c:1197
|
|
sctp_connect net/sctp/socket.c:4819 [inline]
|
|
sctp_inet_connect+0x149/0x1f0 net/sctp/socket.c:4834
|
|
__sys_connect_file net/socket.c:2048 [inline]
|
|
__sys_connect+0x2df/0x310 net/socket.c:2065
|
|
__do_sys_connect net/socket.c:2075 [inline]
|
|
__se_sys_connect net/socket.c:2072 [inline]
|
|
__x64_sys_connect+0x7a/0x90 net/socket.c:2072
|
|
do_syscall_x64 arch/x86/entry/common.c:52 [inline]
|
|
do_syscall_64+0xf5/0x240 arch/x86/entry/common.c:83
|
|
entry_SYSCALL_64_after_hwframe+0x77/0x7f</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-06-14</ReleaseDate>
|
|
<CVE>CVE-2024-36902</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-22.03-LTS-SP1</ProductID>
|
|
</Status>
|
|
</ProductStatuses>
|
|
<Threats>
|
|
<Threat Type="Impact">
|
|
<Description>Medium</Description>
|
|
</Threat>
|
|
</Threats>
|
|
<CVSSScoreSets>
|
|
<ScoreSet>
|
|
<BaseScore>5.5</BaseScore>
|
|
<Vector>AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:N</Vector>
|
|
</ScoreSet>
|
|
</CVSSScoreSets>
|
|
<Remediations>
|
|
<Remediation Type="Vendor Fix">
|
|
<Description>kernel security update</Description>
|
|
<DATE>2024-06-14</DATE>
|
|
<URL>https://www.openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2024-1706</URL>
|
|
</Remediation>
|
|
</Remediations>
|
|
</Vulnerability>
|
|
<Vulnerability Ordinal="54" xmlns="http://www.icasi.org/CVRF/schema/vuln/1.1">
|
|
<Notes>
|
|
<Note Title="Vulnerability Description" Type="General" Ordinal="54" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
tcp: defer shutdown(SEND_SHUTDOWN) for TCP_SYN_RECV sockets
|
|
|
|
TCP_SYN_RECV state is really special, it is only used by
|
|
cross-syn connections, mostly used by fuzzers.
|
|
|
|
In the following crash [1], syzbot managed to trigger a divide
|
|
by zero in tcp_rcv_space_adjust()
|
|
|
|
A socket makes the following state transitions,
|
|
without ever calling tcp_init_transfer(),
|
|
meaning tcp_init_buffer_space() is also not called.
|
|
|
|
TCP_CLOSE
|
|
connect()
|
|
TCP_SYN_SENT
|
|
TCP_SYN_RECV
|
|
shutdown() -> tcp_shutdown(sk, SEND_SHUTDOWN)
|
|
TCP_FIN_WAIT1
|
|
|
|
To fix this issue, change tcp_shutdown() to not
|
|
perform a TCP_SYN_RECV -> TCP_FIN_WAIT1 transition,
|
|
which makes no sense anyway.
|
|
|
|
When tcp_rcv_state_process() later changes socket state
|
|
from TCP_SYN_RECV to TCP_ESTABLISH, then look at
|
|
sk->sk_shutdown to finally enter TCP_FIN_WAIT1 state,
|
|
and send a FIN packet from a sane socket state.
|
|
|
|
This means tcp_send_fin() can now be called from BH
|
|
context, and must use GFP_ATOMIC allocations.
|
|
|
|
[1]
|
|
divide error: 0000 [#1] PREEMPT SMP KASAN NOPTI
|
|
CPU: 1 PID: 5084 Comm: syz-executor358 Not tainted 6.9.0-rc6-syzkaller-00022-g98369dccd2f8 #0
|
|
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 03/27/2024
|
|
RIP: 0010:tcp_rcv_space_adjust+0x2df/0x890 net/ipv4/tcp_input.c:767
|
|
Code: e3 04 4c 01 eb 48 8b 44 24 38 0f b6 04 10 84 c0 49 89 d5 0f 85 a5 03 00 00 41 8b 8e c8 09 00 00 89 e8 29 c8 48 0f af c3 31 d2 <48> f7 f1 48 8d 1c 43 49 8d 96 76 08 00 00 48 89 d0 48 c1 e8 03 48
|
|
RSP: 0018:ffffc900031ef3f0 EFLAGS: 00010246
|
|
RAX: 0c677a10441f8f42 RBX: 000000004fb95e7e RCX: 0000000000000000
|
|
RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000
|
|
RBP: 0000000027d4b11f R08: ffffffff89e535a4 R09: 1ffffffff25e6ab7
|
|
R10: dffffc0000000000 R11: ffffffff8135e920 R12: ffff88802a9f8d30
|
|
R13: dffffc0000000000 R14: ffff88802a9f8d00 R15: 1ffff1100553f2da
|
|
FS: 00005555775c0380(0000) GS:ffff8880b9500000(0000) knlGS:0000000000000000
|
|
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
|
|
CR2: 00007f1155bf2304 CR3: 000000002b9f2000 CR4: 0000000000350ef0
|
|
Call Trace:
|
|
<TASK>
|
|
tcp_recvmsg_locked+0x106d/0x25a0 net/ipv4/tcp.c:2513
|
|
tcp_recvmsg+0x25d/0x920 net/ipv4/tcp.c:2578
|
|
inet6_recvmsg+0x16a/0x730 net/ipv6/af_inet6.c:680
|
|
sock_recvmsg_nosec net/socket.c:1046 [inline]
|
|
sock_recvmsg+0x109/0x280 net/socket.c:1068
|
|
____sys_recvmsg+0x1db/0x470 net/socket.c:2803
|
|
___sys_recvmsg net/socket.c:2845 [inline]
|
|
do_recvmmsg+0x474/0xae0 net/socket.c:2939
|
|
__sys_recvmmsg net/socket.c:3018 [inline]
|
|
__do_sys_recvmmsg net/socket.c:3041 [inline]
|
|
__se_sys_recvmmsg net/socket.c:3034 [inline]
|
|
__x64_sys_recvmmsg+0x199/0x250 net/socket.c:3034
|
|
do_syscall_x64 arch/x86/entry/common.c:52 [inline]
|
|
do_syscall_64+0xf5/0x240 arch/x86/entry/common.c:83
|
|
entry_SYSCALL_64_after_hwframe+0x77/0x7f
|
|
RIP: 0033:0x7faeb6363db9
|
|
Code: 28 00 00 00 75 05 48 83 c4 28 c3 e8 c1 17 00 00 90 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 c7 c1 b8 ff ff ff f7 d8 64 89 01 48
|
|
RSP: 002b:00007ffcc1997168 EFLAGS: 00000246 ORIG_RAX: 000000000000012b
|
|
RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007faeb6363db9
|
|
RDX: 0000000000000001 RSI: 0000000020000bc0 RDI: 0000000000000005
|
|
RBP: 0000000000000000 R08: 0000000000000000 R09: 000000000000001c
|
|
R10: 0000000000000122 R11: 0000000000000246 R12: 0000000000000000
|
|
R13: 0000000000000000 R14: 0000000000000001 R15: 0000000000000001</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-06-14</ReleaseDate>
|
|
<CVE>CVE-2024-36905</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-22.03-LTS-SP1</ProductID>
|
|
</Status>
|
|
</ProductStatuses>
|
|
<Threats>
|
|
<Threat Type="Impact">
|
|
<Description>Medium</Description>
|
|
</Threat>
|
|
</Threats>
|
|
<CVSSScoreSets>
|
|
<ScoreSet>
|
|
<BaseScore>5.5</BaseScore>
|
|
<Vector>AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:N</Vector>
|
|
</ScoreSet>
|
|
</CVSSScoreSets>
|
|
<Remediations>
|
|
<Remediation Type="Vendor Fix">
|
|
<Description>kernel security update</Description>
|
|
<DATE>2024-06-14</DATE>
|
|
<URL>https://www.openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2024-1706</URL>
|
|
</Remediation>
|
|
</Remediations>
|
|
</Vulnerability>
|
|
<Vulnerability Ordinal="55" xmlns="http://www.icasi.org/CVRF/schema/vuln/1.1">
|
|
<Notes>
|
|
<Note Title="Vulnerability Description" Type="General" Ordinal="55" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
ARM: 9381/1: kasan: clear stale stack poison
|
|
|
|
We found below OOB crash:
|
|
|
|
[ 33.452494] ==================================================================
|
|
[ 33.453513] BUG: KASAN: stack-out-of-bounds in refresh_cpu_vm_stats.constprop.0+0xcc/0x2ec
|
|
[ 33.454660] Write of size 164 at addr c1d03d30 by task swapper/0/0
|
|
[ 33.455515]
|
|
[ 33.455767] CPU: 0 PID: 0 Comm: swapper/0 Tainted: G O 6.1.25-mainline #1
|
|
[ 33.456880] Hardware name: Generic DT based system
|
|
[ 33.457555] unwind_backtrace from show_stack+0x18/0x1c
|
|
[ 33.458326] show_stack from dump_stack_lvl+0x40/0x4c
|
|
[ 33.459072] dump_stack_lvl from print_report+0x158/0x4a4
|
|
[ 33.459863] print_report from kasan_report+0x9c/0x148
|
|
[ 33.460616] kasan_report from kasan_check_range+0x94/0x1a0
|
|
[ 33.461424] kasan_check_range from memset+0x20/0x3c
|
|
[ 33.462157] memset from refresh_cpu_vm_stats.constprop.0+0xcc/0x2ec
|
|
[ 33.463064] refresh_cpu_vm_stats.constprop.0 from tick_nohz_idle_stop_tick+0x180/0x53c
|
|
[ 33.464181] tick_nohz_idle_stop_tick from do_idle+0x264/0x354
|
|
[ 33.465029] do_idle from cpu_startup_entry+0x20/0x24
|
|
[ 33.465769] cpu_startup_entry from rest_init+0xf0/0xf4
|
|
[ 33.466528] rest_init from arch_post_acpi_subsys_init+0x0/0x18
|
|
[ 33.467397]
|
|
[ 33.467644] The buggy address belongs to stack of task swapper/0/0
|
|
[ 33.468493] and is located at offset 112 in frame:
|
|
[ 33.469172] refresh_cpu_vm_stats.constprop.0+0x0/0x2ec
|
|
[ 33.469917]
|
|
[ 33.470165] This frame has 2 objects:
|
|
[ 33.470696] [32, 76) 'global_zone_diff'
|
|
[ 33.470729] [112, 276) 'global_node_diff'
|
|
[ 33.471294]
|
|
[ 33.472095] The buggy address belongs to the physical page:
|
|
[ 33.472862] page:3cd72da8 refcount:1 mapcount:0 mapping:00000000 index:0x0 pfn:0x41d03
|
|
[ 33.473944] flags: 0x1000(reserved|zone=0)
|
|
[ 33.474565] raw: 00001000 ed741470 ed741470 00000000 00000000 00000000 ffffffff 00000001
|
|
[ 33.475656] raw: 00000000
|
|
[ 33.476050] page dumped because: kasan: bad access detected
|
|
[ 33.476816]
|
|
[ 33.477061] Memory state around the buggy address:
|
|
[ 33.477732] c1d03c00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
|
[ 33.478630] c1d03c80: 00 00 00 00 00 00 00 00 f1 f1 f1 f1 00 00 00 00
|
|
[ 33.479526] >c1d03d00: 00 04 f2 f2 f2 f2 00 00 00 00 00 00 f1 f1 f1 f1
|
|
[ 33.480415] ^
|
|
[ 33.481195] c1d03d80: 00 00 00 00 00 00 00 00 00 00 04 f3 f3 f3 f3 f3
|
|
[ 33.482088] c1d03e00: f3 f3 f3 f3 00 00 00 00 00 00 00 00 00 00 00 00
|
|
[ 33.482978] ==================================================================
|
|
|
|
We find the root cause of this OOB is that arm does not clear stale stack
|
|
poison in the case of cpuidle.
|
|
|
|
This patch refer to arch/arm64/kernel/sleep.S to resolve this issue.
|
|
|
|
From cited commit [1] that explain the problem
|
|
|
|
Functions which the compiler has instrumented for KASAN place poison on
|
|
the stack shadow upon entry and remove this poison prior to returning.
|
|
|
|
In the case of cpuidle, CPUs exit the kernel a number of levels deep in
|
|
C code. Any instrumented functions on this critical path will leave
|
|
portions of the stack shadow poisoned.
|
|
|
|
If CPUs lose context and return to the kernel via a cold path, we
|
|
restore a prior context saved in __cpu_suspend_enter are forgotten, and
|
|
we never remove the poison they placed in the stack shadow area by
|
|
functions calls between this and the actual exit of the kernel.
|
|
|
|
Thus, (depending on stackframe layout) subsequent calls to instrumented
|
|
functions may hit this stale poison, resulting in (spurious) KASAN
|
|
splats to the console.
|
|
|
|
To avoid this, clear any stale poison from the idle thread for a CPU
|
|
prior to bringing a CPU online.
|
|
|
|
From cited commit [2]
|
|
|
|
Extend to check for CONFIG_KASAN_STACK
|
|
|
|
[1] commit 0d97e6d8024c ("arm64: kasan: clear stale stack poison")
|
|
[2] commit d56a9ef84bd0 ("kasan, arm64: unpoison stack only with CONFIG_KASAN_STACK")</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-06-14</ReleaseDate>
|
|
<CVE>CVE-2024-36906</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-22.03-LTS-SP1</ProductID>
|
|
</Status>
|
|
</ProductStatuses>
|
|
<Threats>
|
|
<Threat Type="Impact">
|
|
<Description>Medium</Description>
|
|
</Threat>
|
|
</Threats>
|
|
<CVSSScoreSets>
|
|
<ScoreSet>
|
|
<BaseScore>5.5</BaseScore>
|
|
<Vector>AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:N</Vector>
|
|
</ScoreSet>
|
|
</CVSSScoreSets>
|
|
<Remediations>
|
|
<Remediation Type="Vendor Fix">
|
|
<Description>kernel security update</Description>
|
|
<DATE>2024-06-14</DATE>
|
|
<URL>https://www.openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2024-1706</URL>
|
|
</Remediation>
|
|
</Remediations>
|
|
</Vulnerability>
|
|
<Vulnerability Ordinal="56" xmlns="http://www.icasi.org/CVRF/schema/vuln/1.1">
|
|
<Notes>
|
|
<Note Title="Vulnerability Description" Type="General" Ordinal="56" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
blk-iocost: do not WARN if iocg was already offlined
|
|
|
|
In iocg_pay_debt(), warn is triggered if 'active_list' is empty, which
|
|
is intended to confirm iocg is active when it has debt. However, warn
|
|
can be triggered during a blkcg or disk removal, if iocg_waitq_timer_fn()
|
|
is run at that time:
|
|
|
|
WARNING: CPU: 0 PID: 2344971 at block/blk-iocost.c:1402 iocg_pay_debt+0x14c/0x190
|
|
Call trace:
|
|
iocg_pay_debt+0x14c/0x190
|
|
iocg_kick_waitq+0x438/0x4c0
|
|
iocg_waitq_timer_fn+0xd8/0x130
|
|
__run_hrtimer+0x144/0x45c
|
|
__hrtimer_run_queues+0x16c/0x244
|
|
hrtimer_interrupt+0x2cc/0x7b0
|
|
|
|
The warn in this situation is meaningless. Since this iocg is being
|
|
removed, the state of the 'active_list' is irrelevant, and 'waitq_timer'
|
|
is canceled after removing 'active_list' in ioc_pd_free(), which ensures
|
|
iocg is freed after iocg_waitq_timer_fn() returns.
|
|
|
|
Therefore, add the check if iocg was already offlined to avoid warn
|
|
when removing a blkcg or disk.</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-06-14</ReleaseDate>
|
|
<CVE>CVE-2024-36908</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-22.03-LTS-SP1</ProductID>
|
|
</Status>
|
|
</ProductStatuses>
|
|
<Threats>
|
|
<Threat Type="Impact">
|
|
<Description>Low</Description>
|
|
</Threat>
|
|
</Threats>
|
|
<CVSSScoreSets>
|
|
<ScoreSet>
|
|
<BaseScore>0.0</BaseScore>
|
|
<Vector>AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:N</Vector>
|
|
</ScoreSet>
|
|
</CVSSScoreSets>
|
|
<Remediations>
|
|
<Remediation Type="Vendor Fix">
|
|
<Description>kernel security update</Description>
|
|
<DATE>2024-06-14</DATE>
|
|
<URL>https://www.openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2024-1706</URL>
|
|
</Remediation>
|
|
</Remediations>
|
|
</Vulnerability>
|
|
<Vulnerability Ordinal="57" xmlns="http://www.icasi.org/CVRF/schema/vuln/1.1">
|
|
<Notes>
|
|
<Note Title="Vulnerability Description" Type="General" Ordinal="57" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
scsi: lpfc: Release hbalock before calling lpfc_worker_wake_up()
|
|
|
|
lpfc_worker_wake_up() calls the lpfc_work_done() routine, which takes the
|
|
hbalock. Thus, lpfc_worker_wake_up() should not be called while holding the
|
|
hbalock to avoid potential deadlock.</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-06-14</ReleaseDate>
|
|
<CVE>CVE-2024-36924</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-22.03-LTS-SP1</ProductID>
|
|
</Status>
|
|
</ProductStatuses>
|
|
<Threats>
|
|
<Threat Type="Impact">
|
|
<Description>Medium</Description>
|
|
</Threat>
|
|
</Threats>
|
|
<CVSSScoreSets>
|
|
<ScoreSet>
|
|
<BaseScore>4.7</BaseScore>
|
|
<Vector>AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:N</Vector>
|
|
</ScoreSet>
|
|
</CVSSScoreSets>
|
|
<Remediations>
|
|
<Remediation Type="Vendor Fix">
|
|
<Description>kernel security update</Description>
|
|
<DATE>2024-06-14</DATE>
|
|
<URL>https://www.openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2024-1706</URL>
|
|
</Remediation>
|
|
</Remediations>
|
|
</Vulnerability>
|
|
<Vulnerability Ordinal="58" xmlns="http://www.icasi.org/CVRF/schema/vuln/1.1">
|
|
<Notes>
|
|
<Note Title="Vulnerability Description" Type="General" Ordinal="58" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
net: core: reject skb_copy(_expand) for fraglist GSO skbs
|
|
|
|
SKB_GSO_FRAGLIST skbs must not be linearized, otherwise they become
|
|
invalid. Return NULL if such an skb is passed to skb_copy or
|
|
skb_copy_expand, in order to prevent a crash on a potential later
|
|
call to skb_gso_segment.</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-06-14</ReleaseDate>
|
|
<CVE>CVE-2024-36929</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-22.03-LTS-SP1</ProductID>
|
|
</Status>
|
|
</ProductStatuses>
|
|
<Threats>
|
|
<Threat Type="Impact">
|
|
<Description>Medium</Description>
|
|
</Threat>
|
|
</Threats>
|
|
<CVSSScoreSets>
|
|
<ScoreSet>
|
|
<BaseScore>5.5</BaseScore>
|
|
<Vector>AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:N</Vector>
|
|
</ScoreSet>
|
|
</CVSSScoreSets>
|
|
<Remediations>
|
|
<Remediation Type="Vendor Fix">
|
|
<Description>kernel security update</Description>
|
|
<DATE>2024-06-14</DATE>
|
|
<URL>https://www.openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2024-1706</URL>
|
|
</Remediation>
|
|
</Remediations>
|
|
</Vulnerability>
|
|
<Vulnerability Ordinal="59" xmlns="http://www.icasi.org/CVRF/schema/vuln/1.1">
|
|
<Notes>
|
|
<Note Title="Vulnerability Description" Type="General" Ordinal="59" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
amd/amdkfd: sync all devices to wait all processes being evicted
|
|
|
|
If there are more than one device doing reset in parallel, the first
|
|
device will call kfd_suspend_all_processes() to evict all processes
|
|
on all devices, this call takes time to finish. other device will
|
|
start reset and recover without waiting. if the process has not been
|
|
evicted before doing recover, it will be restored, then caused page
|
|
fault.</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-06-14</ReleaseDate>
|
|
<CVE>CVE-2024-36949</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-22.03-LTS-SP1</ProductID>
|
|
</Status>
|
|
</ProductStatuses>
|
|
<Threats>
|
|
<Threat Type="Impact">
|
|
<Description>Medium</Description>
|
|
</Threat>
|
|
</Threats>
|
|
<CVSSScoreSets>
|
|
<ScoreSet>
|
|
<BaseScore>4.7</BaseScore>
|
|
<Vector>AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:N</Vector>
|
|
</ScoreSet>
|
|
</CVSSScoreSets>
|
|
<Remediations>
|
|
<Remediation Type="Vendor Fix">
|
|
<Description>kernel security update</Description>
|
|
<DATE>2024-06-14</DATE>
|
|
<URL>https://www.openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2024-1706</URL>
|
|
</Remediation>
|
|
</Remediations>
|
|
</Vulnerability>
|
|
<Vulnerability Ordinal="60" xmlns="http://www.icasi.org/CVRF/schema/vuln/1.1">
|
|
<Notes>
|
|
<Note Title="Vulnerability Description" Type="General" Ordinal="60" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
octeontx2-af: avoid off-by-one read from userspace
|
|
|
|
We try to access count + 1 byte from userspace with memdup_user(buffer,
|
|
count + 1). However, the userspace only provides buffer of count bytes and
|
|
only these count bytes are verified to be okay to access. To ensure the
|
|
copied buffer is NUL terminated, we use memdup_user_nul instead.</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-06-14</ReleaseDate>
|
|
<CVE>CVE-2024-36957</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-22.03-LTS-SP1</ProductID>
|
|
</Status>
|
|
</ProductStatuses>
|
|
<Threats>
|
|
<Threat Type="Impact">
|
|
<Description>Medium</Description>
|
|
</Threat>
|
|
</Threats>
|
|
<CVSSScoreSets>
|
|
<ScoreSet>
|
|
<BaseScore>5.5</BaseScore>
|
|
<Vector>AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:N</Vector>
|
|
</ScoreSet>
|
|
</CVSSScoreSets>
|
|
<Remediations>
|
|
<Remediation Type="Vendor Fix">
|
|
<Description>kernel security update</Description>
|
|
<DATE>2024-06-14</DATE>
|
|
<URL>https://www.openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2024-1706</URL>
|
|
</Remediation>
|
|
</Remediations>
|
|
</Vulnerability>
|
|
<Vulnerability Ordinal="61" xmlns="http://www.icasi.org/CVRF/schema/vuln/1.1">
|
|
<Notes>
|
|
<Note Title="Vulnerability Description" Type="General" Ordinal="61" xml:lang="en">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.</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-06-14</ReleaseDate>
|
|
<CVE>CVE-2024-36964</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-22.03-LTS-SP1</ProductID>
|
|
</Status>
|
|
</ProductStatuses>
|
|
<Threats>
|
|
<Threat Type="Impact">
|
|
<Description>Medium</Description>
|
|
</Threat>
|
|
</Threats>
|
|
<CVSSScoreSets>
|
|
<ScoreSet>
|
|
<BaseScore>5.5</BaseScore>
|
|
<Vector>AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:N</Vector>
|
|
</ScoreSet>
|
|
</CVSSScoreSets>
|
|
<Remediations>
|
|
<Remediation Type="Vendor Fix">
|
|
<Description>kernel security update</Description>
|
|
<DATE>2024-06-14</DATE>
|
|
<URL>https://www.openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2024-1706</URL>
|
|
</Remediation>
|
|
</Remediations>
|
|
</Vulnerability>
|
|
</cvrfdoc> |