5980 lines
252 KiB
XML
5980 lines
252 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-24.03-LTS</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-1960</ID>
|
|
</Identification>
|
|
<Status>Final</Status>
|
|
<Version>1.0</Version>
|
|
<RevisionHistory>
|
|
<Revision>
|
|
<Number>1.0</Number>
|
|
<Date>2024-08-09</Date>
|
|
<Description>Initial</Description>
|
|
</Revision>
|
|
</RevisionHistory>
|
|
<InitialReleaseDate>2024-08-09</InitialReleaseDate>
|
|
<CurrentReleaseDate>2024-08-09</CurrentReleaseDate>
|
|
<Generator>
|
|
<Engine>openEuler SA Tool V1.0</Engine>
|
|
<Date>2024-08-09</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-24.03-LTS</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:
|
|
|
|
efi: libstub: only free priv.runtime_map when allocated
|
|
|
|
priv.runtime_map is only allocated when efi_novamap is not set.
|
|
Otherwise, it is an uninitialized value. In the error path, it is freed
|
|
unconditionally. Avoid passing an uninitialized value to free_pool.
|
|
Free priv.runtime_map only when it was allocated.
|
|
|
|
This bug was discovered and resolved using Coverity Static Analysis
|
|
Security Testing (SAST) by Synopsys, Inc.(CVE-2024-33619)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
fpga: region: add owner module and take its refcount
|
|
|
|
The current implementation of the fpga region assumes that the low-level
|
|
module registers a driver for the parent device and uses its owner pointer
|
|
to take the module's refcount. This approach is problematic since it can
|
|
lead to a null pointer dereference while attempting to get the region
|
|
during programming if the parent device does not have a driver.
|
|
|
|
To address this problem, add a module owner pointer to the fpga_region
|
|
struct and use it to take the module's refcount. Modify the functions for
|
|
registering a region to take an additional owner module parameter and
|
|
rename them to avoid conflicts. Use the old function names for helper
|
|
macros that automatically set the module that registers the region as the
|
|
owner. This ensures compatibility with existing low-level control modules
|
|
and reduces the chances of registering a region without setting the owner.
|
|
|
|
Also, update the documentation to keep it consistent with the new interface
|
|
for registering an fpga region.(CVE-2024-35247)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
eeprom: at24: fix memory corruption race condition
|
|
|
|
If the eeprom is not accessible, an nvmem device will be registered, the
|
|
read will fail, and the device will be torn down. If another driver
|
|
accesses the nvmem device after the teardown, it will reference
|
|
invalid memory.
|
|
|
|
Move the failure point before registering the nvmem device.(CVE-2024-35848)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
block: fix module reference leakage from bdev_open_by_dev error path
|
|
|
|
At the time bdev_may_open() is called, module reference is grabbed
|
|
already, hence module reference should be released if bdev_may_open()
|
|
failed.
|
|
|
|
This problem is found by code review.(CVE-2024-35859)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
Bluetooth: RFCOMM: Fix not validating setsockopt user input
|
|
|
|
syzbot reported rfcomm_sock_setsockopt_old() 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 rfcomm_sock_setsockopt_old
|
|
net/bluetooth/rfcomm/sock.c:632 [inline]
|
|
BUG: KASAN: slab-out-of-bounds in rfcomm_sock_setsockopt+0x893/0xa70
|
|
net/bluetooth/rfcomm/sock.c:673
|
|
Read of size 4 at addr ffff8880209a8bc3 by task syz-executor632/5064(CVE-2024-35966)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
mm/slab: make __free(kfree) accept error pointers
|
|
|
|
Currently, if an automatically freed allocation is an error pointer that
|
|
will lead to a crash. An example of this is in wm831x_gpio_dbg_show().
|
|
|
|
171 char *label __free(kfree) = gpiochip_dup_line_label(chip, i);
|
|
172 if (IS_ERR(label)) {
|
|
173 dev_err(wm831x->dev, "Failed to duplicate label\n");
|
|
174 continue;
|
|
175 }
|
|
|
|
The auto clean up function should check for error pointers as well,
|
|
otherwise we're going to keep hitting issues like this.(CVE-2024-36890)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
USB: core: Fix access violation during port device removal
|
|
|
|
Testing with KASAN and syzkaller revealed a bug in port.c:disable_store():
|
|
usb_hub_to_struct_hub() can return NULL if the hub that the port belongs to
|
|
is concurrently removed, but the function does not check for this
|
|
possibility before dereferencing the returned value.
|
|
|
|
It turns out that the first dereference is unnecessary, since hub->intfdev
|
|
is the parent of the port device, so it can be changed easily. Adding a
|
|
check for hub == NULL prevents further problems.
|
|
|
|
The same bug exists in the disable_show() routine, and it can be fixed the
|
|
same way.(CVE-2024-36896)
|
|
|
|
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:
|
|
|
|
Reapply "drm/qxl: simplify qxl_fence_wait"
|
|
|
|
This reverts commit 07ed11afb68d94eadd4ffc082b97c2331307c5ea.
|
|
|
|
Stephen Rostedt reports:
|
|
"I went to run my tests on my VMs and the tests hung on boot up.
|
|
Unfortunately, the most I ever got out was:
|
|
|
|
[ 93.607888] Testing event system initcall: OK
|
|
[ 93.667730] Running tests on all trace events:
|
|
[ 93.669757] Testing all events: OK
|
|
[ 95.631064] ------------[ cut here ]------------
|
|
Timed out after 60 seconds"
|
|
|
|
and further debugging points to a possible circular locking dependency
|
|
between the console_owner locking and the worker pool locking.
|
|
|
|
Reverting the commit allows Steve's VM to boot to completion again.
|
|
|
|
[ This may obviously result in the "[TTM] Buffer eviction failed"
|
|
messages again, which was the reason for that original revert. But at
|
|
this point this seems preferable to a non-booting system... ](CVE-2024-36944)
|
|
|
|
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)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
net/mlx5: Add a timeout to acquire the command queue semaphore
|
|
|
|
Prevent forced completion handling on an entry that has not yet been
|
|
assigned an index, causing an out of bounds access on idx = -22.
|
|
Instead of waiting indefinitely for the sem, blocking flow now waits for
|
|
index to be allocated or a sem acquisition timeout before beginning the
|
|
timer for FW completion.
|
|
|
|
Kernel log example:
|
|
mlx5_core 0000:06:00.0: wait_func_handle_exec_timeout:1128:(pid 185911): cmd[-22]: CREATE_UCTX(0xa04) No done completion(CVE-2024-38556)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
rcu: Fix buffer overflow in print_cpu_stall_info()
|
|
|
|
The rcuc-starvation output from print_cpu_stall_info() might overflow the
|
|
buffer if there is a huge difference in jiffies difference. The situation
|
|
might seem improbable, but computers sometimes get very confused about
|
|
time, which can result in full-sized integers, and, in this case,
|
|
buffer overflow.
|
|
|
|
Also, the unsigned jiffies difference is printed using %ld, which is
|
|
normally for signed integers. This is intentional for debugging purposes,
|
|
but it is not obvious from the code.
|
|
|
|
This commit therefore changes sprintf() to snprintf() and adds a
|
|
clarifying comment about intention of %ld format.
|
|
|
|
Found by Linux Verification Center (linuxtesting.org) with SVACE.(CVE-2024-38576)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
ALSA: Fix deadlocks with kctl removals at disconnection
|
|
|
|
In snd_card_disconnect(), we set card->shutdown flag at the beginning,
|
|
call callbacks and do sync for card->power_ref_sleep waiters at the
|
|
end. The callback may delete a kctl element, and this can lead to a
|
|
deadlock when the device was in the suspended state. Namely:
|
|
|
|
* A process waits for the power up at snd_power_ref_and_wait() in
|
|
snd_ctl_info() or read/write() inside card->controls_rwsem.
|
|
|
|
* The system gets disconnected meanwhile, and the driver tries to
|
|
delete a kctl via snd_ctl_remove*(); it tries to take
|
|
card->controls_rwsem again, but this is already locked by the
|
|
above. Since the sleeper isn't woken up, this deadlocks.
|
|
|
|
An easy fix is to wake up sleepers before processing the driver
|
|
disconnect callbacks but right after setting the card->shutdown flag.
|
|
Then all sleepers will abort immediately, and the code flows again.
|
|
|
|
So, basically this patch moves the wait_event() call at the right
|
|
timing. While we're at it, just to be sure, call wait_event_all()
|
|
instead of wait_event(), although we don't use exclusive events on
|
|
this queue for now.(CVE-2024-38600)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
crypto: qat - validate slices count returned by FW
|
|
|
|
The function adf_send_admin_tl_start() enables the telemetry (TL)
|
|
feature on a QAT device by sending the ICP_QAT_FW_TL_START message to
|
|
the firmware. This triggers the FW to start writing TL data to a DMA
|
|
buffer in memory and returns an array containing the number of
|
|
accelerators of each type (slices) supported by this HW.
|
|
The pointer to this array is stored in the adf_tl_hw_data data
|
|
structure called slice_cnt.
|
|
|
|
The array slice_cnt is then used in the function tl_print_dev_data()
|
|
to report in debugfs only statistics about the supported accelerators.
|
|
An incorrect value of the elements in slice_cnt might lead to an out
|
|
of bounds memory read.
|
|
At the moment, there isn't an implementation of FW that returns a wrong
|
|
value, but for robustness validate the slice count array returned by FW.(CVE-2024-38606)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
macintosh/via-macii: Fix "BUG: sleeping function called from invalid context"
|
|
|
|
The via-macii ADB driver calls request_irq() after disabling hard
|
|
interrupts. But disabling interrupts isn't necessary here because the
|
|
VIA shift register interrupt was masked during VIA1 initialization.(CVE-2024-38607)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
kunit/fortify: Fix mismatched kvalloc()/vfree() usage
|
|
|
|
The kv*() family of tests were accidentally freeing with vfree() instead
|
|
of kvfree(). Use kvfree() instead.(CVE-2024-38617)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
drm/amdgpu: add error handle to avoid out-of-bounds
|
|
|
|
if the sdma_v4_0_irq_id_to_seq return -EINVAL, the process should
|
|
be stop to avoid out-of-bounds read, so directly return -EINVAL.(CVE-2024-39471)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
ASoC: SOF: ipc4-topology: Fix input format query of process modules without base extension
|
|
|
|
If a process module does not have base config extension then the same
|
|
format applies to all of it's inputs and the process->base_config_ext is
|
|
NULL, causing NULL dereference when specifically crafted topology and
|
|
sequences used.(CVE-2024-39473)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
fbdev: savage: Handle err return when savagefb_check_var failed
|
|
|
|
The commit 04e5eac8f3ab("fbdev: savage: Error out if pixclock equals zero")
|
|
checks the value of pixclock to avoid divide-by-zero error. However
|
|
the function savagefb_probe doesn't handle the error return of
|
|
savagefb_check_var. When pixclock is 0, it will cause divide-by-zero error.(CVE-2024-39475)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
media: mc: Fix graph walk in media_pipeline_start
|
|
|
|
The graph walk tries to follow all links, even if they are not between
|
|
pads. This causes a crash with, e.g. a MEDIA_LNK_FL_ANCILLARY_LINK link.
|
|
|
|
Fix this by allowing the walk to proceed only for MEDIA_LNK_FL_DATA_LINK
|
|
links.(CVE-2024-39481)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
drm/drm_file: Fix pid refcounting race
|
|
|
|
<maarten.lankhorst@linux.intel.com>, Maxime Ripard
|
|
<mripard@kernel.org>, Thomas Zimmermann <tzimmermann@suse.de>
|
|
|
|
filp->pid is supposed to be a refcounted pointer; however, before this
|
|
patch, drm_file_update_pid() only increments the refcount of a struct
|
|
pid after storing a pointer to it in filp->pid and dropping the
|
|
dev->filelist_mutex, making the following race possible:
|
|
|
|
process A process B
|
|
========= =========
|
|
begin drm_file_update_pid
|
|
mutex_lock(&dev->filelist_mutex)
|
|
rcu_replace_pointer(filp->pid, <pid B>, 1)
|
|
mutex_unlock(&dev->filelist_mutex)
|
|
begin drm_file_update_pid
|
|
mutex_lock(&dev->filelist_mutex)
|
|
rcu_replace_pointer(filp->pid, <pid A>, 1)
|
|
mutex_unlock(&dev->filelist_mutex)
|
|
get_pid(<pid A>)
|
|
synchronize_rcu()
|
|
put_pid(<pid B>) *** pid B reaches refcount 0 and is freed here ***
|
|
get_pid(<pid B>) *** UAF ***
|
|
synchronize_rcu()
|
|
put_pid(<pid A>)
|
|
|
|
As far as I know, this race can only occur with CONFIG_PREEMPT_RCU=y
|
|
because it requires RCU to detect a quiescent state in code that is not
|
|
explicitly calling into the scheduler.
|
|
|
|
This race leads to use-after-free of a "struct pid".
|
|
It is probably somewhat hard to hit because process A has to pass
|
|
through a synchronize_rcu() operation while process B is between
|
|
mutex_unlock() and get_pid().
|
|
|
|
Fix it by ensuring that by the time a pointer to the current task's pid
|
|
is stored in the file, an extra reference to the pid has been taken.
|
|
|
|
This fix also removes the condition for synchronize_rcu(); I think
|
|
that optimization is unnecessary complexity, since in that case we
|
|
would usually have bailed out on the lockless check above.(CVE-2024-39486)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
crypto: qat - Fix ADF_DEV_RESET_SYNC memory leak
|
|
|
|
Using completion_done to determine whether the caller has gone
|
|
away only works after a complete call. Furthermore it's still
|
|
possible that the caller has not yet called wait_for_completion,
|
|
resulting in another potential UAF.
|
|
|
|
Fix this by making the caller use cancel_work_sync and then freeing
|
|
the memory safely.(CVE-2024-39493)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
btrfs: zoned: fix use-after-free due to race with dev replace
|
|
|
|
While loading a zone's info during creation of a block group, we can race
|
|
with a device replace operation and then trigger a use-after-free on the
|
|
device that was just replaced (source device of the replace operation).
|
|
|
|
This happens because at btrfs_load_zone_info() we extract a device from
|
|
the chunk map into a local variable and then use the device while not
|
|
under the protection of the device replace rwsem. So if there's a device
|
|
replace operation happening when we extract the device and that device
|
|
is the source of the replace operation, we will trigger a use-after-free
|
|
if before we finish using the device the replace operation finishes and
|
|
frees the device.
|
|
|
|
Fix this by enlarging the critical section under the protection of the
|
|
device replace rwsem so that all uses of the device are done inside the
|
|
critical section.(CVE-2024-39496)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
netfilter: ipset: Fix race between namespace cleanup and gc in the list:set type
|
|
|
|
Lion Ackermann reported that there is a race condition between namespace cleanup
|
|
in ipset and the garbage collection of the list:set type. The namespace
|
|
cleanup can destroy the list:set type of sets while the gc of the set type is
|
|
waiting to run in rcu cleanup. The latter uses data from the destroyed set which
|
|
thus leads use after free. The patch contains the following parts:
|
|
|
|
- When destroying all sets, first remove the garbage collectors, then wait
|
|
if needed and then destroy the sets.
|
|
- Fix the badly ordered "wait then remove gc" for the destroy a single set
|
|
case.
|
|
- Fix the missing rcu locking in the list:set type in the userspace test
|
|
case.
|
|
- Use proper RCU list handlings in the list:set type.
|
|
|
|
The patch depends on c1193d9bbbd3 (netfilter: ipset: Add list flush to cancel_gc).(CVE-2024-39503)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved: cachefiles: remove requests from xarray during flushing requests Even with CACHEFILES_DEAD set, we can still read the requests, so in the following concurrency the request may be used after it has been freed: mount | daemon_thread1 | daemon_thread2 ------------------------------------------------------------ cachefiles_ondemand_init_object cachefiles_ondemand_send_req REQ_A = kzalloc(sizeof(*req) + data_len) wait_for_completion(&REQ_A->done) cachefiles_daemon_read cachefiles_ondemand_daemon_read // close dev fd cachefiles_flush_reqs complete(&REQ_A->done) kfree(REQ_A) xa_lock(&cache->reqs); cachefiles_ondemand_select_req req->msg.opcode != CACHEFILES_OP_READ // req use-after-free !!! xa_unlock(&cache->reqs); xa_destroy(&cache->reqs) Hence remove requests from cache->reqs when flushing them to avoid accessing freed requests.(CVE-2024-40900)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
net/mlx5: Always stop health timer during driver removal
|
|
|
|
Currently, if teardown_hca fails to execute during driver removal, mlx5
|
|
does not stop the health timer. Afterwards, mlx5 continue with driver
|
|
teardown. This may lead to a UAF bug, which results in page fault
|
|
Oops[1], since the health timer invokes after resources were freed.
|
|
|
|
Hence, stop the health monitor even if teardown_hca fails.
|
|
|
|
[1]
|
|
mlx5_core 0000:18:00.0: E-Switch: Unload vfs: mode(LEGACY), nvfs(0), necvfs(0), active vports(0)
|
|
mlx5_core 0000:18:00.0: E-Switch: Disable: mode(LEGACY), nvfs(0), necvfs(0), active vports(0)
|
|
mlx5_core 0000:18:00.0: E-Switch: Disable: mode(LEGACY), nvfs(0), necvfs(0), active vports(0)
|
|
mlx5_core 0000:18:00.0: E-Switch: cleanup
|
|
mlx5_core 0000:18:00.0: wait_func:1155:(pid 1967079): TEARDOWN_HCA(0x103) timeout. Will cause a leak of a command resource
|
|
mlx5_core 0000:18:00.0: mlx5_function_close:1288:(pid 1967079): tear_down_hca failed, skip cleanup
|
|
BUG: unable to handle page fault for address: ffffa26487064230
|
|
PGD 100c00067 P4D 100c00067 PUD 100e5a067 PMD 105ed7067 PTE 0
|
|
Oops: 0000 [#1] PREEMPT SMP PTI
|
|
CPU: 0 PID: 0 Comm: swapper/0 Tainted: G OE ------- --- 6.7.0-68.fc38.x86_64 #1
|
|
Hardware name: Intel Corporation S2600WFT/S2600WFT, BIOS SE5C620.86B.02.01.0013.121520200651 12/15/2020
|
|
RIP: 0010:ioread32be+0x34/0x60
|
|
RSP: 0018:ffffa26480003e58 EFLAGS: 00010292
|
|
RAX: ffffa26487064200 RBX: ffff9042d08161a0 RCX: ffff904c108222c0
|
|
RDX: 000000010bbf1b80 RSI: ffffffffc055ddb0 RDI: ffffa26487064230
|
|
RBP: ffff9042d08161a0 R08: 0000000000000022 R09: ffff904c108222e8
|
|
R10: 0000000000000004 R11: 0000000000000441 R12: ffffffffc055ddb0
|
|
R13: ffffa26487064200 R14: ffffa26480003f00 R15: ffff904c108222c0
|
|
FS: 0000000000000000(0000) GS:ffff904c10800000(0000) knlGS:0000000000000000
|
|
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
|
|
CR2: ffffa26487064230 CR3: 00000002c4420006 CR4: 00000000007706f0
|
|
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
|
|
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
|
|
PKRU: 55555554
|
|
Call Trace:
|
|
<IRQ>
|
|
? __die+0x23/0x70
|
|
? page_fault_oops+0x171/0x4e0
|
|
? exc_page_fault+0x175/0x180
|
|
? asm_exc_page_fault+0x26/0x30
|
|
? __pfx_poll_health+0x10/0x10 [mlx5_core]
|
|
? __pfx_poll_health+0x10/0x10 [mlx5_core]
|
|
? ioread32be+0x34/0x60
|
|
mlx5_health_check_fatal_sensors+0x20/0x100 [mlx5_core]
|
|
? __pfx_poll_health+0x10/0x10 [mlx5_core]
|
|
poll_health+0x42/0x230 [mlx5_core]
|
|
? __next_timer_interrupt+0xbc/0x110
|
|
? __pfx_poll_health+0x10/0x10 [mlx5_core]
|
|
call_timer_fn+0x21/0x130
|
|
? __pfx_poll_health+0x10/0x10 [mlx5_core]
|
|
__run_timers+0x222/0x2c0
|
|
run_timer_softirq+0x1d/0x40
|
|
__do_softirq+0xc9/0x2c8
|
|
__irq_exit_rcu+0xa6/0xc0
|
|
sysvec_apic_timer_interrupt+0x72/0x90
|
|
</IRQ>
|
|
<TASK>
|
|
asm_sysvec_apic_timer_interrupt+0x1a/0x20
|
|
RIP: 0010:cpuidle_enter_state+0xcc/0x440
|
|
? cpuidle_enter_state+0xbd/0x440
|
|
cpuidle_enter+0x2d/0x40
|
|
do_idle+0x20d/0x270
|
|
cpu_startup_entry+0x2a/0x30
|
|
rest_init+0xd0/0xd0
|
|
arch_call_rest_init+0xe/0x30
|
|
start_kernel+0x709/0xa90
|
|
x86_64_start_reservations+0x18/0x30
|
|
x86_64_start_kernel+0x96/0xa0
|
|
secondary_startup_64_no_verify+0x18f/0x19b
|
|
---[ end trace 0000000000000000 ]---(CVE-2024-40906)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
bpf: Set run context for rawtp test_run callback
|
|
|
|
syzbot reported crash when rawtp program executed through the
|
|
test_run interface calls bpf_get_attach_cookie helper or any
|
|
other helper that touches task->bpf_ctx pointer.
|
|
|
|
Setting the run context (task->bpf_ctx pointer) for test_run
|
|
callback.(CVE-2024-40908)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
cachefiles: defer exposing anon_fd until after copy_to_user() succeeds
|
|
|
|
After installing the anonymous fd, we can now see it in userland and close
|
|
it. However, at this point we may not have gotten the reference count of
|
|
the cache, but we will put it during colse fd, so this may cause a cache
|
|
UAF.
|
|
|
|
So grab the cache reference count before fd_install(). In addition, by
|
|
kernel convention, fd is taken over by the user land after fd_install(),
|
|
and the kernel should not call close_fd() after that, i.e., it should call
|
|
fd_install() after everything is ready, thus fd_install() is called after
|
|
copy_to_user() succeeds.(CVE-2024-40913)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
net: bridge: mst: fix suspicious rcu usage in br_mst_set_state
|
|
|
|
I converted br_mst_set_state to RCU to avoid a vlan use-after-free
|
|
but forgot to change the vlan group dereference helper. Switch to vlan
|
|
group RCU deref helper to fix the suspicious rcu usage warning.(CVE-2024-40920)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
net: bridge: mst: pass vlan group directly to br_mst_vlan_set_state
|
|
|
|
Pass the already obtained vlan group pointer to br_mst_vlan_set_state()
|
|
instead of dereferencing it again. Each caller has already correctly
|
|
dereferenced it for their context. This change is required for the
|
|
following suspicious RCU dereference fix. No functional changes
|
|
intended.(CVE-2024-40921)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
io_uring/rsrc: don't lock while !TASK_RUNNING
|
|
|
|
There is a report of io_rsrc_ref_quiesce() locking a mutex while not
|
|
TASK_RUNNING, which is due to forgetting restoring the state back after
|
|
io_run_task_work_sig() and attempts to break out of the waiting loop.
|
|
|
|
do not call blocking ops when !TASK_RUNNING; state=1 set at
|
|
[<ffffffff815d2494>] prepare_to_wait+0xa4/0x380
|
|
kernel/sched/wait.c:237
|
|
WARNING: CPU: 2 PID: 397056 at kernel/sched/core.c:10099
|
|
__might_sleep+0x114/0x160 kernel/sched/core.c:10099
|
|
RIP: 0010:__might_sleep+0x114/0x160 kernel/sched/core.c:10099
|
|
Call Trace:
|
|
<TASK>
|
|
__mutex_lock_common kernel/locking/mutex.c:585 [inline]
|
|
__mutex_lock+0xb4/0x940 kernel/locking/mutex.c:752
|
|
io_rsrc_ref_quiesce+0x590/0x940 io_uring/rsrc.c:253
|
|
io_sqe_buffers_unregister+0xa2/0x340 io_uring/rsrc.c:799
|
|
__io_uring_register io_uring/register.c:424 [inline]
|
|
__do_sys_io_uring_register+0x5b9/0x2400 io_uring/register.c:613
|
|
do_syscall_x64 arch/x86/entry/common.c:52 [inline]
|
|
do_syscall_64+0xd8/0x270 arch/x86/entry/common.c:83
|
|
entry_SYSCALL_64_after_hwframe+0x6f/0x77(CVE-2024-40922)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
cachefiles: flush all requests after setting CACHEFILES_DEAD
|
|
|
|
In ondemand mode, when the daemon is processing an open request, if the
|
|
kernel flags the cache as CACHEFILES_DEAD, the cachefiles_daemon_write()
|
|
will always return -EIO, so the daemon can't pass the copen to the kernel.
|
|
Then the kernel process that is waiting for the copen triggers a hung_task.
|
|
|
|
Since the DEAD state is irreversible, it can only be exited by closing
|
|
/dev/cachefiles. Therefore, after calling cachefiles_io_error() to mark
|
|
the cache as CACHEFILES_DEAD, if in ondemand mode, flush all requests to
|
|
avoid the above hungtask. We may still be able to read some of the cached
|
|
data before closing the fd of /dev/cachefiles.
|
|
|
|
Note that this relies on the patch that adds reference counting to the req,
|
|
otherwise it may UAF.(CVE-2024-40935)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
KVM: Fix a data race on last_boosted_vcpu in kvm_vcpu_on_spin()
|
|
|
|
Use {READ,WRITE}_ONCE() to access kvm->last_boosted_vcpu to ensure the
|
|
loads and stores are atomic. In the extremely unlikely scenario the
|
|
compiler tears the stores, it's theoretically possible for KVM to attempt
|
|
to get a vCPU using an out-of-bounds index, e.g. if the write is split
|
|
into multiple 8-bit stores, and is paired with a 32-bit load on a VM with
|
|
257 vCPUs:
|
|
|
|
CPU0 CPU1
|
|
last_boosted_vcpu = 0xff;
|
|
|
|
(last_boosted_vcpu = 0x100)
|
|
last_boosted_vcpu[15:8] = 0x01;
|
|
i = (last_boosted_vcpu = 0x1ff)
|
|
last_boosted_vcpu[7:0] = 0x00;
|
|
|
|
vcpu = kvm->vcpu_array[0x1ff];
|
|
|
|
As detected by KCSAN:
|
|
|
|
BUG: KCSAN: data-race in kvm_vcpu_on_spin [kvm] / kvm_vcpu_on_spin [kvm]
|
|
|
|
write to 0xffffc90025a92344 of 4 bytes by task 4340 on cpu 16:
|
|
kvm_vcpu_on_spin (arch/x86/kvm/../../../virt/kvm/kvm_main.c:4112) kvm
|
|
handle_pause (arch/x86/kvm/vmx/vmx.c:5929) kvm_intel
|
|
vmx_handle_exit (arch/x86/kvm/vmx/vmx.c:?
|
|
arch/x86/kvm/vmx/vmx.c:6606) kvm_intel
|
|
vcpu_run (arch/x86/kvm/x86.c:11107 arch/x86/kvm/x86.c:11211) kvm
|
|
kvm_arch_vcpu_ioctl_run (arch/x86/kvm/x86.c:?) kvm
|
|
kvm_vcpu_ioctl (arch/x86/kvm/../../../virt/kvm/kvm_main.c:?) kvm
|
|
__se_sys_ioctl (fs/ioctl.c:52 fs/ioctl.c:904 fs/ioctl.c:890)
|
|
__x64_sys_ioctl (fs/ioctl.c:890)
|
|
x64_sys_call (arch/x86/entry/syscall_64.c:33)
|
|
do_syscall_64 (arch/x86/entry/common.c:?)
|
|
entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:130)
|
|
|
|
read to 0xffffc90025a92344 of 4 bytes by task 4342 on cpu 4:
|
|
kvm_vcpu_on_spin (arch/x86/kvm/../../../virt/kvm/kvm_main.c:4069) kvm
|
|
handle_pause (arch/x86/kvm/vmx/vmx.c:5929) kvm_intel
|
|
vmx_handle_exit (arch/x86/kvm/vmx/vmx.c:?
|
|
arch/x86/kvm/vmx/vmx.c:6606) kvm_intel
|
|
vcpu_run (arch/x86/kvm/x86.c:11107 arch/x86/kvm/x86.c:11211) kvm
|
|
kvm_arch_vcpu_ioctl_run (arch/x86/kvm/x86.c:?) kvm
|
|
kvm_vcpu_ioctl (arch/x86/kvm/../../../virt/kvm/kvm_main.c:?) kvm
|
|
__se_sys_ioctl (fs/ioctl.c:52 fs/ioctl.c:904 fs/ioctl.c:890)
|
|
__x64_sys_ioctl (fs/ioctl.c:890)
|
|
x64_sys_call (arch/x86/entry/syscall_64.c:33)
|
|
do_syscall_64 (arch/x86/entry/common.c:?)
|
|
entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:130)
|
|
|
|
value changed: 0x00000012 -> 0x00000000(CVE-2024-40953)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
btrfs: zoned: allocate dummy checksums for zoned NODATASUM writes
|
|
|
|
Shin'ichiro reported that when he's running fstests' test-case
|
|
btrfs/167 on emulated zoned devices, he's seeing the following NULL
|
|
pointer dereference in 'btrfs_zone_finish_endio()':
|
|
|
|
Oops: general protection fault, probably for non-canonical address 0xdffffc0000000011: 0000 [#1] PREEMPT SMP KASAN NOPTI
|
|
KASAN: null-ptr-deref in range [0x0000000000000088-0x000000000000008f]
|
|
CPU: 4 PID: 2332440 Comm: kworker/u80:15 Tainted: G W 6.10.0-rc2-kts+ #4
|
|
Hardware name: Supermicro Super Server/X11SPi-TF, BIOS 3.3 02/21/2020
|
|
Workqueue: btrfs-endio-write btrfs_work_helper [btrfs]
|
|
RIP: 0010:btrfs_zone_finish_endio.part.0+0x34/0x160 [btrfs]
|
|
|
|
RSP: 0018:ffff88867f107a90 EFLAGS: 00010206
|
|
RAX: dffffc0000000000 RBX: 0000000000000000 RCX: ffffffff893e5534
|
|
RDX: 0000000000000011 RSI: 0000000000000004 RDI: 0000000000000088
|
|
RBP: 0000000000000002 R08: 0000000000000001 R09: ffffed1081696028
|
|
R10: ffff88840b4b0143 R11: ffff88834dfff600 R12: ffff88840b4b0000
|
|
R13: 0000000000020000 R14: 0000000000000000 R15: ffff888530ad5210
|
|
FS: 0000000000000000(0000) GS:ffff888e3f800000(0000) knlGS:0000000000000000
|
|
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
|
|
CR2: 00007f87223fff38 CR3: 00000007a7c6a002 CR4: 00000000007706f0
|
|
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
|
|
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
|
|
PKRU: 55555554
|
|
Call Trace:
|
|
<TASK>
|
|
? __die_body.cold+0x19/0x27
|
|
? die_addr+0x46/0x70
|
|
? exc_general_protection+0x14f/0x250
|
|
? asm_exc_general_protection+0x26/0x30
|
|
? do_raw_read_unlock+0x44/0x70
|
|
? btrfs_zone_finish_endio.part.0+0x34/0x160 [btrfs]
|
|
btrfs_finish_one_ordered+0x5d9/0x19a0 [btrfs]
|
|
? __pfx_lock_release+0x10/0x10
|
|
? do_raw_write_lock+0x90/0x260
|
|
? __pfx_do_raw_write_lock+0x10/0x10
|
|
? __pfx_btrfs_finish_one_ordered+0x10/0x10 [btrfs]
|
|
? _raw_write_unlock+0x23/0x40
|
|
? btrfs_finish_ordered_zoned+0x5a9/0x850 [btrfs]
|
|
? lock_acquire+0x435/0x500
|
|
btrfs_work_helper+0x1b1/0xa70 [btrfs]
|
|
? __schedule+0x10a8/0x60b0
|
|
? __pfx___might_resched+0x10/0x10
|
|
process_one_work+0x862/0x1410
|
|
? __pfx_lock_acquire+0x10/0x10
|
|
? __pfx_process_one_work+0x10/0x10
|
|
? assign_work+0x16c/0x240
|
|
worker_thread+0x5e6/0x1010
|
|
? __pfx_worker_thread+0x10/0x10
|
|
kthread+0x2c3/0x3a0
|
|
? trace_irq_enable.constprop.0+0xce/0x110
|
|
? __pfx_kthread+0x10/0x10
|
|
ret_from_fork+0x31/0x70
|
|
? __pfx_kthread+0x10/0x10
|
|
ret_from_fork_asm+0x1a/0x30
|
|
</TASK>
|
|
|
|
Enabling CONFIG_BTRFS_ASSERT revealed the following assertion to
|
|
trigger:
|
|
|
|
assertion failed: !list_empty(&ordered->list), in fs/btrfs/zoned.c:1815
|
|
|
|
This indicates, that we're missing the checksums list on the
|
|
ordered_extent. As btrfs/167 is doing a NOCOW write this is to be
|
|
expected.
|
|
|
|
Further analysis with drgn confirmed the assumption:
|
|
|
|
>>> inode = prog.crashed_thread().stack_trace()[11]['ordered'].inode
|
|
>>> btrfs_inode = drgn.container_of(inode, "struct btrfs_inode", \
|
|
"vfs_inode")
|
|
>>> print(btrfs_inode.flags)
|
|
(u32)1
|
|
|
|
As zoned emulation mode simulates conventional zones on regular devices,
|
|
we cannot use zone-append for writing. But we're only attaching dummy
|
|
checksums if we're doing a zone-append write.
|
|
|
|
So for NOCOW zoned data writes on conventional zones, also attach a
|
|
dummy checksum.(CVE-2024-40962)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
serial: imx: Introduce timeout when waiting on transmitter empty
|
|
|
|
By waiting at most 1 second for USR2_TXDC to be set, we avoid a potential
|
|
deadlock.
|
|
|
|
In case of the timeout, there is not much we can do, so we simply ignore
|
|
the transmitter state and optimistically try to continue.(CVE-2024-40967)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
batman-adv: bypass empty buckets in batadv_purge_orig_ref()
|
|
|
|
Many syzbot reports are pointing to soft lockups in
|
|
batadv_purge_orig_ref() [1]
|
|
|
|
Root cause is unknown, but we can avoid spending too much
|
|
time there and perhaps get more interesting reports.
|
|
|
|
[1]
|
|
|
|
watchdog: BUG: soft lockup - CPU#0 stuck for 27s! [kworker/u4:6:621]
|
|
Modules linked in:
|
|
irq event stamp: 6182794
|
|
hardirqs last enabled at (6182793): [<ffff8000801dae10>] __local_bh_enable_ip+0x224/0x44c kernel/softirq.c:386
|
|
hardirqs last disabled at (6182794): [<ffff80008ad66a78>] __el1_irq arch/arm64/kernel/entry-common.c:533 [inline]
|
|
hardirqs last disabled at (6182794): [<ffff80008ad66a78>] el1_interrupt+0x24/0x68 arch/arm64/kernel/entry-common.c:551
|
|
softirqs last enabled at (6182792): [<ffff80008aab71c4>] spin_unlock_bh include/linux/spinlock.h:396 [inline]
|
|
softirqs last enabled at (6182792): [<ffff80008aab71c4>] batadv_purge_orig_ref+0x114c/0x1228 net/batman-adv/originator.c:1287
|
|
softirqs last disabled at (6182790): [<ffff80008aab61dc>] spin_lock_bh include/linux/spinlock.h:356 [inline]
|
|
softirqs last disabled at (6182790): [<ffff80008aab61dc>] batadv_purge_orig_ref+0x164/0x1228 net/batman-adv/originator.c:1271
|
|
CPU: 0 PID: 621 Comm: kworker/u4:6 Not tainted 6.8.0-rc7-syzkaller-g707081b61156 #0
|
|
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 02/29/2024
|
|
Workqueue: bat_events batadv_purge_orig
|
|
pstate: 80400005 (Nzcv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
|
|
pc : should_resched arch/arm64/include/asm/preempt.h:79 [inline]
|
|
pc : __local_bh_enable_ip+0x228/0x44c kernel/softirq.c:388
|
|
lr : __local_bh_enable_ip+0x224/0x44c kernel/softirq.c:386
|
|
sp : ffff800099007970
|
|
x29: ffff800099007980 x28: 1fffe00018fce1bd x27: dfff800000000000
|
|
x26: ffff0000d2620008 x25: ffff0000c7e70de8 x24: 0000000000000001
|
|
x23: 1fffe00018e57781 x22: dfff800000000000 x21: ffff80008aab71c4
|
|
x20: ffff0001b40136c0 x19: ffff0000c72bbc08 x18: 1fffe0001a817bb0
|
|
x17: ffff800125414000 x16: ffff80008032116c x15: 0000000000000001
|
|
x14: 1fffe0001ee9d610 x13: 0000000000000000 x12: 0000000000000003
|
|
x11: 0000000000000000 x10: 0000000000ff0100 x9 : 0000000000000000
|
|
x8 : 00000000005e5789 x7 : ffff80008aab61dc x6 : 0000000000000000
|
|
x5 : 0000000000000000 x4 : 0000000000000001 x3 : 0000000000000000
|
|
x2 : 0000000000000006 x1 : 0000000000000080 x0 : ffff800125414000
|
|
Call trace:
|
|
__daif_local_irq_enable arch/arm64/include/asm/irqflags.h:27 [inline]
|
|
arch_local_irq_enable arch/arm64/include/asm/irqflags.h:49 [inline]
|
|
__local_bh_enable_ip+0x228/0x44c kernel/softirq.c:386
|
|
__raw_spin_unlock_bh include/linux/spinlock_api_smp.h:167 [inline]
|
|
_raw_spin_unlock_bh+0x3c/0x4c kernel/locking/spinlock.c:210
|
|
spin_unlock_bh include/linux/spinlock.h:396 [inline]
|
|
batadv_purge_orig_ref+0x114c/0x1228 net/batman-adv/originator.c:1287
|
|
batadv_purge_orig+0x20/0x70 net/batman-adv/originator.c:1300
|
|
process_one_work+0x694/0x1204 kernel/workqueue.c:2633
|
|
process_scheduled_works kernel/workqueue.c:2706 [inline]
|
|
worker_thread+0x938/0xef4 kernel/workqueue.c:2787
|
|
kthread+0x288/0x310 kernel/kthread.c:388
|
|
ret_from_fork+0x10/0x20 arch/arm64/kernel/entry.S:860
|
|
Sending NMI from CPU 0 to CPUs 1:
|
|
NMI backtrace for cpu 1
|
|
CPU: 1 PID: 0 Comm: swapper/1 Not tainted 6.8.0-rc7-syzkaller-g707081b61156 #0
|
|
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 02/29/2024
|
|
pstate: 80400005 (Nzcv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
|
|
pc : arch_local_irq_enable+0x8/0xc arch/arm64/include/asm/irqflags.h:51
|
|
lr : default_idle_call+0xf8/0x128 kernel/sched/idle.c:103
|
|
sp : ffff800093a17d30
|
|
x29: ffff800093a17d30 x28: dfff800000000000 x27: 1ffff00012742fb4
|
|
x26: ffff80008ec9d000 x25: 0000000000000000 x24: 0000000000000002
|
|
x23: 1ffff00011d93a74 x22: ffff80008ec9d3a0 x21: 0000000000000000
|
|
x20: ffff0000c19dbc00 x19: ffff8000802d0fd8 x18: 1fffe00036804396
|
|
x17: ffff80008ec9d000 x16: ffff8000802d089c x15: 0000000000000001
|
|
---truncated---(CVE-2024-40981)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
netrom: Fix a memory leak in nr_heartbeat_expiry()
|
|
|
|
syzbot reported a memory leak in nr_create() [0].
|
|
|
|
Commit 409db27e3a2e ("netrom: Fix use-after-free of a listening socket.")
|
|
added sock_hold() to the nr_heartbeat_expiry() function, where
|
|
a) a socket has a SOCK_DESTROY flag or
|
|
b) a listening socket has a SOCK_DEAD flag.
|
|
|
|
But in the case "a," when the SOCK_DESTROY flag is set, the file descriptor
|
|
has already been closed and the nr_release() function has been called.
|
|
So it makes no sense to hold the reference count because no one will
|
|
call another nr_destroy_socket() and put it as in the case "b."
|
|
|
|
nr_connect
|
|
nr_establish_data_link
|
|
nr_start_heartbeat
|
|
|
|
nr_release
|
|
switch (nr->state)
|
|
case NR_STATE_3
|
|
nr->state = NR_STATE_2
|
|
sock_set_flag(sk, SOCK_DESTROY);
|
|
|
|
nr_rx_frame
|
|
nr_process_rx_frame
|
|
switch (nr->state)
|
|
case NR_STATE_2
|
|
nr_state2_machine()
|
|
nr_disconnect()
|
|
nr_sk(sk)->state = NR_STATE_0
|
|
sock_set_flag(sk, SOCK_DEAD)
|
|
|
|
nr_heartbeat_expiry
|
|
switch (nr->state)
|
|
case NR_STATE_0
|
|
if (sock_flag(sk, SOCK_DESTROY) ||
|
|
(sk->sk_state == TCP_LISTEN
|
|
&& sock_flag(sk, SOCK_DEAD)))
|
|
sock_hold() // ( !!! )
|
|
nr_destroy_socket()
|
|
|
|
To fix the memory leak, let's call sock_hold() only for a listening socket.
|
|
|
|
Found by InfoTeCS on behalf of Linux Verification Center
|
|
(linuxtesting.org) with Syzkaller.
|
|
|
|
[0]: https://syzkaller.appspot.com/bug?extid=d327a1f3b12e1e206c16(CVE-2024-41006)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
bpf: Fix too early release of tcx_entry
|
|
|
|
Pedro Pinto and later independently also Hyunwoo Kim and Wongi Lee reported
|
|
an issue that the tcx_entry can be released too early leading to a use
|
|
after free (UAF) when an active old-style ingress or clsact qdisc with a
|
|
shared tc block is later replaced by another ingress or clsact instance.
|
|
|
|
Essentially, the sequence to trigger the UAF (one example) can be as follows:
|
|
|
|
1. A network namespace is created
|
|
2. An ingress qdisc is created. This allocates a tcx_entry, and
|
|
&tcx_entry->miniq is stored in the qdisc's miniqp->p_miniq. At the
|
|
same time, a tcf block with index 1 is created.
|
|
3. chain0 is attached to the tcf block. chain0 must be connected to
|
|
the block linked to the ingress qdisc to later reach the function
|
|
tcf_chain0_head_change_cb_del() which triggers the UAF.
|
|
4. Create and graft a clsact qdisc. This causes the ingress qdisc
|
|
created in step 1 to be removed, thus freeing the previously linked
|
|
tcx_entry:
|
|
|
|
rtnetlink_rcv_msg()
|
|
=> tc_modify_qdisc()
|
|
=> qdisc_create()
|
|
=> clsact_init() [a]
|
|
=> qdisc_graft()
|
|
=> qdisc_destroy()
|
|
=> __qdisc_destroy()
|
|
=> ingress_destroy() [b]
|
|
=> tcx_entry_free()
|
|
=> kfree_rcu() // tcx_entry freed
|
|
|
|
5. Finally, the network namespace is closed. This registers the
|
|
cleanup_net worker, and during the process of releasing the
|
|
remaining clsact qdisc, it accesses the tcx_entry that was
|
|
already freed in step 4, causing the UAF to occur:
|
|
|
|
cleanup_net()
|
|
=> ops_exit_list()
|
|
=> default_device_exit_batch()
|
|
=> unregister_netdevice_many()
|
|
=> unregister_netdevice_many_notify()
|
|
=> dev_shutdown()
|
|
=> qdisc_put()
|
|
=> clsact_destroy() [c]
|
|
=> tcf_block_put_ext()
|
|
=> tcf_chain0_head_change_cb_del()
|
|
=> tcf_chain_head_change_item()
|
|
=> clsact_chain_head_change()
|
|
=> mini_qdisc_pair_swap() // UAF
|
|
|
|
There are also other variants, the gist is to add an ingress (or clsact)
|
|
qdisc with a specific shared block, then to replace that qdisc, waiting
|
|
for the tcx_entry kfree_rcu() to be executed and subsequently accessing
|
|
the current active qdisc's miniq one way or another.
|
|
|
|
The correct fix is to turn the miniq_active boolean into a counter. What
|
|
can be observed, at step 2 above, the counter transitions from 0->1, at
|
|
step [a] from 1->2 (in order for the miniq object to remain active during
|
|
the replacement), then in [b] from 2->1 and finally [c] 1->0 with the
|
|
eventual release. The reference counter in general ranges from [0,2] and
|
|
it does not need to be atomic since all access to the counter is protected
|
|
by the rtnl mutex. With this in place, there is no longer a UAF happening
|
|
and the tcx_entry is freed at the correct time.(CVE-2024-41010)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
xfs: don't walk off the end of a directory data block
|
|
|
|
This adds sanity checks for xfs_dir2_data_unused and xfs_dir2_data_entry
|
|
to make sure don't stray beyond valid memory region. Before patching, the
|
|
loop simply checks that the start offset of the dup and dep is within the
|
|
range. So in a crafted image, if last entry is xfs_dir2_data_unused, we
|
|
can change dup->length to dup->length-1 and leave 1 byte of space. In the
|
|
next traversal, this space will be considered as dup or dep. We may
|
|
encounter an out of bound read when accessing the fixed members.
|
|
|
|
In the patch, we make sure that the remaining bytes large enough to hold
|
|
an unused entry before accessing xfs_dir2_data_unused and
|
|
xfs_dir2_data_unused is XFS_DIR2_DATA_ALIGN byte aligned. We also make
|
|
sure that the remaining bytes large enough to hold a dirent with a
|
|
single-byte name before accessing xfs_dir2_data_entry.(CVE-2024-41013)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
xfs: add bounds checking to xlog_recover_process_data
|
|
|
|
There is a lack of verification of the space occupied by fixed members
|
|
of xlog_op_header in the xlog_recover_process_data.
|
|
|
|
We can create a crafted image to trigger an out of bounds read by
|
|
following these steps:
|
|
1) Mount an image of xfs, and do some file operations to leave records
|
|
2) Before umounting, copy the image for subsequent steps to simulate
|
|
abnormal exit. Because umount will ensure that tail_blk and
|
|
head_blk are the same, which will result in the inability to enter
|
|
xlog_recover_process_data
|
|
3) Write a tool to parse and modify the copied image in step 2
|
|
4) Make the end of the xlog_op_header entries only 1 byte away from
|
|
xlog_rec_header->h_size
|
|
5) xlog_rec_header->h_num_logops++
|
|
6) Modify xlog_rec_header->h_crc
|
|
|
|
Fix:
|
|
Add a check to make sure there is sufficient space to access fixed members
|
|
of xlog_op_header.(CVE-2024-41014)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
fs/ntfs3: Add a check for attr_names and oatbl
|
|
|
|
Added out-of-bound checking for *ane (ATTR_NAME_ENTRY).(CVE-2024-41018)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
fs/ntfs3: Validate ff offset
|
|
|
|
This adds sanity checks for ff offset. There is a check
|
|
on rt->first_free at first, but walking through by ff
|
|
without any check. If the second ff is a large offset.
|
|
We may encounter an out-of-bound read.(CVE-2024-41019)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
filelock: Fix fcntl/close race recovery compat path
|
|
|
|
When I wrote commit 3cad1bc01041 ("filelock: Remove locks reliably when
|
|
fcntl/close race is detected"), I missed that there are two copies of the
|
|
code I was patching: The normal version, and the version for 64-bit offsets
|
|
on 32-bit kernels.
|
|
Thanks to Greg KH for stumbling over this while doing the stable
|
|
backport...
|
|
|
|
Apply exactly the same fix to the compat path for 32-bit kernels.(CVE-2024-41020)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
s390/mm: Fix VM_FAULT_HWPOISON handling in do_exception()
|
|
|
|
There is no support for HWPOISON, MEMORY_FAILURE, or ARCH_HAS_COPY_MC on
|
|
s390. Therefore we do not expect to see VM_FAULT_HWPOISON in
|
|
do_exception().
|
|
|
|
However, since commit af19487f00f3 ("mm: make PTE_MARKER_SWAPIN_ERROR more
|
|
general"), it is possible to see VM_FAULT_HWPOISON in combination with
|
|
PTE_MARKER_POISONED, even on architectures that do not support HWPOISON
|
|
otherwise. In this case, we will end up on the BUG() in do_exception().
|
|
|
|
Fix this by treating VM_FAULT_HWPOISON the same as VM_FAULT_SIGBUS, similar
|
|
to x86 when MEMORY_FAILURE is not configured. Also print unexpected fault
|
|
flags, for easier debugging.
|
|
|
|
Note that VM_FAULT_HWPOISON_LARGE is not expected, because s390 cannot
|
|
support swap entries on other levels than PTE level.(CVE-2024-41021)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
sched/deadline: Fix task_struct reference leak
|
|
|
|
During the execution of the following stress test with linux-rt:
|
|
|
|
stress-ng --cyclic 30 --timeout 30 --minimize --quiet
|
|
|
|
kmemleak frequently reported a memory leak concerning the task_struct:
|
|
|
|
unreferenced object 0xffff8881305b8000 (size 16136):
|
|
comm "stress-ng", pid 614, jiffies 4294883961 (age 286.412s)
|
|
object hex dump (first 32 bytes):
|
|
02 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .@..............
|
|
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
|
|
debug hex dump (first 16 bytes):
|
|
53 09 00 00 00 00 00 00 00 00 00 00 00 00 00 00 S...............
|
|
backtrace:
|
|
[<00000000046b6790>] dup_task_struct+0x30/0x540
|
|
[<00000000c5ca0f0b>] copy_process+0x3d9/0x50e0
|
|
[<00000000ced59777>] kernel_clone+0xb0/0x770
|
|
[<00000000a50befdc>] __do_sys_clone+0xb6/0xf0
|
|
[<000000001dbf2008>] do_syscall_64+0x5d/0xf0
|
|
[<00000000552900ff>] entry_SYSCALL_64_after_hwframe+0x6e/0x76
|
|
|
|
The issue occurs in start_dl_timer(), which increments the task_struct
|
|
reference count and sets a timer. The timer callback, dl_task_timer,
|
|
is supposed to decrement the reference count upon expiration. However,
|
|
if enqueue_task_dl() is called before the timer expires and cancels it,
|
|
the reference count is not decremented, leading to the leak.
|
|
|
|
This patch fixes the reference leak by ensuring the task_struct
|
|
reference count is properly decremented when the timer is canceled.(CVE-2024-41023)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
firmware: cs_dsp: Fix overflow checking of wmfw header
|
|
|
|
Fix the checking that firmware file buffer is large enough for the
|
|
wmfw header, to prevent overrunning the buffer.
|
|
|
|
The original code tested that the firmware data buffer contained
|
|
enough bytes for the sums of the size of the structs
|
|
|
|
wmfw_header + wmfw_adsp1_sizes + wmfw_footer
|
|
|
|
But wmfw_adsp1_sizes is only used on ADSP1 firmware. For ADSP2 and
|
|
Halo Core the equivalent struct is wmfw_adsp2_sizes, which is
|
|
4 bytes longer. So the length check didn't guarantee that there
|
|
are enough bytes in the firmware buffer for a header with
|
|
wmfw_adsp2_sizes.
|
|
|
|
This patch splits the length check into three separate parts. Each
|
|
of the wmfw_header, wmfw_adsp?_sizes and wmfw_footer are checked
|
|
separately before they are used.(CVE-2024-41039)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
net/sched: Fix UAF when resolving a clash
|
|
|
|
KASAN reports the following UAF:
|
|
|
|
BUG: KASAN: slab-use-after-free in tcf_ct_flow_table_process_conn+0x12b/0x380 [act_ct]
|
|
Read of size 1 at addr ffff888c07603600 by task handler130/6469
|
|
|
|
Call Trace:
|
|
<IRQ>
|
|
dump_stack_lvl+0x48/0x70
|
|
print_address_description.constprop.0+0x33/0x3d0
|
|
print_report+0xc0/0x2b0
|
|
kasan_report+0xd0/0x120
|
|
__asan_load1+0x6c/0x80
|
|
tcf_ct_flow_table_process_conn+0x12b/0x380 [act_ct]
|
|
tcf_ct_act+0x886/0x1350 [act_ct]
|
|
tcf_action_exec+0xf8/0x1f0
|
|
fl_classify+0x355/0x360 [cls_flower]
|
|
__tcf_classify+0x1fd/0x330
|
|
tcf_classify+0x21c/0x3c0
|
|
sch_handle_ingress.constprop.0+0x2c5/0x500
|
|
__netif_receive_skb_core.constprop.0+0xb25/0x1510
|
|
__netif_receive_skb_list_core+0x220/0x4c0
|
|
netif_receive_skb_list_internal+0x446/0x620
|
|
napi_complete_done+0x157/0x3d0
|
|
gro_cell_poll+0xcf/0x100
|
|
__napi_poll+0x65/0x310
|
|
net_rx_action+0x30c/0x5c0
|
|
__do_softirq+0x14f/0x491
|
|
__irq_exit_rcu+0x82/0xc0
|
|
irq_exit_rcu+0xe/0x20
|
|
common_interrupt+0xa1/0xb0
|
|
</IRQ>
|
|
<TASK>
|
|
asm_common_interrupt+0x27/0x40
|
|
|
|
Allocated by task 6469:
|
|
kasan_save_stack+0x38/0x70
|
|
kasan_set_track+0x25/0x40
|
|
kasan_save_alloc_info+0x1e/0x40
|
|
__kasan_krealloc+0x133/0x190
|
|
krealloc+0xaa/0x130
|
|
nf_ct_ext_add+0xed/0x230 [nf_conntrack]
|
|
tcf_ct_act+0x1095/0x1350 [act_ct]
|
|
tcf_action_exec+0xf8/0x1f0
|
|
fl_classify+0x355/0x360 [cls_flower]
|
|
__tcf_classify+0x1fd/0x330
|
|
tcf_classify+0x21c/0x3c0
|
|
sch_handle_ingress.constprop.0+0x2c5/0x500
|
|
__netif_receive_skb_core.constprop.0+0xb25/0x1510
|
|
__netif_receive_skb_list_core+0x220/0x4c0
|
|
netif_receive_skb_list_internal+0x446/0x620
|
|
napi_complete_done+0x157/0x3d0
|
|
gro_cell_poll+0xcf/0x100
|
|
__napi_poll+0x65/0x310
|
|
net_rx_action+0x30c/0x5c0
|
|
__do_softirq+0x14f/0x491
|
|
|
|
Freed by task 6469:
|
|
kasan_save_stack+0x38/0x70
|
|
kasan_set_track+0x25/0x40
|
|
kasan_save_free_info+0x2b/0x60
|
|
____kasan_slab_free+0x180/0x1f0
|
|
__kasan_slab_free+0x12/0x30
|
|
slab_free_freelist_hook+0xd2/0x1a0
|
|
__kmem_cache_free+0x1a2/0x2f0
|
|
kfree+0x78/0x120
|
|
nf_conntrack_free+0x74/0x130 [nf_conntrack]
|
|
nf_ct_destroy+0xb2/0x140 [nf_conntrack]
|
|
__nf_ct_resolve_clash+0x529/0x5d0 [nf_conntrack]
|
|
nf_ct_resolve_clash+0xf6/0x490 [nf_conntrack]
|
|
__nf_conntrack_confirm+0x2c6/0x770 [nf_conntrack]
|
|
tcf_ct_act+0x12ad/0x1350 [act_ct]
|
|
tcf_action_exec+0xf8/0x1f0
|
|
fl_classify+0x355/0x360 [cls_flower]
|
|
__tcf_classify+0x1fd/0x330
|
|
tcf_classify+0x21c/0x3c0
|
|
sch_handle_ingress.constprop.0+0x2c5/0x500
|
|
__netif_receive_skb_core.constprop.0+0xb25/0x1510
|
|
__netif_receive_skb_list_core+0x220/0x4c0
|
|
netif_receive_skb_list_internal+0x446/0x620
|
|
napi_complete_done+0x157/0x3d0
|
|
gro_cell_poll+0xcf/0x100
|
|
__napi_poll+0x65/0x310
|
|
net_rx_action+0x30c/0x5c0
|
|
__do_softirq+0x14f/0x491
|
|
|
|
The ct may be dropped if a clash has been resolved but is still passed to
|
|
the tcf_ct_flow_table_process_conn function for further usage. This issue
|
|
can be fixed by retrieving ct from skb again after confirming conntrack.(CVE-2024-41040)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
udp: Set SOCK_RCU_FREE earlier in udp_lib_get_port().
|
|
|
|
syzkaller triggered the warning [0] in udp_v4_early_demux().
|
|
|
|
In udp_v[46]_early_demux() and sk_lookup(), we do not touch the refcount
|
|
of the looked-up sk and use sock_pfree() as skb->destructor, so we check
|
|
SOCK_RCU_FREE to ensure that the sk is safe to access during the RCU grace
|
|
period.
|
|
|
|
Currently, SOCK_RCU_FREE is flagged for a bound socket after being put
|
|
into the hash table. Moreover, the SOCK_RCU_FREE check is done too early
|
|
in udp_v[46]_early_demux() and sk_lookup(), so there could be a small race
|
|
window:
|
|
|
|
CPU1 CPU2
|
|
---- ----
|
|
udp_v4_early_demux() udp_lib_get_port()
|
|
| |- hlist_add_head_rcu()
|
|
|- sk = __udp4_lib_demux_lookup() |
|
|
|- DEBUG_NET_WARN_ON_ONCE(sk_is_refcounted(sk));
|
|
`- sock_set_flag(sk, SOCK_RCU_FREE)
|
|
|
|
We had the same bug in TCP and fixed it in commit 871019b22d1b ("net:
|
|
set SOCK_RCU_FREE before inserting socket into hashtable").
|
|
|
|
Let's apply the same fix for UDP.
|
|
|
|
[0]:
|
|
WARNING: CPU: 0 PID: 11198 at net/ipv4/udp.c:2599 udp_v4_early_demux+0x481/0xb70 net/ipv4/udp.c:2599
|
|
Modules linked in:
|
|
CPU: 0 PID: 11198 Comm: syz-executor.1 Not tainted 6.9.0-g93bda33046e7 #13
|
|
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.0-0-gd239552ce722-prebuilt.qemu.org 04/01/2014
|
|
RIP: 0010:udp_v4_early_demux+0x481/0xb70 net/ipv4/udp.c:2599
|
|
Code: c5 7a 15 fe bb 01 00 00 00 44 89 e9 31 ff d3 e3 81 e3 bf ef ff ff 89 de e8 2c 74 15 fe 85 db 0f 85 02 06 00 00 e8 9f 7a 15 fe <0f> 0b e8 98 7a 15 fe 49 8d 7e 60 e8 4f 39 2f fe 49 c7 46 60 20 52
|
|
RSP: 0018:ffffc9000ce3fa58 EFLAGS: 00010293
|
|
RAX: 0000000000000000 RBX: 0000000000000000 RCX: ffffffff8318c92c
|
|
RDX: ffff888036ccde00 RSI: ffffffff8318c2f1 RDI: 0000000000000001
|
|
RBP: ffff88805a2dd6e0 R08: 0000000000000001 R09: 0000000000000000
|
|
R10: 0000000000000000 R11: 0001ffffffffffff R12: ffff88805a2dd680
|
|
R13: 0000000000000007 R14: ffff88800923f900 R15: ffff88805456004e
|
|
FS: 00007fc449127640(0000) GS:ffff88807dc00000(0000) knlGS:0000000000000000
|
|
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
|
|
CR2: 00007fc449126e38 CR3: 000000003de4b002 CR4: 0000000000770ef0
|
|
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
|
|
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000600
|
|
PKRU: 55555554
|
|
Call Trace:
|
|
<TASK>
|
|
ip_rcv_finish_core.constprop.0+0xbdd/0xd20 net/ipv4/ip_input.c:349
|
|
ip_rcv_finish+0xda/0x150 net/ipv4/ip_input.c:447
|
|
NF_HOOK include/linux/netfilter.h:314 [inline]
|
|
NF_HOOK include/linux/netfilter.h:308 [inline]
|
|
ip_rcv+0x16c/0x180 net/ipv4/ip_input.c:569
|
|
__netif_receive_skb_one_core+0xb3/0xe0 net/core/dev.c:5624
|
|
__netif_receive_skb+0x21/0xd0 net/core/dev.c:5738
|
|
netif_receive_skb_internal net/core/dev.c:5824 [inline]
|
|
netif_receive_skb+0x271/0x300 net/core/dev.c:5884
|
|
tun_rx_batched drivers/net/tun.c:1549 [inline]
|
|
tun_get_user+0x24db/0x2c50 drivers/net/tun.c:2002
|
|
tun_chr_write_iter+0x107/0x1a0 drivers/net/tun.c:2048
|
|
new_sync_write fs/read_write.c:497 [inline]
|
|
vfs_write+0x76f/0x8d0 fs/read_write.c:590
|
|
ksys_write+0xbf/0x190 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+0x41/0x50 fs/read_write.c:652
|
|
x64_sys_call+0xe66/0x1990 arch/x86/include/generated/asm/syscalls_64.h:2
|
|
do_syscall_x64 arch/x86/entry/common.c:52 [inline]
|
|
do_syscall_64+0x4b/0x110 arch/x86/entry/common.c:83
|
|
entry_SYSCALL_64_after_hwframe+0x4b/0x53
|
|
RIP: 0033:0x7fc44a68bc1f
|
|
Code: 89 54 24 18 48 89 74 24 10 89 7c 24 08 e8 e9 cf f5 ff 48 8b 54 24 18 48 8b 74 24 10 41 89 c0 8b 7c 24 08 b8 01 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 31 44 89 c7 48 89 44 24 08 e8 3c d0 f5 ff 48
|
|
RSP: 002b:00007fc449126c90 EFLAGS: 00000293 ORIG_RAX: 0000000000000001
|
|
RAX: ffffffffffffffda RBX: 00000000004bc050 RCX: 00007fc44a68bc1f
|
|
R
|
|
---truncated---(CVE-2024-41041)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
ppp: reject claimed-as-LCP but actually malformed packets
|
|
|
|
Since 'ppp_async_encode()' assumes valid LCP packets (with code
|
|
from 1 to 7 inclusive), add 'ppp_check_packet()' to ensure that
|
|
LCP packet has an actual body beyond PPP_LCP header bytes, and
|
|
reject claimed-as-LCP but actually malformed data otherwise.(CVE-2024-41044)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
bpf: Defer work in bpf_timer_cancel_and_free
|
|
|
|
Currently, the same case as previous patch (two timer callbacks trying
|
|
to cancel each other) can be invoked through bpf_map_update_elem as
|
|
well, or more precisely, freeing map elements containing timers. Since
|
|
this relies on hrtimer_cancel as well, it is prone to the same deadlock
|
|
situation as the previous patch.
|
|
|
|
It would be sufficient to use hrtimer_try_to_cancel to fix this problem,
|
|
as the timer cannot be enqueued after async_cancel_and_free. Once
|
|
async_cancel_and_free has been done, the timer must be reinitialized
|
|
before it can be armed again. The callback running in parallel trying to
|
|
arm the timer will fail, and freeing bpf_hrtimer without waiting is
|
|
sufficient (given kfree_rcu), and bpf_timer_cb will return
|
|
HRTIMER_NORESTART, preventing the timer from being rearmed again.
|
|
|
|
However, there exists a UAF scenario where the callback arms the timer
|
|
before entering this function, such that if cancellation fails (due to
|
|
timer callback invoking this routine, or the target timer callback
|
|
running concurrently). In such a case, if the timer expiration is
|
|
significantly far in the future, the RCU grace period expiration
|
|
happening before it will free the bpf_hrtimer state and along with it
|
|
the struct hrtimer, that is enqueued.
|
|
|
|
Hence, it is clear cancellation needs to occur after
|
|
async_cancel_and_free, and yet it cannot be done inline due to deadlock
|
|
issues. We thus modify bpf_timer_cancel_and_free to defer work to the
|
|
global workqueue, adding a work_struct alongside rcu_head (both used at
|
|
_different_ points of time, so can share space).
|
|
|
|
Update existing code comments to reflect the new state of affairs.(CVE-2024-41045)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
skmsg: Skip zero length skb in sk_msg_recvmsg
|
|
|
|
When running BPF selftests (./test_progs -t sockmap_basic) on a Loongarch
|
|
platform, the following kernel panic occurs:
|
|
|
|
[...]
|
|
Oops[#1]:
|
|
CPU: 22 PID: 2824 Comm: test_progs Tainted: G OE 6.10.0-rc2+ #18
|
|
Hardware name: LOONGSON Dabieshan/Loongson-TC542F0, BIOS Loongson-UDK2018
|
|
... ...
|
|
ra: 90000000048bf6c0 sk_msg_recvmsg+0x120/0x560
|
|
ERA: 9000000004162774 copy_page_to_iter+0x74/0x1c0
|
|
CRMD: 000000b0 (PLV0 -IE -DA +PG DACF=CC DACM=CC -WE)
|
|
PRMD: 0000000c (PPLV0 +PIE +PWE)
|
|
EUEN: 00000007 (+FPE +SXE +ASXE -BTE)
|
|
ECFG: 00071c1d (LIE=0,2-4,10-12 VS=7)
|
|
ESTAT: 00010000 [PIL] (IS= ECode=1 EsubCode=0)
|
|
BADV: 0000000000000040
|
|
PRID: 0014c011 (Loongson-64bit, Loongson-3C5000)
|
|
Modules linked in: bpf_testmod(OE) xt_CHECKSUM xt_MASQUERADE xt_conntrack
|
|
Process test_progs (pid: 2824, threadinfo=0000000000863a31, task=...)
|
|
Stack : ...
|
|
Call Trace:
|
|
[<9000000004162774>] copy_page_to_iter+0x74/0x1c0
|
|
[<90000000048bf6c0>] sk_msg_recvmsg+0x120/0x560
|
|
[<90000000049f2b90>] tcp_bpf_recvmsg_parser+0x170/0x4e0
|
|
[<90000000049aae34>] inet_recvmsg+0x54/0x100
|
|
[<900000000481ad5c>] sock_recvmsg+0x7c/0xe0
|
|
[<900000000481e1a8>] __sys_recvfrom+0x108/0x1c0
|
|
[<900000000481e27c>] sys_recvfrom+0x1c/0x40
|
|
[<9000000004c076ec>] do_syscall+0x8c/0xc0
|
|
[<9000000003731da4>] handle_syscall+0xc4/0x160
|
|
Code: ...
|
|
---[ end trace 0000000000000000 ]---
|
|
Kernel panic - not syncing: Fatal exception
|
|
Kernel relocated by 0x3510000
|
|
.text @ 0x9000000003710000
|
|
.data @ 0x9000000004d70000
|
|
.bss @ 0x9000000006469400
|
|
---[ end Kernel panic - not syncing: Fatal exception ]---
|
|
[...]
|
|
|
|
This crash happens every time when running sockmap_skb_verdict_shutdown
|
|
subtest in sockmap_basic.
|
|
|
|
This crash is because a NULL pointer is passed to page_address() in the
|
|
sk_msg_recvmsg(). Due to the different implementations depending on the
|
|
architecture, page_address(NULL) will trigger a panic on Loongarch
|
|
platform but not on x86 platform. So this bug was hidden on x86 platform
|
|
for a while, but now it is exposed on Loongarch platform. The root cause
|
|
is that a zero length skb (skb->len == 0) was put on the queue.
|
|
|
|
This zero length skb is a TCP FIN packet, which was sent by shutdown(),
|
|
invoked in test_sockmap_skb_verdict_shutdown():
|
|
|
|
shutdown(p1, SHUT_WR);
|
|
|
|
In this case, in sk_psock_skb_ingress_enqueue(), num_sge is zero, and no
|
|
page is put to this sge (see sg_set_page in sg_set_page), but this empty
|
|
sge is queued into ingress_msg list.
|
|
|
|
And in sk_msg_recvmsg(), this empty sge is used, and a NULL page is got by
|
|
sg_page(sge). Pass this NULL page to copy_page_to_iter(), which passes it
|
|
to kmap_local_page() and to page_address(), then kernel panics.
|
|
|
|
To solve this, we should skip this zero length skb. So in sk_msg_recvmsg(),
|
|
if copy is zero, that means it's a zero length skb, skip invoking
|
|
copy_page_to_iter(). We are using the EFAULT return triggered by
|
|
copy_page_to_iter to check for is_fin in tcp_bpf.c.(CVE-2024-41048)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
filelock: fix potential use-after-free in posix_lock_inode
|
|
|
|
Light Hsieh reported a KASAN UAF warning in trace_posix_lock_inode().
|
|
The request pointer had been changed earlier to point to a lock entry
|
|
that was added to the inode's list. However, before the tracepoint could
|
|
fire, another task raced in and freed that lock.
|
|
|
|
Fix this by moving the tracepoint inside the spinlock, which should
|
|
ensure that this doesn't happen.(CVE-2024-41049)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
firmware: cs_dsp: Use strnlen() on name fields in V1 wmfw files
|
|
|
|
Use strnlen() instead of strlen() on the algorithm and coefficient name
|
|
string arrays in V1 wmfw files.
|
|
|
|
In V1 wmfw files the name is a NUL-terminated string in a fixed-size
|
|
array. cs_dsp should protect against overrunning the array if the NUL
|
|
terminator is missing.(CVE-2024-41056)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
bluetooth/l2cap: sync sock recv cb and release
|
|
|
|
The problem occurs between the system call to close the sock and hci_rx_work,
|
|
where the former releases the sock and the latter accesses it without lock protection.
|
|
|
|
CPU0 CPU1
|
|
---- ----
|
|
sock_close hci_rx_work
|
|
l2cap_sock_release hci_acldata_packet
|
|
l2cap_sock_kill l2cap_recv_frame
|
|
sk_free l2cap_conless_channel
|
|
l2cap_sock_recv_cb
|
|
|
|
If hci_rx_work processes the data that needs to be received before the sock is
|
|
closed, then everything is normal; Otherwise, the work thread may access the
|
|
released sock when receiving data.
|
|
|
|
Add a chan mutex in the rx callback of the sock to achieve synchronization between
|
|
the sock release and recv cb.
|
|
|
|
Sock is dead, so set chan data to NULL, avoid others use invalid sock pointer.(CVE-2024-41062)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
Bluetooth: hci_core: cancel all works upon hci_unregister_dev()
|
|
|
|
syzbot is reporting that calling hci_release_dev() from hci_error_reset()
|
|
due to hci_dev_put() from hci_error_reset() can cause deadlock at
|
|
destroy_workqueue(), for hci_error_reset() is called from
|
|
hdev->req_workqueue which destroy_workqueue() needs to flush.
|
|
|
|
We need to make sure that hdev->{rx_work,cmd_work,tx_work} which are
|
|
queued into hdev->workqueue and hdev->{power_on,error_reset} which are
|
|
queued into hdev->req_workqueue are no longer running by the moment
|
|
|
|
destroy_workqueue(hdev->workqueue);
|
|
destroy_workqueue(hdev->req_workqueue);
|
|
|
|
are called from hci_release_dev().
|
|
|
|
Call cancel_work_sync() on these work items from hci_unregister_dev()
|
|
as soon as hdev->list is removed from hci_dev_list.(CVE-2024-41063)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
powerpc/eeh: avoid possible crash when edev->pdev changes
|
|
|
|
If a PCI device is removed during eeh_pe_report_edev(), edev->pdev
|
|
will change and can cause a crash, hold the PCI rescan/remove lock
|
|
while taking a copy of edev->pdev->bus.(CVE-2024-41064)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
ASoC: topology: Fix references to freed memory
|
|
|
|
Most users after parsing a topology file, release memory used by it, so
|
|
having pointer references directly into topology file contents is wrong.
|
|
Use devm_kmemdup(), to allocate memory as needed.(CVE-2024-41069)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
wifi: cfg80211: wext: add extra SIOCSIWSCAN data check
|
|
|
|
In 'cfg80211_wext_siwscan()', add extra check whether number of
|
|
channels passed via 'ioctl(sock, SIOCSIWSCAN, ...)' doesn't exceed
|
|
IW_MAX_FREQUENCIES and reject invalid request with -EINVAL otherwise.(CVE-2024-41072)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
nvme: avoid double free special payload
|
|
|
|
If a discard request needs to be retried, and that retry may fail before
|
|
a new special payload is added, a double free will result. Clear the
|
|
RQF_SPECIAL_LOAD when the request is cleaned.(CVE-2024-41073)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
cachefiles: Set object to close if ondemand_id < 0 in copen
|
|
|
|
If copen is maliciously called in the user mode, it may delete the request
|
|
corresponding to the random id. And the request may have not been read yet.
|
|
|
|
Note that when the object is set to reopen, the open request will be done
|
|
with the still reopen state in above case. As a result, the request
|
|
corresponding to this object is always skipped in select_req function, so
|
|
the read request is never completed and blocks other process.
|
|
|
|
Fix this issue by simply set object to close if its id < 0 in copen.(CVE-2024-41074)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
cachefiles: add consistency check for copen/cread
|
|
|
|
This prevents malicious processes from completing random copen/cread
|
|
requests and crashing the system. Added checks are listed below:
|
|
|
|
* Generic, copen can only complete open requests, and cread can only
|
|
complete read requests.
|
|
* For copen, ondemand_id must not be 0, because this indicates that the
|
|
request has not been read by the daemon.
|
|
* For cread, the object corresponding to fd and req should be the same.(CVE-2024-41075)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
NFSv4: Fix memory leak in nfs4_set_security_label
|
|
|
|
We leak nfs_fattr and nfs4_label every time we set a security xattr.(CVE-2024-41076)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
null_blk: fix validation of block size
|
|
|
|
Block size should be between 512 and PAGE_SIZE and be a power of 2. The current
|
|
check does not validate this, so update the check.
|
|
|
|
Without this patch, null_blk would Oops due to a null pointer deref when
|
|
loaded with bs=1536 [1].
|
|
|
|
|
|
[axboe: remove unnecessary braces and != 0 check](CVE-2024-41077)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
io_uring: fix possible deadlock in io_register_iowq_max_workers()
|
|
|
|
The io_register_iowq_max_workers() function calls io_put_sq_data(),
|
|
which acquires the sqd->lock without releasing the uring_lock.
|
|
Similar to the commit 009ad9f0c6ee ("io_uring: drop ctx->uring_lock
|
|
before acquiring sqd->lock"), this can lead to a potential deadlock
|
|
situation.
|
|
|
|
To resolve this issue, the uring_lock is released before calling
|
|
io_put_sq_data(), and then it is re-acquired after the function call.
|
|
|
|
This change ensures that the locks are acquired in the correct
|
|
order, preventing the possibility of a deadlock.(CVE-2024-41080)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
cxl/mem: Fix no cxl_nvd during pmem region auto-assembling
|
|
|
|
When CXL subsystem is auto-assembling a pmem region during cxl
|
|
endpoint port probing, always hit below calltrace.
|
|
|
|
BUG: kernel NULL pointer dereference, address: 0000000000000078
|
|
#PF: supervisor read access in kernel mode
|
|
#PF: error_code(0x0000) - not-present page
|
|
RIP: 0010:cxl_pmem_region_probe+0x22e/0x360 [cxl_pmem]
|
|
Call Trace:
|
|
<TASK>
|
|
? __die+0x24/0x70
|
|
? page_fault_oops+0x82/0x160
|
|
? do_user_addr_fault+0x65/0x6b0
|
|
? exc_page_fault+0x7d/0x170
|
|
? asm_exc_page_fault+0x26/0x30
|
|
? cxl_pmem_region_probe+0x22e/0x360 [cxl_pmem]
|
|
? cxl_pmem_region_probe+0x1ac/0x360 [cxl_pmem]
|
|
cxl_bus_probe+0x1b/0x60 [cxl_core]
|
|
really_probe+0x173/0x410
|
|
? __pfx___device_attach_driver+0x10/0x10
|
|
__driver_probe_device+0x80/0x170
|
|
driver_probe_device+0x1e/0x90
|
|
__device_attach_driver+0x90/0x120
|
|
bus_for_each_drv+0x84/0xe0
|
|
__device_attach+0xbc/0x1f0
|
|
bus_probe_device+0x90/0xa0
|
|
device_add+0x51c/0x710
|
|
devm_cxl_add_pmem_region+0x1b5/0x380 [cxl_core]
|
|
cxl_bus_probe+0x1b/0x60 [cxl_core]
|
|
|
|
The cxl_nvd of the memdev needs to be available during the pmem region
|
|
probe. Currently the cxl_nvd is registered after the endpoint port probe.
|
|
The endpoint probe, in the case of autoassembly of regions, can cause a
|
|
pmem region probe requiring the not yet available cxl_nvd. Adjust the
|
|
sequence so this dependency is met.
|
|
|
|
This requires adding a port parameter to cxl_find_nvdimm_bridge() that
|
|
can be used to query the ancestor root port. The endpoint port is not
|
|
yet available, but will share a common ancestor with its parent, so
|
|
start the query from there instead.(CVE-2024-41085)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
tap: add missing verification for short frame
|
|
|
|
The cited commit missed to check against the validity of the frame length
|
|
in the tap_get_user_xdp() path, which could cause a corrupted skb to be
|
|
sent downstack. Even before the skb is transmitted, the
|
|
tap_get_user_xdp()-->skb_set_network_header() may assume the size is more
|
|
than ETH_HLEN. Once transmitted, this could either cause out-of-bound
|
|
access beyond the actual length, or confuse the underlayer with incorrect
|
|
or inconsistent header length in the skb metadata.
|
|
|
|
In the alternative path, tap_get_user() already prohibits short frame which
|
|
has the length less than Ethernet header size from being transmitted.
|
|
|
|
This is to drop any frame shorter than the Ethernet header size just like
|
|
how tap_get_user() does.
|
|
|
|
CVE: CVE-2024-41090(CVE-2024-41090)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
tun: add missing verification for short frame
|
|
|
|
The cited commit missed to check against the validity of the frame length
|
|
in the tun_xdp_one() path, which could cause a corrupted skb to be sent
|
|
downstack. Even before the skb is transmitted, the
|
|
tun_xdp_one-->eth_type_trans() may access the Ethernet header although it
|
|
can be less than ETH_HLEN. Once transmitted, this could either cause
|
|
out-of-bound access beyond the actual length, or confuse the underlayer
|
|
with incorrect or inconsistent header length in the skb metadata.
|
|
|
|
In the alternative path, tun_get_user() already prohibits short frame which
|
|
has the length less than Ethernet header size from being transmitted for
|
|
IFF_TAP.
|
|
|
|
This is to drop any frame shorter than the Ethernet header size just like
|
|
how tun_get_user() does.
|
|
|
|
CVE: CVE-2024-41091(CVE-2024-41091)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
PCI/MSI: Fix UAF in msi_capability_init
|
|
|
|
KFENCE reports the following UAF:
|
|
|
|
BUG: KFENCE: use-after-free read in __pci_enable_msi_range+0x2c0/0x488
|
|
|
|
Use-after-free read at 0x0000000024629571 (in kfence-#12):
|
|
__pci_enable_msi_range+0x2c0/0x488
|
|
pci_alloc_irq_vectors_affinity+0xec/0x14c
|
|
pci_alloc_irq_vectors+0x18/0x28
|
|
|
|
kfence-#12: 0x0000000008614900-0x00000000e06c228d, size=104, cache=kmalloc-128
|
|
|
|
allocated by task 81 on cpu 7 at 10.808142s:
|
|
__kmem_cache_alloc_node+0x1f0/0x2bc
|
|
kmalloc_trace+0x44/0x138
|
|
msi_alloc_desc+0x3c/0x9c
|
|
msi_domain_insert_msi_desc+0x30/0x78
|
|
msi_setup_msi_desc+0x13c/0x184
|
|
__pci_enable_msi_range+0x258/0x488
|
|
pci_alloc_irq_vectors_affinity+0xec/0x14c
|
|
pci_alloc_irq_vectors+0x18/0x28
|
|
|
|
freed by task 81 on cpu 7 at 10.811436s:
|
|
msi_domain_free_descs+0xd4/0x10c
|
|
msi_domain_free_locked.part.0+0xc0/0x1d8
|
|
msi_domain_alloc_irqs_all_locked+0xb4/0xbc
|
|
pci_msi_setup_msi_irqs+0x30/0x4c
|
|
__pci_enable_msi_range+0x2a8/0x488
|
|
pci_alloc_irq_vectors_affinity+0xec/0x14c
|
|
pci_alloc_irq_vectors+0x18/0x28
|
|
|
|
Descriptor allocation done in:
|
|
__pci_enable_msi_range
|
|
msi_capability_init
|
|
msi_setup_msi_desc
|
|
msi_insert_msi_desc
|
|
msi_domain_insert_msi_desc
|
|
msi_alloc_desc
|
|
...
|
|
|
|
Freed in case of failure in __msi_domain_alloc_locked()
|
|
__pci_enable_msi_range
|
|
msi_capability_init
|
|
pci_msi_setup_msi_irqs
|
|
msi_domain_alloc_irqs_all_locked
|
|
msi_domain_alloc_locked
|
|
__msi_domain_alloc_locked => fails
|
|
msi_domain_free_locked
|
|
...
|
|
|
|
That failure propagates back to pci_msi_setup_msi_irqs() in
|
|
msi_capability_init() which accesses the descriptor for unmasking in the
|
|
error exit path.
|
|
|
|
Cure it by copying the descriptor and using the copy for the error exit path
|
|
unmask operation.
|
|
|
|
[ tglx: Massaged change log ](CVE-2024-41096)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
bpf: Take return from set_memory_ro() into account with bpf_prog_lock_ro()
|
|
|
|
set_memory_ro() can fail, leaving memory unprotected.
|
|
|
|
Check its return and take it into account as an error.(CVE-2024-42068)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
iio: chemical: bme680: Fix overflows in compensate() functions
|
|
|
|
There are cases in the compensate functions of the driver that
|
|
there could be overflows of variables due to bit shifting ops.
|
|
These implications were initially discussed here [1] and they
|
|
were mentioned in log message of Commit 1b3bd8592780 ("iio:
|
|
chemical: Add support for Bosch BME680 sensor").
|
|
|
|
[1]: https://lore.kernel.org/linux-iio/20180728114028.3c1bbe81@archlinux/(CVE-2024-42086)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
ALSA: emux: improve patch ioctl data validation
|
|
|
|
In load_data(), make the validation of and skipping over the main info
|
|
block match that in load_guspatch().
|
|
|
|
In load_guspatch(), add checking that the specified patch length matches
|
|
the actually supplied data, like load_data() already did.(CVE-2024-42097)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
jffs2: Fix potential illegal address access in jffs2_free_inode
|
|
|
|
During the stress testing of the jffs2 file system,the following
|
|
abnormal printouts were found:
|
|
[ 2430.649000] Unable to handle kernel paging request at virtual address 0069696969696948
|
|
[ 2430.649622] Mem abort info:
|
|
[ 2430.649829] ESR = 0x96000004
|
|
[ 2430.650115] EC = 0x25: DABT (current EL), IL = 32 bits
|
|
[ 2430.650564] SET = 0, FnV = 0
|
|
[ 2430.650795] EA = 0, S1PTW = 0
|
|
[ 2430.651032] FSC = 0x04: level 0 translation fault
|
|
[ 2430.651446] Data abort info:
|
|
[ 2430.651683] ISV = 0, ISS = 0x00000004
|
|
[ 2430.652001] CM = 0, WnR = 0
|
|
[ 2430.652558] [0069696969696948] address between user and kernel address ranges
|
|
[ 2430.653265] Internal error: Oops: 96000004 [#1] PREEMPT SMP
|
|
[ 2430.654512] CPU: 2 PID: 20919 Comm: cat Not tainted 5.15.25-g512f31242bf6 #33
|
|
[ 2430.655008] Hardware name: linux,dummy-virt (DT)
|
|
[ 2430.655517] pstate: 20000005 (nzCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
|
|
[ 2430.656142] pc : kfree+0x78/0x348
|
|
[ 2430.656630] lr : jffs2_free_inode+0x24/0x48
|
|
[ 2430.657051] sp : ffff800009eebd10
|
|
[ 2430.657355] x29: ffff800009eebd10 x28: 0000000000000001 x27: 0000000000000000
|
|
[ 2430.658327] x26: ffff000038f09d80 x25: 0080000000000000 x24: ffff800009d38000
|
|
[ 2430.658919] x23: 5a5a5a5a5a5a5a5a x22: ffff000038f09d80 x21: ffff8000084f0d14
|
|
[ 2430.659434] x20: ffff0000bf9a6ac0 x19: 0169696969696940 x18: 0000000000000000
|
|
[ 2430.659969] x17: ffff8000b6506000 x16: ffff800009eec000 x15: 0000000000004000
|
|
[ 2430.660637] x14: 0000000000000000 x13: 00000001000820a1 x12: 00000000000d1b19
|
|
[ 2430.661345] x11: 0004000800000000 x10: 0000000000000001 x9 : ffff8000084f0d14
|
|
[ 2430.662025] x8 : ffff0000bf9a6b40 x7 : ffff0000bf9a6b48 x6 : 0000000003470302
|
|
[ 2430.662695] x5 : ffff00002e41dcc0 x4 : ffff0000bf9aa3b0 x3 : 0000000003470342
|
|
[ 2430.663486] x2 : 0000000000000000 x1 : ffff8000084f0d14 x0 : fffffc0000000000
|
|
[ 2430.664217] Call trace:
|
|
[ 2430.664528] kfree+0x78/0x348
|
|
[ 2430.664855] jffs2_free_inode+0x24/0x48
|
|
[ 2430.665233] i_callback+0x24/0x50
|
|
[ 2430.665528] rcu_do_batch+0x1ac/0x448
|
|
[ 2430.665892] rcu_core+0x28c/0x3c8
|
|
[ 2430.666151] rcu_core_si+0x18/0x28
|
|
[ 2430.666473] __do_softirq+0x138/0x3cc
|
|
[ 2430.666781] irq_exit+0xf0/0x110
|
|
[ 2430.667065] handle_domain_irq+0x6c/0x98
|
|
[ 2430.667447] gic_handle_irq+0xac/0xe8
|
|
[ 2430.667739] call_on_irq_stack+0x28/0x54
|
|
The parameter passed to kfree was 5a5a5a5a, which corresponds to the target field of
|
|
the jffs_inode_info structure. It was found that all variables in the jffs_inode_info
|
|
structure were 5a5a5a5a, except for the first member sem. It is suspected that these
|
|
variables are not initialized because they were set to 5a5a5a5a during memory testing,
|
|
which is meant to detect uninitialized memory.The sem variable is initialized in the
|
|
function jffs2_i_init_once, while other members are initialized in
|
|
the function jffs2_init_inode_info.
|
|
|
|
The function jffs2_init_inode_info is called after iget_locked,
|
|
but in the iget_locked function, the destroy_inode process is triggered,
|
|
which releases the inode and consequently, the target member of the inode
|
|
is not initialized.In concurrent high pressure scenarios, iget_locked
|
|
may enter the destroy_inode branch as described in the code.
|
|
|
|
Since the destroy_inode functionality of jffs2 only releases the target,
|
|
the fix method is to set target to NULL in jffs2_i_init_once.(CVE-2024-42115)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
powerpc: Avoid nmi_enter/nmi_exit in real mode interrupt.
|
|
|
|
nmi_enter()/nmi_exit() touches per cpu variables which can lead to kernel
|
|
crash when invoked during real mode interrupt handling (e.g. early HMI/MCE
|
|
interrupt handler) if percpu allocation comes from vmalloc area.
|
|
|
|
Early HMI/MCE handlers are called through DEFINE_INTERRUPT_HANDLER_NMI()
|
|
wrapper which invokes nmi_enter/nmi_exit calls. We don't see any issue when
|
|
percpu allocation is from the embedded first chunk. However with
|
|
CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK enabled there are chances where percpu
|
|
allocation can come from the vmalloc area.
|
|
|
|
With kernel command line "percpu_alloc=page" we can force percpu allocation
|
|
to come from vmalloc area and can see kernel crash in machine_check_early:
|
|
|
|
[ 1.215714] NIP [c000000000e49eb4] rcu_nmi_enter+0x24/0x110
|
|
[ 1.215717] LR [c0000000000461a0] machine_check_early+0xf0/0x2c0
|
|
[ 1.215719] --- interrupt: 200
|
|
[ 1.215720] [c000000fffd73180] [0000000000000000] 0x0 (unreliable)
|
|
[ 1.215722] [c000000fffd731b0] [0000000000000000] 0x0
|
|
[ 1.215724] [c000000fffd73210] [c000000000008364] machine_check_early_common+0x134/0x1f8
|
|
|
|
Fix this by avoiding use of nmi_enter()/nmi_exit() in real mode if percpu
|
|
first chunk is not embedded.(CVE-2024-42126)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
leds: mlxreg: Use devm_mutex_init() for mutex initialization
|
|
|
|
In this driver LEDs are registered using devm_led_classdev_register()
|
|
so they are automatically unregistered after module's remove() is done.
|
|
led_classdev_unregister() calls module's led_set_brightness() to turn off
|
|
the LEDs and that callback uses mutex which was destroyed already
|
|
in module's remove() so use devm API instead.(CVE-2024-42129)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
s390/pkey: Wipe copies of protected- and secure-keys
|
|
|
|
Although the clear-key of neither protected- nor secure-keys is
|
|
accessible, this key material should only be visible to the calling
|
|
process. So wipe all copies of protected- or secure-keys from stack,
|
|
even in case of an error.(CVE-2024-42155)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
gve: Account for stopped queues when reading NIC stats
|
|
|
|
We now account for the fact that the NIC might send us stats for a
|
|
subset of queues. Without this change, gve_get_ethtool_stats might make
|
|
an invalid access on the priv->stats_report->stats array.(CVE-2024-42162)
|
|
|
|
In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
drm/amdgpu: Using uninitialized value *size when calling amdgpu_vce_cs_reloc
|
|
|
|
Initialize the size before calling amdgpu_vce_cs_reloc, such as case 0x03000001.
|
|
V2: To really improve the handling we would actually
|
|
need to have a separate value of 0xffffffff.(Christian)(CVE-2024-42228)</Note>
|
|
<Note Title="Topic" Type="General" Ordinal="4" xml:lang="en">An update for kernel is now available for openEuler-24.03-LTS.
|
|
|
|
openEuler Security has rated this update as having a security impact of critical. 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">Critical</Note>
|
|
<Note Title="Affected Component" Type="General" Ordinal="6" xml:lang="en">kernel</Note>
|
|
</DocumentNotes>
|
|
<DocumentReferences>
|
|
<Reference Type="Self">
|
|
<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2024-1960</URL>
|
|
</Reference>
|
|
<Reference Type="openEuler CVE">
|
|
<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2024-33619</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2024-35247</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2024-35848</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2024-35859</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2024-35966</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2024-36890</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2024-36896</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2024-36899</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2024-36901</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2024-36944</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2024-36964</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2024-38556</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2024-38576</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2024-38600</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2024-38606</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2024-38607</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2024-38617</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2024-39471</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2024-39473</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2024-39475</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2024-39481</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2024-39486</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2024-39493</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2024-39496</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2024-39503</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2024-40900</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2024-40906</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2024-40908</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2024-40913</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2024-40920</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2024-40921</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2024-40922</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2024-40935</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2024-40953</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2024-40962</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2024-40967</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2024-40981</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2024-41006</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2024-41010</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2024-41013</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2024-41014</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2024-41018</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2024-41019</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2024-41020</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2024-41021</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2024-41023</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2024-41039</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2024-41040</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2024-41041</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2024-41044</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2024-41045</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2024-41048</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2024-41049</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2024-41056</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2024-41062</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2024-41063</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2024-41064</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2024-41069</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2024-41072</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2024-41073</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2024-41074</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2024-41075</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2024-41076</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2024-41077</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2024-41080</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2024-41085</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2024-41090</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2024-41091</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2024-41096</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2024-42068</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2024-42086</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2024-42097</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2024-42115</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2024-42126</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2024-42129</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2024-42155</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2024-42162</URL>
|
|
<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2024-42228</URL>
|
|
</Reference>
|
|
<Reference Type="Other">
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-33619</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-35247</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-35848</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-35859</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-35966</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-36890</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-36896</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-36944</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-36964</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-38556</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-38576</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-38600</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-38606</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-38607</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-38617</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-39471</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-39473</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-39475</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-39481</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-39486</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-39493</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-39496</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-39503</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-40900</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-40906</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-40908</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-40913</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-40920</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-40921</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-40922</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-40935</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-40953</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-40962</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-40967</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-40981</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-41006</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-41010</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-41013</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-41014</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-41018</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-41019</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-41020</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-41021</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-41023</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-41039</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-41040</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-41041</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-41044</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-41045</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-41048</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-41049</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-41056</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-41062</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-41063</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-41064</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-41069</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-41072</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-41073</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-41074</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-41075</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-41076</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-41077</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-41080</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-41085</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-41090</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-41091</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-41096</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-42068</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-42086</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-42097</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-42115</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-42126</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-42129</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-42155</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-42162</URL>
|
|
<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-42228</URL>
|
|
</Reference>
|
|
</DocumentReferences>
|
|
<ProductTree xmlns="http://www.icasi.org/CVRF/schema/prod/1.1">
|
|
<Branch Type="Product Name" Name="openEuler">
|
|
<FullProductName ProductID="openEuler-24.03-LTS" CPE="cpe:/a:openEuler:openEuler:24.03-LTS">openEuler-24.03-LTS</FullProductName>
|
|
</Branch>
|
|
<Branch Type="Package Arch" Name="aarch64">
|
|
<FullProductName ProductID="bpftool-6.6.0-37.0.0.44" CPE="cpe:/a:openEuler:openEuler:24.03-LTS">bpftool-6.6.0-37.0.0.44.oe2403.aarch64.rpm</FullProductName>
|
|
<FullProductName ProductID="bpftool-debuginfo-6.6.0-37.0.0.44" CPE="cpe:/a:openEuler:openEuler:24.03-LTS">bpftool-debuginfo-6.6.0-37.0.0.44.oe2403.aarch64.rpm</FullProductName>
|
|
<FullProductName ProductID="kernel-6.6.0-37.0.0.44" CPE="cpe:/a:openEuler:openEuler:24.03-LTS">kernel-6.6.0-37.0.0.44.oe2403.aarch64.rpm</FullProductName>
|
|
<FullProductName ProductID="kernel-debuginfo-6.6.0-37.0.0.44" CPE="cpe:/a:openEuler:openEuler:24.03-LTS">kernel-debuginfo-6.6.0-37.0.0.44.oe2403.aarch64.rpm</FullProductName>
|
|
<FullProductName ProductID="kernel-debugsource-6.6.0-37.0.0.44" CPE="cpe:/a:openEuler:openEuler:24.03-LTS">kernel-debugsource-6.6.0-37.0.0.44.oe2403.aarch64.rpm</FullProductName>
|
|
<FullProductName ProductID="kernel-devel-6.6.0-37.0.0.44" CPE="cpe:/a:openEuler:openEuler:24.03-LTS">kernel-devel-6.6.0-37.0.0.44.oe2403.aarch64.rpm</FullProductName>
|
|
<FullProductName ProductID="kernel-headers-6.6.0-37.0.0.44" CPE="cpe:/a:openEuler:openEuler:24.03-LTS">kernel-headers-6.6.0-37.0.0.44.oe2403.aarch64.rpm</FullProductName>
|
|
<FullProductName ProductID="kernel-source-6.6.0-37.0.0.44" CPE="cpe:/a:openEuler:openEuler:24.03-LTS">kernel-source-6.6.0-37.0.0.44.oe2403.aarch64.rpm</FullProductName>
|
|
<FullProductName ProductID="kernel-tools-6.6.0-37.0.0.44" CPE="cpe:/a:openEuler:openEuler:24.03-LTS">kernel-tools-6.6.0-37.0.0.44.oe2403.aarch64.rpm</FullProductName>
|
|
<FullProductName ProductID="kernel-tools-debuginfo-6.6.0-37.0.0.44" CPE="cpe:/a:openEuler:openEuler:24.03-LTS">kernel-tools-debuginfo-6.6.0-37.0.0.44.oe2403.aarch64.rpm</FullProductName>
|
|
<FullProductName ProductID="kernel-tools-devel-6.6.0-37.0.0.44" CPE="cpe:/a:openEuler:openEuler:24.03-LTS">kernel-tools-devel-6.6.0-37.0.0.44.oe2403.aarch64.rpm</FullProductName>
|
|
<FullProductName ProductID="perf-6.6.0-37.0.0.44" CPE="cpe:/a:openEuler:openEuler:24.03-LTS">perf-6.6.0-37.0.0.44.oe2403.aarch64.rpm</FullProductName>
|
|
<FullProductName ProductID="perf-debuginfo-6.6.0-37.0.0.44" CPE="cpe:/a:openEuler:openEuler:24.03-LTS">perf-debuginfo-6.6.0-37.0.0.44.oe2403.aarch64.rpm</FullProductName>
|
|
<FullProductName ProductID="python3-perf-6.6.0-37.0.0.44" CPE="cpe:/a:openEuler:openEuler:24.03-LTS">python3-perf-6.6.0-37.0.0.44.oe2403.aarch64.rpm</FullProductName>
|
|
<FullProductName ProductID="python3-perf-debuginfo-6.6.0-37.0.0.44" CPE="cpe:/a:openEuler:openEuler:24.03-LTS">python3-perf-debuginfo-6.6.0-37.0.0.44.oe2403.aarch64.rpm</FullProductName>
|
|
</Branch>
|
|
<Branch Type="Package Arch" Name="x86_64">
|
|
<FullProductName ProductID="bpftool-6.6.0-37.0.0.44" CPE="cpe:/a:openEuler:openEuler:24.03-LTS">bpftool-6.6.0-37.0.0.44.oe2403.x86_64.rpm</FullProductName>
|
|
<FullProductName ProductID="bpftool-debuginfo-6.6.0-37.0.0.44" CPE="cpe:/a:openEuler:openEuler:24.03-LTS">bpftool-debuginfo-6.6.0-37.0.0.44.oe2403.x86_64.rpm</FullProductName>
|
|
<FullProductName ProductID="kernel-6.6.0-37.0.0.44" CPE="cpe:/a:openEuler:openEuler:24.03-LTS">kernel-6.6.0-37.0.0.44.oe2403.x86_64.rpm</FullProductName>
|
|
<FullProductName ProductID="kernel-debuginfo-6.6.0-37.0.0.44" CPE="cpe:/a:openEuler:openEuler:24.03-LTS">kernel-debuginfo-6.6.0-37.0.0.44.oe2403.x86_64.rpm</FullProductName>
|
|
<FullProductName ProductID="kernel-debugsource-6.6.0-37.0.0.44" CPE="cpe:/a:openEuler:openEuler:24.03-LTS">kernel-debugsource-6.6.0-37.0.0.44.oe2403.x86_64.rpm</FullProductName>
|
|
<FullProductName ProductID="kernel-devel-6.6.0-37.0.0.44" CPE="cpe:/a:openEuler:openEuler:24.03-LTS">kernel-devel-6.6.0-37.0.0.44.oe2403.x86_64.rpm</FullProductName>
|
|
<FullProductName ProductID="kernel-headers-6.6.0-37.0.0.44" CPE="cpe:/a:openEuler:openEuler:24.03-LTS">kernel-headers-6.6.0-37.0.0.44.oe2403.x86_64.rpm</FullProductName>
|
|
<FullProductName ProductID="kernel-source-6.6.0-37.0.0.44" CPE="cpe:/a:openEuler:openEuler:24.03-LTS">kernel-source-6.6.0-37.0.0.44.oe2403.x86_64.rpm</FullProductName>
|
|
<FullProductName ProductID="kernel-tools-6.6.0-37.0.0.44" CPE="cpe:/a:openEuler:openEuler:24.03-LTS">kernel-tools-6.6.0-37.0.0.44.oe2403.x86_64.rpm</FullProductName>
|
|
<FullProductName ProductID="kernel-tools-debuginfo-6.6.0-37.0.0.44" CPE="cpe:/a:openEuler:openEuler:24.03-LTS">kernel-tools-debuginfo-6.6.0-37.0.0.44.oe2403.x86_64.rpm</FullProductName>
|
|
<FullProductName ProductID="kernel-tools-devel-6.6.0-37.0.0.44" CPE="cpe:/a:openEuler:openEuler:24.03-LTS">kernel-tools-devel-6.6.0-37.0.0.44.oe2403.x86_64.rpm</FullProductName>
|
|
<FullProductName ProductID="perf-6.6.0-37.0.0.44" CPE="cpe:/a:openEuler:openEuler:24.03-LTS">perf-6.6.0-37.0.0.44.oe2403.x86_64.rpm</FullProductName>
|
|
<FullProductName ProductID="perf-debuginfo-6.6.0-37.0.0.44" CPE="cpe:/a:openEuler:openEuler:24.03-LTS">perf-debuginfo-6.6.0-37.0.0.44.oe2403.x86_64.rpm</FullProductName>
|
|
<FullProductName ProductID="python3-perf-6.6.0-37.0.0.44" CPE="cpe:/a:openEuler:openEuler:24.03-LTS">python3-perf-6.6.0-37.0.0.44.oe2403.x86_64.rpm</FullProductName>
|
|
<FullProductName ProductID="python3-perf-debuginfo-6.6.0-37.0.0.44" CPE="cpe:/a:openEuler:openEuler:24.03-LTS">python3-perf-debuginfo-6.6.0-37.0.0.44.oe2403.x86_64.rpm</FullProductName>
|
|
</Branch>
|
|
<Branch Type="Package Arch" Name="src">
|
|
<FullProductName ProductID="kernel-6.6.0-37.0.0.44" CPE="cpe:/a:openEuler:openEuler:24.03-LTS">kernel-6.6.0-37.0.0.44.oe2403.src.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:
|
|
|
|
efi: libstub: only free priv.runtime_map when allocated
|
|
|
|
priv.runtime_map is only allocated when efi_novamap is not set.
|
|
Otherwise, it is an uninitialized value. In the error path, it is freed
|
|
unconditionally. Avoid passing an uninitialized value to free_pool.
|
|
Free priv.runtime_map only when it was allocated.
|
|
|
|
This bug was discovered and resolved using Coverity Static Analysis
|
|
Security Testing (SAST) by Synopsys, Inc.</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-08-09</ReleaseDate>
|
|
<CVE>CVE-2024-33619</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-24.03-LTS</ProductID>
|
|
</Status>
|
|
</ProductStatuses>
|
|
<Threats>
|
|
<Threat Type="Impact">
|
|
<Description>Medium</Description>
|
|
</Threat>
|
|
</Threats>
|
|
<CVSSScoreSets>
|
|
<ScoreSet>
|
|
<BaseScore>4.4</BaseScore>
|
|
<Vector>AV:L/AC:L/PR:H/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-08-09</DATE>
|
|
<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2024-1960</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="1" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
fpga: region: add owner module and take its refcount
|
|
|
|
The current implementation of the fpga region assumes that the low-level
|
|
module registers a driver for the parent device and uses its owner pointer
|
|
to take the module's refcount. This approach is problematic since it can
|
|
lead to a null pointer dereference while attempting to get the region
|
|
during programming if the parent device does not have a driver.
|
|
|
|
To address this problem, add a module owner pointer to the fpga_region
|
|
struct and use it to take the module's refcount. Modify the functions for
|
|
registering a region to take an additional owner module parameter and
|
|
rename them to avoid conflicts. Use the old function names for helper
|
|
macros that automatically set the module that registers the region as the
|
|
owner. This ensures compatibility with existing low-level control modules
|
|
and reduces the chances of registering a region without setting the owner.
|
|
|
|
Also, update the documentation to keep it consistent with the new interface
|
|
for registering an fpga region.</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-08-09</ReleaseDate>
|
|
<CVE>CVE-2024-35247</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-24.03-LTS</ProductID>
|
|
</Status>
|
|
</ProductStatuses>
|
|
<Threats>
|
|
<Threat Type="Impact">
|
|
<Description>Low</Description>
|
|
</Threat>
|
|
</Threats>
|
|
<CVSSScoreSets>
|
|
<ScoreSet>
|
|
<BaseScore>3.9</BaseScore>
|
|
<Vector>AV:L/AC:H/PR:H/UI:N/S:U/C:L/I:L/A:L</Vector>
|
|
</ScoreSet>
|
|
</CVSSScoreSets>
|
|
<Remediations>
|
|
<Remediation Type="Vendor Fix">
|
|
<Description>kernel security update</Description>
|
|
<DATE>2024-08-09</DATE>
|
|
<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2024-1960</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="1" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
eeprom: at24: fix memory corruption race condition
|
|
|
|
If the eeprom is not accessible, an nvmem device will be registered, the
|
|
read will fail, and the device will be torn down. If another driver
|
|
accesses the nvmem device after the teardown, it will reference
|
|
invalid memory.
|
|
|
|
Move the failure point before registering the nvmem device.</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-08-09</ReleaseDate>
|
|
<CVE>CVE-2024-35848</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-24.03-LTS</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-08-09</DATE>
|
|
<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2024-1960</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="1" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
block: fix module reference leakage from bdev_open_by_dev error path
|
|
|
|
At the time bdev_may_open() is called, module reference is grabbed
|
|
already, hence module reference should be released if bdev_may_open()
|
|
failed.
|
|
|
|
This problem is found by code review.</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-08-09</ReleaseDate>
|
|
<CVE>CVE-2024-35859</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-24.03-LTS</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-08-09</DATE>
|
|
<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2024-1960</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="1" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
Bluetooth: RFCOMM: Fix not validating setsockopt user input
|
|
|
|
syzbot reported rfcomm_sock_setsockopt_old() 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 rfcomm_sock_setsockopt_old
|
|
net/bluetooth/rfcomm/sock.c:632 [inline]
|
|
BUG: KASAN: slab-out-of-bounds in rfcomm_sock_setsockopt+0x893/0xa70
|
|
net/bluetooth/rfcomm/sock.c:673
|
|
Read of size 4 at addr ffff8880209a8bc3 by task syz-executor632/5064</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-08-09</ReleaseDate>
|
|
<CVE>CVE-2024-35966</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-24.03-LTS</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-08-09</DATE>
|
|
<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2024-1960</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="1" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
mm/slab: make __free(kfree) accept error pointers
|
|
|
|
Currently, if an automatically freed allocation is an error pointer that
|
|
will lead to a crash. An example of this is in wm831x_gpio_dbg_show().
|
|
|
|
171 char *label __free(kfree) = gpiochip_dup_line_label(chip, i);
|
|
172 if (IS_ERR(label)) {
|
|
173 dev_err(wm831x->dev, "Failed to duplicate label\n");
|
|
174 continue;
|
|
175 }
|
|
|
|
The auto clean up function should check for error pointers as well,
|
|
otherwise we're going to keep hitting issues like this.</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-08-09</ReleaseDate>
|
|
<CVE>CVE-2024-36890</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-24.03-LTS</ProductID>
|
|
</Status>
|
|
</ProductStatuses>
|
|
<Threats>
|
|
<Threat Type="Impact">
|
|
<Description>Low</Description>
|
|
</Threat>
|
|
</Threats>
|
|
<CVSSScoreSets>
|
|
<ScoreSet>
|
|
<BaseScore>3.9</BaseScore>
|
|
<Vector>AV:L/AC:H/PR:H/UI:N/S:U/C:L/I:L/A:L</Vector>
|
|
</ScoreSet>
|
|
</CVSSScoreSets>
|
|
<Remediations>
|
|
<Remediation Type="Vendor Fix">
|
|
<Description>kernel security update</Description>
|
|
<DATE>2024-08-09</DATE>
|
|
<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2024-1960</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="1" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:USB: core: Fix access violation during port device removalTesting with KASAN and syzkaller revealed a bug in port.c:disable_store():usb_hub_to_struct_hub() can return NULL if the hub that the port belongs tois concurrently removed, but the function does not check for thispossibility before dereferencing the returned value.It turns out that the first dereference is unnecessary, since hub->intfdevis the parent of the port device, so it can be changed easily. Adding acheck for hub == NULL prevents further problems.The same bug exists in the disable_show() routine, and it can be fixed thesame way.</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-08-09</ReleaseDate>
|
|
<CVE>CVE-2024-36896</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-24.03-LTS</ProductID>
|
|
</Status>
|
|
</ProductStatuses>
|
|
<Threats>
|
|
<Threat Type="Impact">
|
|
<Description>Critical</Description>
|
|
</Threat>
|
|
</Threats>
|
|
<CVSSScoreSets>
|
|
<ScoreSet>
|
|
<BaseScore>9.1</BaseScore>
|
|
<Vector>AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H</Vector>
|
|
</ScoreSet>
|
|
</CVSSScoreSets>
|
|
<Remediations>
|
|
<Remediation Type="Vendor Fix">
|
|
<Description>kernel security update</Description>
|
|
<DATE>2024-08-09</DATE>
|
|
<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2024-1960</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="1" 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-08-09</ReleaseDate>
|
|
<CVE>CVE-2024-36899</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-24.03-LTS</ProductID>
|
|
</Status>
|
|
</ProductStatuses>
|
|
<Threats>
|
|
<Threat Type="Impact">
|
|
<Description>High</Description>
|
|
</Threat>
|
|
</Threats>
|
|
<CVSSScoreSets>
|
|
<ScoreSet>
|
|
<BaseScore>7.0</BaseScore>
|
|
<Vector>AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H</Vector>
|
|
</ScoreSet>
|
|
</CVSSScoreSets>
|
|
<Remediations>
|
|
<Remediation Type="Vendor Fix">
|
|
<Description>kernel security update</Description>
|
|
<DATE>2024-08-09</DATE>
|
|
<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2024-1960</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="1" 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 stackdeal 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 PTIKASAN: null-ptr-deref in range [0x00000000000005e0-0x00000000000005e7]CPU: 0 PID: 9775 Comm: syz-executor.4 Not tainted 6.9.0-rc5-syzkaller-00157-g6a30653b604a #0Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 03/27/2024 RIP: 0010:ip6_output+0x231/0x3f0 net/ipv6/ip6_output.c:237Code: 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 ffRSP: 0018:ffffc9000927f0d8 EFLAGS: 00010202RAX: 00000000000000bc RBX: 00000000000005e0 RCX: 0000000000040000RDX: ffffc900131f9000 RSI: 0000000000004f47 RDI: 0000000000004f48RBP: 0000000000000000 R08: ffffffff8a1f0b9a R09: 1ffffffff1f51fadR10: dffffc0000000000 R11: fffffbfff1f51fae R12: ffff8880293ec8c0R13: ffff88805d7fc000 R14: 1ffff1100527d91a R15: dffffc0000000000FS: 00007f135c6856c0(0000) GS:ffff8880b9400000(0000) knlGS:0000000000000000CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033CR2: 0000000020000080 CR3: 0000000064096000 CR4: 00000000003506f0DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400Call 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-08-09</ReleaseDate>
|
|
<CVE>CVE-2024-36901</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-24.03-LTS</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-08-09</DATE>
|
|
<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2024-1960</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="1" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
Reapply "drm/qxl: simplify qxl_fence_wait"
|
|
|
|
This reverts commit 07ed11afb68d94eadd4ffc082b97c2331307c5ea.
|
|
|
|
Stephen Rostedt reports:
|
|
"I went to run my tests on my VMs and the tests hung on boot up.
|
|
Unfortunately, the most I ever got out was:
|
|
|
|
[ 93.607888] Testing event system initcall: OK
|
|
[ 93.667730] Running tests on all trace events:
|
|
[ 93.669757] Testing all events: OK
|
|
[ 95.631064] ------------[ cut here ]------------
|
|
Timed out after 60 seconds"
|
|
|
|
and further debugging points to a possible circular locking dependency
|
|
between the console_owner locking and the worker pool locking.
|
|
|
|
Reverting the commit allows Steve's VM to boot to completion again.
|
|
|
|
[ This may obviously result in the "[TTM] Buffer eviction failed"
|
|
messages again, which was the reason for that original revert. But at
|
|
this point this seems preferable to a non-booting system... ]</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-08-09</ReleaseDate>
|
|
<CVE>CVE-2024-36944</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-24.03-LTS</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-08-09</DATE>
|
|
<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2024-1960</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="1" 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-08-09</ReleaseDate>
|
|
<CVE>CVE-2024-36964</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-24.03-LTS</ProductID>
|
|
</Status>
|
|
</ProductStatuses>
|
|
<Threats>
|
|
<Threat Type="Impact">
|
|
<Description>High</Description>
|
|
</Threat>
|
|
</Threats>
|
|
<CVSSScoreSets>
|
|
<ScoreSet>
|
|
<BaseScore>7.2</BaseScore>
|
|
<Vector>AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H</Vector>
|
|
</ScoreSet>
|
|
</CVSSScoreSets>
|
|
<Remediations>
|
|
<Remediation Type="Vendor Fix">
|
|
<Description>kernel security update</Description>
|
|
<DATE>2024-08-09</DATE>
|
|
<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2024-1960</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="1" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
net/mlx5: Add a timeout to acquire the command queue semaphore
|
|
|
|
Prevent forced completion handling on an entry that has not yet been
|
|
assigned an index, causing an out of bounds access on idx = -22.
|
|
Instead of waiting indefinitely for the sem, blocking flow now waits for
|
|
index to be allocated or a sem acquisition timeout before beginning the
|
|
timer for FW completion.
|
|
|
|
Kernel log example:
|
|
mlx5_core 0000:06:00.0: wait_func_handle_exec_timeout:1128:(pid 185911): cmd[-22]: CREATE_UCTX(0xa04) No done completion</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-08-09</ReleaseDate>
|
|
<CVE>CVE-2024-38556</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-24.03-LTS</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-08-09</DATE>
|
|
<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2024-1960</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="1" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
rcu: Fix buffer overflow in print_cpu_stall_info()
|
|
|
|
The rcuc-starvation output from print_cpu_stall_info() might overflow the
|
|
buffer if there is a huge difference in jiffies difference. The situation
|
|
might seem improbable, but computers sometimes get very confused about
|
|
time, which can result in full-sized integers, and, in this case,
|
|
buffer overflow.
|
|
|
|
Also, the unsigned jiffies difference is printed using %ld, which is
|
|
normally for signed integers. This is intentional for debugging purposes,
|
|
but it is not obvious from the code.
|
|
|
|
This commit therefore changes sprintf() to snprintf() and adds a
|
|
clarifying comment about intention of %ld format.
|
|
|
|
Found by Linux Verification Center (linuxtesting.org) with SVACE.</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-08-09</ReleaseDate>
|
|
<CVE>CVE-2024-38576</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-24.03-LTS</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-08-09</DATE>
|
|
<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2024-1960</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="1" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
ALSA: Fix deadlocks with kctl removals at disconnection
|
|
|
|
In snd_card_disconnect(), we set card->shutdown flag at the beginning,
|
|
call callbacks and do sync for card->power_ref_sleep waiters at the
|
|
end. The callback may delete a kctl element, and this can lead to a
|
|
deadlock when the device was in the suspended state. Namely:
|
|
|
|
* A process waits for the power up at snd_power_ref_and_wait() in
|
|
snd_ctl_info() or read/write() inside card->controls_rwsem.
|
|
|
|
* The system gets disconnected meanwhile, and the driver tries to
|
|
delete a kctl via snd_ctl_remove*(); it tries to take
|
|
card->controls_rwsem again, but this is already locked by the
|
|
above. Since the sleeper isn't woken up, this deadlocks.
|
|
|
|
An easy fix is to wake up sleepers before processing the driver
|
|
disconnect callbacks but right after setting the card->shutdown flag.
|
|
Then all sleepers will abort immediately, and the code flows again.
|
|
|
|
So, basically this patch moves the wait_event() call at the right
|
|
timing. While we're at it, just to be sure, call wait_event_all()
|
|
instead of wait_event(), although we don't use exclusive events on
|
|
this queue for now.</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-08-09</ReleaseDate>
|
|
<CVE>CVE-2024-38600</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-24.03-LTS</ProductID>
|
|
</Status>
|
|
</ProductStatuses>
|
|
<Threats>
|
|
<Threat Type="Impact">
|
|
<Description>Medium</Description>
|
|
</Threat>
|
|
</Threats>
|
|
<CVSSScoreSets>
|
|
<ScoreSet>
|
|
<BaseScore>4.7</BaseScore>
|
|
<Vector>AV:L/AC:H/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-08-09</DATE>
|
|
<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2024-1960</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="1" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
crypto: qat - validate slices count returned by FW
|
|
|
|
The function adf_send_admin_tl_start() enables the telemetry (TL)
|
|
feature on a QAT device by sending the ICP_QAT_FW_TL_START message to
|
|
the firmware. This triggers the FW to start writing TL data to a DMA
|
|
buffer in memory and returns an array containing the number of
|
|
accelerators of each type (slices) supported by this HW.
|
|
The pointer to this array is stored in the adf_tl_hw_data data
|
|
structure called slice_cnt.
|
|
|
|
The array slice_cnt is then used in the function tl_print_dev_data()
|
|
to report in debugfs only statistics about the supported accelerators.
|
|
An incorrect value of the elements in slice_cnt might lead to an out
|
|
of bounds memory read.
|
|
At the moment, there isn't an implementation of FW that returns a wrong
|
|
value, but for robustness validate the slice count array returned by FW.</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-08-09</ReleaseDate>
|
|
<CVE>CVE-2024-38606</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-24.03-LTS</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-08-09</DATE>
|
|
<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2024-1960</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="1" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
macintosh/via-macii: Fix "BUG: sleeping function called from invalid context"
|
|
|
|
The via-macii ADB driver calls request_irq() after disabling hard
|
|
interrupts. But disabling interrupts isn't necessary here because the
|
|
VIA shift register interrupt was masked during VIA1 initialization.</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-08-09</ReleaseDate>
|
|
<CVE>CVE-2024-38607</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-24.03-LTS</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-08-09</DATE>
|
|
<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2024-1960</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="1" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
kunit/fortify: Fix mismatched kvalloc()/vfree() usage
|
|
|
|
The kv*() family of tests were accidentally freeing with vfree() instead
|
|
of kvfree(). Use kvfree() instead.</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-08-09</ReleaseDate>
|
|
<CVE>CVE-2024-38617</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-24.03-LTS</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-08-09</DATE>
|
|
<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2024-1960</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="1" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
drm/amdgpu: add error handle to avoid out-of-bounds
|
|
|
|
if the sdma_v4_0_irq_id_to_seq return -EINVAL, the process should
|
|
be stop to avoid out-of-bounds read, so directly return -EINVAL.</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-08-09</ReleaseDate>
|
|
<CVE>CVE-2024-39471</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-24.03-LTS</ProductID>
|
|
</Status>
|
|
</ProductStatuses>
|
|
<Threats>
|
|
<Threat Type="Impact">
|
|
<Description>Medium</Description>
|
|
</Threat>
|
|
</Threats>
|
|
<CVSSScoreSets>
|
|
<ScoreSet>
|
|
<BaseScore>4.4</BaseScore>
|
|
<Vector>AV:L/AC:L/PR:H/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-08-09</DATE>
|
|
<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2024-1960</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="1" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:ASoC: SOF: ipc4-topology: Fix input format query of process modules without base extensionIf a process module does not have base config extension then the sameformat applies to all of it s inputs and the process->base_config_ext isNULL, causing NULL dereference when specifically crafted topology andsequences used.</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-08-09</ReleaseDate>
|
|
<CVE>CVE-2024-39473</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-24.03-LTS</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-08-09</DATE>
|
|
<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2024-1960</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="1" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:fbdev: savage: Handle err return when savagefb_check_var failedThe commit 04e5eac8f3ab( fbdev: savage: Error out if pixclock equals zero )checks the value of pixclock to avoid divide-by-zero error. Howeverthe function savagefb_probe doesn t handle the error return ofsavagefb_check_var. When pixclock is 0, it will cause divide-by-zero error.</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-08-09</ReleaseDate>
|
|
<CVE>CVE-2024-39475</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-24.03-LTS</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-08-09</DATE>
|
|
<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2024-1960</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="1" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:media: mc: Fix graph walk in media_pipeline_startThe graph walk tries to follow all links, even if they are not betweenpads. This causes a crash with, e.g. a MEDIA_LNK_FL_ANCILLARY_LINK link.Fix this by allowing the walk to proceed only for MEDIA_LNK_FL_DATA_LINKlinks.</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-08-09</ReleaseDate>
|
|
<CVE>CVE-2024-39481</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-24.03-LTS</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-08-09</DATE>
|
|
<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2024-1960</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="1" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
drm/drm_file: Fix pid refcounting race
|
|
|
|
<maarten.lankhorst@linux.intel.com>, Maxime Ripard
|
|
<mripard@kernel.org>, Thomas Zimmermann <tzimmermann@suse.de>
|
|
|
|
filp->pid is supposed to be a refcounted pointer; however, before this
|
|
patch, drm_file_update_pid() only increments the refcount of a struct
|
|
pid after storing a pointer to it in filp->pid and dropping the
|
|
dev->filelist_mutex, making the following race possible:
|
|
|
|
process A process B
|
|
========= =========
|
|
begin drm_file_update_pid
|
|
mutex_lock(&dev->filelist_mutex)
|
|
rcu_replace_pointer(filp->pid, <pid B>, 1)
|
|
mutex_unlock(&dev->filelist_mutex)
|
|
begin drm_file_update_pid
|
|
mutex_lock(&dev->filelist_mutex)
|
|
rcu_replace_pointer(filp->pid, <pid A>, 1)
|
|
mutex_unlock(&dev->filelist_mutex)
|
|
get_pid(<pid A>)
|
|
synchronize_rcu()
|
|
put_pid(<pid B>) *** pid B reaches refcount 0 and is freed here ***
|
|
get_pid(<pid B>) *** UAF ***
|
|
synchronize_rcu()
|
|
put_pid(<pid A>)
|
|
|
|
As far as I know, this race can only occur with CONFIG_PREEMPT_RCU=y
|
|
because it requires RCU to detect a quiescent state in code that is not
|
|
explicitly calling into the scheduler.
|
|
|
|
This race leads to use-after-free of a "struct pid".
|
|
It is probably somewhat hard to hit because process A has to pass
|
|
through a synchronize_rcu() operation while process B is between
|
|
mutex_unlock() and get_pid().
|
|
|
|
Fix it by ensuring that by the time a pointer to the current task's pid
|
|
is stored in the file, an extra reference to the pid has been taken.
|
|
|
|
This fix also removes the condition for synchronize_rcu(); I think
|
|
that optimization is unnecessary complexity, since in that case we
|
|
would usually have bailed out on the lockless check above.</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-08-09</ReleaseDate>
|
|
<CVE>CVE-2024-39486</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-24.03-LTS</ProductID>
|
|
</Status>
|
|
</ProductStatuses>
|
|
<Threats>
|
|
<Threat Type="Impact">
|
|
<Description>Low</Description>
|
|
</Threat>
|
|
</Threats>
|
|
<CVSSScoreSets>
|
|
<ScoreSet>
|
|
<BaseScore>3.9</BaseScore>
|
|
<Vector>AV:L/AC:H/PR:H/UI:N/S:U/C:L/I:L/A:L</Vector>
|
|
</ScoreSet>
|
|
</CVSSScoreSets>
|
|
<Remediations>
|
|
<Remediation Type="Vendor Fix">
|
|
<Description>kernel security update</Description>
|
|
<DATE>2024-08-09</DATE>
|
|
<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2024-1960</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="1" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
crypto: qat - Fix ADF_DEV_RESET_SYNC memory leak
|
|
|
|
Using completion_done to determine whether the caller has gone
|
|
away only works after a complete call. Furthermore it's still
|
|
possible that the caller has not yet called wait_for_completion,
|
|
resulting in another potential UAF.
|
|
|
|
Fix this by making the caller use cancel_work_sync and then freeing
|
|
the memory safely.</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-08-09</ReleaseDate>
|
|
<CVE>CVE-2024-39493</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-24.03-LTS</ProductID>
|
|
</Status>
|
|
</ProductStatuses>
|
|
<Threats>
|
|
<Threat Type="Impact">
|
|
<Description>Medium</Description>
|
|
</Threat>
|
|
</Threats>
|
|
<CVSSScoreSets>
|
|
<ScoreSet>
|
|
<BaseScore>6.1</BaseScore>
|
|
<Vector>AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:H</Vector>
|
|
</ScoreSet>
|
|
</CVSSScoreSets>
|
|
<Remediations>
|
|
<Remediation Type="Vendor Fix">
|
|
<Description>kernel security update</Description>
|
|
<DATE>2024-08-09</DATE>
|
|
<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2024-1960</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="1" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:btrfs: zoned: fix use-after-free due to race with dev replaceWhile loading a zone s info during creation of a block group, we can racewith a device replace operation and then trigger a use-after-free on thedevice that was just replaced (source device of the replace operation).This happens because at btrfs_load_zone_info() we extract a device fromthe chunk map into a local variable and then use the device while notunder the protection of the device replace rwsem. So if there s a devicereplace operation happening when we extract the device and that deviceis the source of the replace operation, we will trigger a use-after-freeif before we finish using the device the replace operation finishes andfrees the device.Fix this by enlarging the critical section under the protection of thedevice replace rwsem so that all uses of the device are done inside thecritical section.</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-08-09</ReleaseDate>
|
|
<CVE>CVE-2024-39496</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-24.03-LTS</ProductID>
|
|
</Status>
|
|
</ProductStatuses>
|
|
<Threats>
|
|
<Threat Type="Impact">
|
|
<Description>High</Description>
|
|
</Threat>
|
|
</Threats>
|
|
<CVSSScoreSets>
|
|
<ScoreSet>
|
|
<BaseScore>7.0</BaseScore>
|
|
<Vector>AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H</Vector>
|
|
</ScoreSet>
|
|
</CVSSScoreSets>
|
|
<Remediations>
|
|
<Remediation Type="Vendor Fix">
|
|
<Description>kernel security update</Description>
|
|
<DATE>2024-08-09</DATE>
|
|
<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2024-1960</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="1" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
netfilter: ipset: Fix race between namespace cleanup and gc in the list:set type
|
|
|
|
Lion Ackermann reported that there is a race condition between namespace cleanup
|
|
in ipset and the garbage collection of the list:set type. The namespace
|
|
cleanup can destroy the list:set type of sets while the gc of the set type is
|
|
waiting to run in rcu cleanup. The latter uses data from the destroyed set which
|
|
thus leads use after free. The patch contains the following parts:
|
|
|
|
- When destroying all sets, first remove the garbage collectors, then wait
|
|
if needed and then destroy the sets.
|
|
- Fix the badly ordered "wait then remove gc" for the destroy a single set
|
|
case.
|
|
- Fix the missing rcu locking in the list:set type in the userspace test
|
|
case.
|
|
- Use proper RCU list handlings in the list:set type.
|
|
|
|
The patch depends on c1193d9bbbd3 (netfilter: ipset: Add list flush to cancel_gc).</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-08-09</ReleaseDate>
|
|
<CVE>CVE-2024-39503</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-24.03-LTS</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-08-09</DATE>
|
|
<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2024-1960</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="1" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
cachefiles: remove requests from xarray during flushing requests
|
|
|
|
Even with CACHEFILES_DEAD set, we can still read the requests, so in the
|
|
following concurrency the request may be used after it has been freed:
|
|
|
|
mount | daemon_thread1 | daemon_thread2
|
|
------------------------------------------------------------
|
|
cachefiles_ondemand_init_object
|
|
cachefiles_ondemand_send_req
|
|
REQ_A = kzalloc(sizeof(*req) + data_len)
|
|
wait_for_completion(&REQ_A->done)
|
|
cachefiles_daemon_read
|
|
cachefiles_ondemand_daemon_read
|
|
// close dev fd
|
|
cachefiles_flush_reqs
|
|
complete(&REQ_A->done)
|
|
kfree(REQ_A)
|
|
xa_lock(&cache->reqs);
|
|
cachefiles_ondemand_select_req
|
|
req->msg.opcode != CACHEFILES_OP_READ
|
|
// req use-after-free !!!
|
|
xa_unlock(&cache->reqs);
|
|
xa_destroy(&cache->reqs)
|
|
|
|
Hence remove requests from cache->reqs when flushing them to avoid
|
|
accessing freed requests.</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-08-09</ReleaseDate>
|
|
<CVE>CVE-2024-40900</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-24.03-LTS</ProductID>
|
|
</Status>
|
|
</ProductStatuses>
|
|
<Threats>
|
|
<Threat Type="Impact">
|
|
<Description>Medium</Description>
|
|
</Threat>
|
|
</Threats>
|
|
<CVSSScoreSets>
|
|
<ScoreSet>
|
|
<BaseScore>6.4</BaseScore>
|
|
<Vector>AV:L/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:H</Vector>
|
|
</ScoreSet>
|
|
</CVSSScoreSets>
|
|
<Remediations>
|
|
<Remediation Type="Vendor Fix">
|
|
<Description>kernel security update</Description>
|
|
<DATE>2024-08-09</DATE>
|
|
<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2024-1960</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="1" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
net/mlx5: Always stop health timer during driver removal
|
|
|
|
Currently, if teardown_hca fails to execute during driver removal, mlx5
|
|
does not stop the health timer. Afterwards, mlx5 continue with driver
|
|
teardown. This may lead to a UAF bug, which results in page fault
|
|
Oops[1], since the health timer invokes after resources were freed.
|
|
|
|
Hence, stop the health monitor even if teardown_hca fails.
|
|
|
|
[1]
|
|
mlx5_core 0000:18:00.0: E-Switch: Unload vfs: mode(LEGACY), nvfs(0), necvfs(0), active vports(0)
|
|
mlx5_core 0000:18:00.0: E-Switch: Disable: mode(LEGACY), nvfs(0), necvfs(0), active vports(0)
|
|
mlx5_core 0000:18:00.0: E-Switch: Disable: mode(LEGACY), nvfs(0), necvfs(0), active vports(0)
|
|
mlx5_core 0000:18:00.0: E-Switch: cleanup
|
|
mlx5_core 0000:18:00.0: wait_func:1155:(pid 1967079): TEARDOWN_HCA(0x103) timeout. Will cause a leak of a command resource
|
|
mlx5_core 0000:18:00.0: mlx5_function_close:1288:(pid 1967079): tear_down_hca failed, skip cleanup
|
|
BUG: unable to handle page fault for address: ffffa26487064230
|
|
PGD 100c00067 P4D 100c00067 PUD 100e5a067 PMD 105ed7067 PTE 0
|
|
Oops: 0000 [#1] PREEMPT SMP PTI
|
|
CPU: 0 PID: 0 Comm: swapper/0 Tainted: G OE ------- --- 6.7.0-68.fc38.x86_64 #1
|
|
Hardware name: Intel Corporation S2600WFT/S2600WFT, BIOS SE5C620.86B.02.01.0013.121520200651 12/15/2020
|
|
RIP: 0010:ioread32be+0x34/0x60
|
|
RSP: 0018:ffffa26480003e58 EFLAGS: 00010292
|
|
RAX: ffffa26487064200 RBX: ffff9042d08161a0 RCX: ffff904c108222c0
|
|
RDX: 000000010bbf1b80 RSI: ffffffffc055ddb0 RDI: ffffa26487064230
|
|
RBP: ffff9042d08161a0 R08: 0000000000000022 R09: ffff904c108222e8
|
|
R10: 0000000000000004 R11: 0000000000000441 R12: ffffffffc055ddb0
|
|
R13: ffffa26487064200 R14: ffffa26480003f00 R15: ffff904c108222c0
|
|
FS: 0000000000000000(0000) GS:ffff904c10800000(0000) knlGS:0000000000000000
|
|
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
|
|
CR2: ffffa26487064230 CR3: 00000002c4420006 CR4: 00000000007706f0
|
|
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
|
|
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
|
|
PKRU: 55555554
|
|
Call Trace:
|
|
<IRQ>
|
|
? __die+0x23/0x70
|
|
? page_fault_oops+0x171/0x4e0
|
|
? exc_page_fault+0x175/0x180
|
|
? asm_exc_page_fault+0x26/0x30
|
|
? __pfx_poll_health+0x10/0x10 [mlx5_core]
|
|
? __pfx_poll_health+0x10/0x10 [mlx5_core]
|
|
? ioread32be+0x34/0x60
|
|
mlx5_health_check_fatal_sensors+0x20/0x100 [mlx5_core]
|
|
? __pfx_poll_health+0x10/0x10 [mlx5_core]
|
|
poll_health+0x42/0x230 [mlx5_core]
|
|
? __next_timer_interrupt+0xbc/0x110
|
|
? __pfx_poll_health+0x10/0x10 [mlx5_core]
|
|
call_timer_fn+0x21/0x130
|
|
? __pfx_poll_health+0x10/0x10 [mlx5_core]
|
|
__run_timers+0x222/0x2c0
|
|
run_timer_softirq+0x1d/0x40
|
|
__do_softirq+0xc9/0x2c8
|
|
__irq_exit_rcu+0xa6/0xc0
|
|
sysvec_apic_timer_interrupt+0x72/0x90
|
|
</IRQ>
|
|
<TASK>
|
|
asm_sysvec_apic_timer_interrupt+0x1a/0x20
|
|
RIP: 0010:cpuidle_enter_state+0xcc/0x440
|
|
? cpuidle_enter_state+0xbd/0x440
|
|
cpuidle_enter+0x2d/0x40
|
|
do_idle+0x20d/0x270
|
|
cpu_startup_entry+0x2a/0x30
|
|
rest_init+0xd0/0xd0
|
|
arch_call_rest_init+0xe/0x30
|
|
start_kernel+0x709/0xa90
|
|
x86_64_start_reservations+0x18/0x30
|
|
x86_64_start_kernel+0x96/0xa0
|
|
secondary_startup_64_no_verify+0x18f/0x19b
|
|
---[ end trace 0000000000000000 ]---</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-08-09</ReleaseDate>
|
|
<CVE>CVE-2024-40906</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-24.03-LTS</ProductID>
|
|
</Status>
|
|
</ProductStatuses>
|
|
<Threats>
|
|
<Threat Type="Impact">
|
|
<Description>Medium</Description>
|
|
</Threat>
|
|
</Threats>
|
|
<CVSSScoreSets>
|
|
<ScoreSet>
|
|
<BaseScore>4.4</BaseScore>
|
|
<Vector>AV:L/AC:L/PR:H/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-08-09</DATE>
|
|
<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2024-1960</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="1" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
bpf: Set run context for rawtp test_run callback
|
|
|
|
syzbot reported crash when rawtp program executed through the
|
|
test_run interface calls bpf_get_attach_cookie helper or any
|
|
other helper that touches task->bpf_ctx pointer.
|
|
|
|
Setting the run context (task->bpf_ctx pointer) for test_run
|
|
callback.</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-08-09</ReleaseDate>
|
|
<CVE>CVE-2024-40908</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-24.03-LTS</ProductID>
|
|
</Status>
|
|
</ProductStatuses>
|
|
<Threats>
|
|
<Threat Type="Impact">
|
|
<Description>Low</Description>
|
|
</Threat>
|
|
</Threats>
|
|
<CVSSScoreSets>
|
|
<ScoreSet>
|
|
<BaseScore>3.9</BaseScore>
|
|
<Vector>AV:L/AC:H/PR:H/UI:N/S:U/C:L/I:L/A:L</Vector>
|
|
</ScoreSet>
|
|
</CVSSScoreSets>
|
|
<Remediations>
|
|
<Remediation Type="Vendor Fix">
|
|
<Description>kernel security update</Description>
|
|
<DATE>2024-08-09</DATE>
|
|
<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2024-1960</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="1" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
cachefiles: defer exposing anon_fd until after copy_to_user() succeeds
|
|
|
|
After installing the anonymous fd, we can now see it in userland and close
|
|
it. However, at this point we may not have gotten the reference count of
|
|
the cache, but we will put it during colse fd, so this may cause a cache
|
|
UAF.
|
|
|
|
So grab the cache reference count before fd_install(). In addition, by
|
|
kernel convention, fd is taken over by the user land after fd_install(),
|
|
and the kernel should not call close_fd() after that, i.e., it should call
|
|
fd_install() after everything is ready, thus fd_install() is called after
|
|
copy_to_user() succeeds.</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-08-09</ReleaseDate>
|
|
<CVE>CVE-2024-40913</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-24.03-LTS</ProductID>
|
|
</Status>
|
|
</ProductStatuses>
|
|
<Threats>
|
|
<Threat Type="Impact">
|
|
<Description>Medium</Description>
|
|
</Threat>
|
|
</Threats>
|
|
<CVSSScoreSets>
|
|
<ScoreSet>
|
|
<BaseScore>6.6</BaseScore>
|
|
<Vector>AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:H</Vector>
|
|
</ScoreSet>
|
|
</CVSSScoreSets>
|
|
<Remediations>
|
|
<Remediation Type="Vendor Fix">
|
|
<Description>kernel security update</Description>
|
|
<DATE>2024-08-09</DATE>
|
|
<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2024-1960</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="1" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
net: bridge: mst: fix suspicious rcu usage in br_mst_set_state
|
|
|
|
I converted br_mst_set_state to RCU to avoid a vlan use-after-free
|
|
but forgot to change the vlan group dereference helper. Switch to vlan
|
|
group RCU deref helper to fix the suspicious rcu usage warning.</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-08-09</ReleaseDate>
|
|
<CVE>CVE-2024-40920</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-24.03-LTS</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-08-09</DATE>
|
|
<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2024-1960</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="1" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
net: bridge: mst: pass vlan group directly to br_mst_vlan_set_state
|
|
|
|
Pass the already obtained vlan group pointer to br_mst_vlan_set_state()
|
|
instead of dereferencing it again. Each caller has already correctly
|
|
dereferenced it for their context. This change is required for the
|
|
following suspicious RCU dereference fix. No functional changes
|
|
intended.</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-08-09</ReleaseDate>
|
|
<CVE>CVE-2024-40921</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-24.03-LTS</ProductID>
|
|
</Status>
|
|
</ProductStatuses>
|
|
<Threats>
|
|
<Threat Type="Impact">
|
|
<Description>Low</Description>
|
|
</Threat>
|
|
</Threats>
|
|
<CVSSScoreSets>
|
|
<ScoreSet>
|
|
<BaseScore>3.9</BaseScore>
|
|
<Vector>AV:L/AC:H/PR:H/UI:N/S:U/C:L/I:L/A:L</Vector>
|
|
</ScoreSet>
|
|
</CVSSScoreSets>
|
|
<Remediations>
|
|
<Remediation Type="Vendor Fix">
|
|
<Description>kernel security update</Description>
|
|
<DATE>2024-08-09</DATE>
|
|
<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2024-1960</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="1" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
io_uring/rsrc: don't lock while !TASK_RUNNING
|
|
|
|
There is a report of io_rsrc_ref_quiesce() locking a mutex while not
|
|
TASK_RUNNING, which is due to forgetting restoring the state back after
|
|
io_run_task_work_sig() and attempts to break out of the waiting loop.
|
|
|
|
do not call blocking ops when !TASK_RUNNING; state=1 set at
|
|
[<ffffffff815d2494>] prepare_to_wait+0xa4/0x380
|
|
kernel/sched/wait.c:237
|
|
WARNING: CPU: 2 PID: 397056 at kernel/sched/core.c:10099
|
|
__might_sleep+0x114/0x160 kernel/sched/core.c:10099
|
|
RIP: 0010:__might_sleep+0x114/0x160 kernel/sched/core.c:10099
|
|
Call Trace:
|
|
<TASK>
|
|
__mutex_lock_common kernel/locking/mutex.c:585 [inline]
|
|
__mutex_lock+0xb4/0x940 kernel/locking/mutex.c:752
|
|
io_rsrc_ref_quiesce+0x590/0x940 io_uring/rsrc.c:253
|
|
io_sqe_buffers_unregister+0xa2/0x340 io_uring/rsrc.c:799
|
|
__io_uring_register io_uring/register.c:424 [inline]
|
|
__do_sys_io_uring_register+0x5b9/0x2400 io_uring/register.c:613
|
|
do_syscall_x64 arch/x86/entry/common.c:52 [inline]
|
|
do_syscall_64+0xd8/0x270 arch/x86/entry/common.c:83
|
|
entry_SYSCALL_64_after_hwframe+0x6f/0x77</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-08-09</ReleaseDate>
|
|
<CVE>CVE-2024-40922</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-24.03-LTS</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-08-09</DATE>
|
|
<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2024-1960</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="1" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
cachefiles: flush all requests after setting CACHEFILES_DEAD
|
|
|
|
In ondemand mode, when the daemon is processing an open request, if the
|
|
kernel flags the cache as CACHEFILES_DEAD, the cachefiles_daemon_write()
|
|
will always return -EIO, so the daemon can't pass the copen to the kernel.
|
|
Then the kernel process that is waiting for the copen triggers a hung_task.
|
|
|
|
Since the DEAD state is irreversible, it can only be exited by closing
|
|
/dev/cachefiles. Therefore, after calling cachefiles_io_error() to mark
|
|
the cache as CACHEFILES_DEAD, if in ondemand mode, flush all requests to
|
|
avoid the above hungtask. We may still be able to read some of the cached
|
|
data before closing the fd of /dev/cachefiles.
|
|
|
|
Note that this relies on the patch that adds reference counting to the req,
|
|
otherwise it may UAF.</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-08-09</ReleaseDate>
|
|
<CVE>CVE-2024-40935</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-24.03-LTS</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-08-09</DATE>
|
|
<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2024-1960</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="1" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
KVM: Fix a data race on last_boosted_vcpu in kvm_vcpu_on_spin()
|
|
|
|
Use {READ,WRITE}_ONCE() to access kvm->last_boosted_vcpu to ensure the
|
|
loads and stores are atomic. In the extremely unlikely scenario the
|
|
compiler tears the stores, it's theoretically possible for KVM to attempt
|
|
to get a vCPU using an out-of-bounds index, e.g. if the write is split
|
|
into multiple 8-bit stores, and is paired with a 32-bit load on a VM with
|
|
257 vCPUs:
|
|
|
|
CPU0 CPU1
|
|
last_boosted_vcpu = 0xff;
|
|
|
|
(last_boosted_vcpu = 0x100)
|
|
last_boosted_vcpu[15:8] = 0x01;
|
|
i = (last_boosted_vcpu = 0x1ff)
|
|
last_boosted_vcpu[7:0] = 0x00;
|
|
|
|
vcpu = kvm->vcpu_array[0x1ff];
|
|
|
|
As detected by KCSAN:
|
|
|
|
BUG: KCSAN: data-race in kvm_vcpu_on_spin [kvm] / kvm_vcpu_on_spin [kvm]
|
|
|
|
write to 0xffffc90025a92344 of 4 bytes by task 4340 on cpu 16:
|
|
kvm_vcpu_on_spin (arch/x86/kvm/../../../virt/kvm/kvm_main.c:4112) kvm
|
|
handle_pause (arch/x86/kvm/vmx/vmx.c:5929) kvm_intel
|
|
vmx_handle_exit (arch/x86/kvm/vmx/vmx.c:?
|
|
arch/x86/kvm/vmx/vmx.c:6606) kvm_intel
|
|
vcpu_run (arch/x86/kvm/x86.c:11107 arch/x86/kvm/x86.c:11211) kvm
|
|
kvm_arch_vcpu_ioctl_run (arch/x86/kvm/x86.c:?) kvm
|
|
kvm_vcpu_ioctl (arch/x86/kvm/../../../virt/kvm/kvm_main.c:?) kvm
|
|
__se_sys_ioctl (fs/ioctl.c:52 fs/ioctl.c:904 fs/ioctl.c:890)
|
|
__x64_sys_ioctl (fs/ioctl.c:890)
|
|
x64_sys_call (arch/x86/entry/syscall_64.c:33)
|
|
do_syscall_64 (arch/x86/entry/common.c:?)
|
|
entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:130)
|
|
|
|
read to 0xffffc90025a92344 of 4 bytes by task 4342 on cpu 4:
|
|
kvm_vcpu_on_spin (arch/x86/kvm/../../../virt/kvm/kvm_main.c:4069) kvm
|
|
handle_pause (arch/x86/kvm/vmx/vmx.c:5929) kvm_intel
|
|
vmx_handle_exit (arch/x86/kvm/vmx/vmx.c:?
|
|
arch/x86/kvm/vmx/vmx.c:6606) kvm_intel
|
|
vcpu_run (arch/x86/kvm/x86.c:11107 arch/x86/kvm/x86.c:11211) kvm
|
|
kvm_arch_vcpu_ioctl_run (arch/x86/kvm/x86.c:?) kvm
|
|
kvm_vcpu_ioctl (arch/x86/kvm/../../../virt/kvm/kvm_main.c:?) kvm
|
|
__se_sys_ioctl (fs/ioctl.c:52 fs/ioctl.c:904 fs/ioctl.c:890)
|
|
__x64_sys_ioctl (fs/ioctl.c:890)
|
|
x64_sys_call (arch/x86/entry/syscall_64.c:33)
|
|
do_syscall_64 (arch/x86/entry/common.c:?)
|
|
entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:130)
|
|
|
|
value changed: 0x00000012 -> 0x00000000</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-08-09</ReleaseDate>
|
|
<CVE>CVE-2024-40953</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-24.03-LTS</ProductID>
|
|
</Status>
|
|
</ProductStatuses>
|
|
<Threats>
|
|
<Threat Type="Impact">
|
|
<Description>Low</Description>
|
|
</Threat>
|
|
</Threats>
|
|
<CVSSScoreSets>
|
|
<ScoreSet>
|
|
<BaseScore>3.9</BaseScore>
|
|
<Vector>AV:L/AC:H/PR:H/UI:N/S:U/C:L/I:L/A:L</Vector>
|
|
</ScoreSet>
|
|
</CVSSScoreSets>
|
|
<Remediations>
|
|
<Remediation Type="Vendor Fix">
|
|
<Description>kernel security update</Description>
|
|
<DATE>2024-08-09</DATE>
|
|
<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2024-1960</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="1" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
btrfs: zoned: allocate dummy checksums for zoned NODATASUM writes
|
|
|
|
Shin'ichiro reported that when he's running fstests' test-case
|
|
btrfs/167 on emulated zoned devices, he's seeing the following NULL
|
|
pointer dereference in 'btrfs_zone_finish_endio()':
|
|
|
|
Oops: general protection fault, probably for non-canonical address 0xdffffc0000000011: 0000 [#1] PREEMPT SMP KASAN NOPTI
|
|
KASAN: null-ptr-deref in range [0x0000000000000088-0x000000000000008f]
|
|
CPU: 4 PID: 2332440 Comm: kworker/u80:15 Tainted: G W 6.10.0-rc2-kts+ #4
|
|
Hardware name: Supermicro Super Server/X11SPi-TF, BIOS 3.3 02/21/2020
|
|
Workqueue: btrfs-endio-write btrfs_work_helper [btrfs]
|
|
RIP: 0010:btrfs_zone_finish_endio.part.0+0x34/0x160 [btrfs]
|
|
|
|
RSP: 0018:ffff88867f107a90 EFLAGS: 00010206
|
|
RAX: dffffc0000000000 RBX: 0000000000000000 RCX: ffffffff893e5534
|
|
RDX: 0000000000000011 RSI: 0000000000000004 RDI: 0000000000000088
|
|
RBP: 0000000000000002 R08: 0000000000000001 R09: ffffed1081696028
|
|
R10: ffff88840b4b0143 R11: ffff88834dfff600 R12: ffff88840b4b0000
|
|
R13: 0000000000020000 R14: 0000000000000000 R15: ffff888530ad5210
|
|
FS: 0000000000000000(0000) GS:ffff888e3f800000(0000) knlGS:0000000000000000
|
|
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
|
|
CR2: 00007f87223fff38 CR3: 00000007a7c6a002 CR4: 00000000007706f0
|
|
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
|
|
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
|
|
PKRU: 55555554
|
|
Call Trace:
|
|
<TASK>
|
|
? __die_body.cold+0x19/0x27
|
|
? die_addr+0x46/0x70
|
|
? exc_general_protection+0x14f/0x250
|
|
? asm_exc_general_protection+0x26/0x30
|
|
? do_raw_read_unlock+0x44/0x70
|
|
? btrfs_zone_finish_endio.part.0+0x34/0x160 [btrfs]
|
|
btrfs_finish_one_ordered+0x5d9/0x19a0 [btrfs]
|
|
? __pfx_lock_release+0x10/0x10
|
|
? do_raw_write_lock+0x90/0x260
|
|
? __pfx_do_raw_write_lock+0x10/0x10
|
|
? __pfx_btrfs_finish_one_ordered+0x10/0x10 [btrfs]
|
|
? _raw_write_unlock+0x23/0x40
|
|
? btrfs_finish_ordered_zoned+0x5a9/0x850 [btrfs]
|
|
? lock_acquire+0x435/0x500
|
|
btrfs_work_helper+0x1b1/0xa70 [btrfs]
|
|
? __schedule+0x10a8/0x60b0
|
|
? __pfx___might_resched+0x10/0x10
|
|
process_one_work+0x862/0x1410
|
|
? __pfx_lock_acquire+0x10/0x10
|
|
? __pfx_process_one_work+0x10/0x10
|
|
? assign_work+0x16c/0x240
|
|
worker_thread+0x5e6/0x1010
|
|
? __pfx_worker_thread+0x10/0x10
|
|
kthread+0x2c3/0x3a0
|
|
? trace_irq_enable.constprop.0+0xce/0x110
|
|
? __pfx_kthread+0x10/0x10
|
|
ret_from_fork+0x31/0x70
|
|
? __pfx_kthread+0x10/0x10
|
|
ret_from_fork_asm+0x1a/0x30
|
|
</TASK>
|
|
|
|
Enabling CONFIG_BTRFS_ASSERT revealed the following assertion to
|
|
trigger:
|
|
|
|
assertion failed: !list_empty(&ordered->list), in fs/btrfs/zoned.c:1815
|
|
|
|
This indicates, that we're missing the checksums list on the
|
|
ordered_extent. As btrfs/167 is doing a NOCOW write this is to be
|
|
expected.
|
|
|
|
Further analysis with drgn confirmed the assumption:
|
|
|
|
>>> inode = prog.crashed_thread().stack_trace()[11]['ordered'].inode
|
|
>>> btrfs_inode = drgn.container_of(inode, "struct btrfs_inode", \
|
|
"vfs_inode")
|
|
>>> print(btrfs_inode.flags)
|
|
(u32)1
|
|
|
|
As zoned emulation mode simulates conventional zones on regular devices,
|
|
we cannot use zone-append for writing. But we're only attaching dummy
|
|
checksums if we're doing a zone-append write.
|
|
|
|
So for NOCOW zoned data writes on conventional zones, also attach a
|
|
dummy checksum.</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-08-09</ReleaseDate>
|
|
<CVE>CVE-2024-40962</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-24.03-LTS</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-08-09</DATE>
|
|
<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2024-1960</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="1" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
serial: imx: Introduce timeout when waiting on transmitter empty
|
|
|
|
By waiting at most 1 second for USR2_TXDC to be set, we avoid a potential
|
|
deadlock.
|
|
|
|
In case of the timeout, there is not much we can do, so we simply ignore
|
|
the transmitter state and optimistically try to continue.</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-08-09</ReleaseDate>
|
|
<CVE>CVE-2024-40967</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-24.03-LTS</ProductID>
|
|
</Status>
|
|
</ProductStatuses>
|
|
<Threats>
|
|
<Threat Type="Impact">
|
|
<Description>Low</Description>
|
|
</Threat>
|
|
</Threats>
|
|
<CVSSScoreSets>
|
|
<ScoreSet>
|
|
<BaseScore>3.9</BaseScore>
|
|
<Vector>AV:L/AC:H/PR:H/UI:N/S:U/C:L/I:L/A:L</Vector>
|
|
</ScoreSet>
|
|
</CVSSScoreSets>
|
|
<Remediations>
|
|
<Remediation Type="Vendor Fix">
|
|
<Description>kernel security update</Description>
|
|
<DATE>2024-08-09</DATE>
|
|
<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2024-1960</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="1" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
batman-adv: bypass empty buckets in batadv_purge_orig_ref()
|
|
|
|
Many syzbot reports are pointing to soft lockups in
|
|
batadv_purge_orig_ref() [1]
|
|
|
|
Root cause is unknown, but we can avoid spending too much
|
|
time there and perhaps get more interesting reports.
|
|
|
|
[1]
|
|
|
|
watchdog: BUG: soft lockup - CPU#0 stuck for 27s! [kworker/u4:6:621]
|
|
Modules linked in:
|
|
irq event stamp: 6182794
|
|
hardirqs last enabled at (6182793): [<ffff8000801dae10>] __local_bh_enable_ip+0x224/0x44c kernel/softirq.c:386
|
|
hardirqs last disabled at (6182794): [<ffff80008ad66a78>] __el1_irq arch/arm64/kernel/entry-common.c:533 [inline]
|
|
hardirqs last disabled at (6182794): [<ffff80008ad66a78>] el1_interrupt+0x24/0x68 arch/arm64/kernel/entry-common.c:551
|
|
softirqs last enabled at (6182792): [<ffff80008aab71c4>] spin_unlock_bh include/linux/spinlock.h:396 [inline]
|
|
softirqs last enabled at (6182792): [<ffff80008aab71c4>] batadv_purge_orig_ref+0x114c/0x1228 net/batman-adv/originator.c:1287
|
|
softirqs last disabled at (6182790): [<ffff80008aab61dc>] spin_lock_bh include/linux/spinlock.h:356 [inline]
|
|
softirqs last disabled at (6182790): [<ffff80008aab61dc>] batadv_purge_orig_ref+0x164/0x1228 net/batman-adv/originator.c:1271
|
|
CPU: 0 PID: 621 Comm: kworker/u4:6 Not tainted 6.8.0-rc7-syzkaller-g707081b61156 #0
|
|
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 02/29/2024
|
|
Workqueue: bat_events batadv_purge_orig
|
|
pstate: 80400005 (Nzcv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
|
|
pc : should_resched arch/arm64/include/asm/preempt.h:79 [inline]
|
|
pc : __local_bh_enable_ip+0x228/0x44c kernel/softirq.c:388
|
|
lr : __local_bh_enable_ip+0x224/0x44c kernel/softirq.c:386
|
|
sp : ffff800099007970
|
|
x29: ffff800099007980 x28: 1fffe00018fce1bd x27: dfff800000000000
|
|
x26: ffff0000d2620008 x25: ffff0000c7e70de8 x24: 0000000000000001
|
|
x23: 1fffe00018e57781 x22: dfff800000000000 x21: ffff80008aab71c4
|
|
x20: ffff0001b40136c0 x19: ffff0000c72bbc08 x18: 1fffe0001a817bb0
|
|
x17: ffff800125414000 x16: ffff80008032116c x15: 0000000000000001
|
|
x14: 1fffe0001ee9d610 x13: 0000000000000000 x12: 0000000000000003
|
|
x11: 0000000000000000 x10: 0000000000ff0100 x9 : 0000000000000000
|
|
x8 : 00000000005e5789 x7 : ffff80008aab61dc x6 : 0000000000000000
|
|
x5 : 0000000000000000 x4 : 0000000000000001 x3 : 0000000000000000
|
|
x2 : 0000000000000006 x1 : 0000000000000080 x0 : ffff800125414000
|
|
Call trace:
|
|
__daif_local_irq_enable arch/arm64/include/asm/irqflags.h:27 [inline]
|
|
arch_local_irq_enable arch/arm64/include/asm/irqflags.h:49 [inline]
|
|
__local_bh_enable_ip+0x228/0x44c kernel/softirq.c:386
|
|
__raw_spin_unlock_bh include/linux/spinlock_api_smp.h:167 [inline]
|
|
_raw_spin_unlock_bh+0x3c/0x4c kernel/locking/spinlock.c:210
|
|
spin_unlock_bh include/linux/spinlock.h:396 [inline]
|
|
batadv_purge_orig_ref+0x114c/0x1228 net/batman-adv/originator.c:1287
|
|
batadv_purge_orig+0x20/0x70 net/batman-adv/originator.c:1300
|
|
process_one_work+0x694/0x1204 kernel/workqueue.c:2633
|
|
process_scheduled_works kernel/workqueue.c:2706 [inline]
|
|
worker_thread+0x938/0xef4 kernel/workqueue.c:2787
|
|
kthread+0x288/0x310 kernel/kthread.c:388
|
|
ret_from_fork+0x10/0x20 arch/arm64/kernel/entry.S:860
|
|
Sending NMI from CPU 0 to CPUs 1:
|
|
NMI backtrace for cpu 1
|
|
CPU: 1 PID: 0 Comm: swapper/1 Not tainted 6.8.0-rc7-syzkaller-g707081b61156 #0
|
|
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 02/29/2024
|
|
pstate: 80400005 (Nzcv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
|
|
pc : arch_local_irq_enable+0x8/0xc arch/arm64/include/asm/irqflags.h:51
|
|
lr : default_idle_call+0xf8/0x128 kernel/sched/idle.c:103
|
|
sp : ffff800093a17d30
|
|
x29: ffff800093a17d30 x28: dfff800000000000 x27: 1ffff00012742fb4
|
|
x26: ffff80008ec9d000 x25: 0000000000000000 x24: 0000000000000002
|
|
x23: 1ffff00011d93a74 x22: ffff80008ec9d3a0 x21: 0000000000000000
|
|
x20: ffff0000c19dbc00 x19: ffff8000802d0fd8 x18: 1fffe00036804396
|
|
x17: ffff80008ec9d000 x16: ffff8000802d089c x15: 0000000000000001
|
|
---truncated---</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-08-09</ReleaseDate>
|
|
<CVE>CVE-2024-40981</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-24.03-LTS</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-08-09</DATE>
|
|
<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2024-1960</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="1" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
netrom: Fix a memory leak in nr_heartbeat_expiry()
|
|
|
|
syzbot reported a memory leak in nr_create() [0].
|
|
|
|
Commit 409db27e3a2e ("netrom: Fix use-after-free of a listening socket.")
|
|
added sock_hold() to the nr_heartbeat_expiry() function, where
|
|
a) a socket has a SOCK_DESTROY flag or
|
|
b) a listening socket has a SOCK_DEAD flag.
|
|
|
|
But in the case "a," when the SOCK_DESTROY flag is set, the file descriptor
|
|
has already been closed and the nr_release() function has been called.
|
|
So it makes no sense to hold the reference count because no one will
|
|
call another nr_destroy_socket() and put it as in the case "b."
|
|
|
|
nr_connect
|
|
nr_establish_data_link
|
|
nr_start_heartbeat
|
|
|
|
nr_release
|
|
switch (nr->state)
|
|
case NR_STATE_3
|
|
nr->state = NR_STATE_2
|
|
sock_set_flag(sk, SOCK_DESTROY);
|
|
|
|
nr_rx_frame
|
|
nr_process_rx_frame
|
|
switch (nr->state)
|
|
case NR_STATE_2
|
|
nr_state2_machine()
|
|
nr_disconnect()
|
|
nr_sk(sk)->state = NR_STATE_0
|
|
sock_set_flag(sk, SOCK_DEAD)
|
|
|
|
nr_heartbeat_expiry
|
|
switch (nr->state)
|
|
case NR_STATE_0
|
|
if (sock_flag(sk, SOCK_DESTROY) ||
|
|
(sk->sk_state == TCP_LISTEN
|
|
&& sock_flag(sk, SOCK_DEAD)))
|
|
sock_hold() // ( !!! )
|
|
nr_destroy_socket()
|
|
|
|
To fix the memory leak, let's call sock_hold() only for a listening socket.
|
|
|
|
Found by InfoTeCS on behalf of Linux Verification Center
|
|
(linuxtesting.org) with Syzkaller.
|
|
|
|
[0]: https://syzkaller.appspot.com/bug?extid=d327a1f3b12e1e206c16</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-08-09</ReleaseDate>
|
|
<CVE>CVE-2024-41006</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-24.03-LTS</ProductID>
|
|
</Status>
|
|
</ProductStatuses>
|
|
<Threats>
|
|
<Threat Type="Impact">
|
|
<Description>Low</Description>
|
|
</Threat>
|
|
</Threats>
|
|
<CVSSScoreSets>
|
|
<ScoreSet>
|
|
<BaseScore>3.9</BaseScore>
|
|
<Vector>AV:L/AC:H/PR:H/UI:N/S:U/C:L/I:L/A:L</Vector>
|
|
</ScoreSet>
|
|
</CVSSScoreSets>
|
|
<Remediations>
|
|
<Remediation Type="Vendor Fix">
|
|
<Description>kernel security update</Description>
|
|
<DATE>2024-08-09</DATE>
|
|
<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2024-1960</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="1" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:bpf: Fix too early release of tcx_entryPedro Pinto and later independently also Hyunwoo Kim and Wongi Lee reportedan issue that the tcx_entry can be released too early leading to a useafter free (UAF) when an active old-style ingress or clsact qdisc with ashared tc block is later replaced by another ingress or clsact instance.Essentially, the sequence to trigger the UAF (one example) can be as follows: 1. A network namespace is created 2. An ingress qdisc is created. This allocates a tcx_entry, and &tcx_entry->miniq is stored in the qdisc s miniqp->p_miniq. At the same time, a tcf block with index 1 is created. 3. chain0 is attached to the tcf block. chain0 must be connected to the block linked to the ingress qdisc to later reach the function tcf_chain0_head_change_cb_del() which triggers the UAF. 4. Create and graft a clsact qdisc. This causes the ingress qdisc created in step 1 to be removed, thus freeing the previously linked tcx_entry: rtnetlink_rcv_msg() => tc_modify_qdisc() => qdisc_create() => clsact_init() [a] => qdisc_graft() => qdisc_destroy() => __qdisc_destroy() => ingress_destroy() [b] => tcx_entry_free() => kfree_rcu() // tcx_entry freed 5. Finally, the network namespace is closed. This registers the cleanup_net worker, and during the process of releasing the remaining clsact qdisc, it accesses the tcx_entry that was already freed in step 4, causing the UAF to occur: cleanup_net() => ops_exit_list() => default_device_exit_batch() => unregister_netdevice_many() => unregister_netdevice_many_notify() => dev_shutdown() => qdisc_put() => clsact_destroy() [c] => tcf_block_put_ext() => tcf_chain0_head_change_cb_del() => tcf_chain_head_change_item() => clsact_chain_head_change() => mini_qdisc_pair_swap() // UAFThere are also other variants, the gist is to add an ingress (or clsact)qdisc with a specific shared block, then to replace that qdisc, waitingfor the tcx_entry kfree_rcu() to be executed and subsequently accessingthe current active qdisc s miniq one way or another.The correct fix is to turn the miniq_active boolean into a counter. Whatcan be observed, at step 2 above, the counter transitions from 0->1, atstep [a] from 1->2 (in order for the miniq object to remain active duringthe replacement), then in [b] from 2->1 and finally [c] 1->0 with theeventual release. The reference counter in general ranges from [0,2] andit does not need to be atomic since all access to the counter is protectedby the rtnl mutex. With this in place, there is no longer a UAF happeningand the tcx_entry is freed at the correct time.</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-08-09</ReleaseDate>
|
|
<CVE>CVE-2024-41010</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-24.03-LTS</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-08-09</DATE>
|
|
<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2024-1960</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="1" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
xfs: don't walk off the end of a directory data block
|
|
|
|
This adds sanity checks for xfs_dir2_data_unused and xfs_dir2_data_entry
|
|
to make sure don't stray beyond valid memory region. Before patching, the
|
|
loop simply checks that the start offset of the dup and dep is within the
|
|
range. So in a crafted image, if last entry is xfs_dir2_data_unused, we
|
|
can change dup->length to dup->length-1 and leave 1 byte of space. In the
|
|
next traversal, this space will be considered as dup or dep. We may
|
|
encounter an out of bound read when accessing the fixed members.
|
|
|
|
In the patch, we make sure that the remaining bytes large enough to hold
|
|
an unused entry before accessing xfs_dir2_data_unused and
|
|
xfs_dir2_data_unused is XFS_DIR2_DATA_ALIGN byte aligned. We also make
|
|
sure that the remaining bytes large enough to hold a dirent with a
|
|
single-byte name before accessing xfs_dir2_data_entry.</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-08-09</ReleaseDate>
|
|
<CVE>CVE-2024-41013</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-24.03-LTS</ProductID>
|
|
</Status>
|
|
</ProductStatuses>
|
|
<Threats>
|
|
<Threat Type="Impact">
|
|
<Description>Low</Description>
|
|
</Threat>
|
|
</Threats>
|
|
<CVSSScoreSets>
|
|
<ScoreSet>
|
|
<BaseScore>3.3</BaseScore>
|
|
<Vector>AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N</Vector>
|
|
</ScoreSet>
|
|
</CVSSScoreSets>
|
|
<Remediations>
|
|
<Remediation Type="Vendor Fix">
|
|
<Description>kernel security update</Description>
|
|
<DATE>2024-08-09</DATE>
|
|
<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2024-1960</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="1" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
xfs: add bounds checking to xlog_recover_process_data
|
|
|
|
There is a lack of verification of the space occupied by fixed members
|
|
of xlog_op_header in the xlog_recover_process_data.
|
|
|
|
We can create a crafted image to trigger an out of bounds read by
|
|
following these steps:
|
|
1) Mount an image of xfs, and do some file operations to leave records
|
|
2) Before umounting, copy the image for subsequent steps to simulate
|
|
abnormal exit. Because umount will ensure that tail_blk and
|
|
head_blk are the same, which will result in the inability to enter
|
|
xlog_recover_process_data
|
|
3) Write a tool to parse and modify the copied image in step 2
|
|
4) Make the end of the xlog_op_header entries only 1 byte away from
|
|
xlog_rec_header->h_size
|
|
5) xlog_rec_header->h_num_logops++
|
|
6) Modify xlog_rec_header->h_crc
|
|
|
|
Fix:
|
|
Add a check to make sure there is sufficient space to access fixed members
|
|
of xlog_op_header.</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-08-09</ReleaseDate>
|
|
<CVE>CVE-2024-41014</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-24.03-LTS</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-08-09</DATE>
|
|
<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2024-1960</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="1" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
fs/ntfs3: Add a check for attr_names and oatbl
|
|
|
|
Added out-of-bound checking for *ane (ATTR_NAME_ENTRY).</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-08-09</ReleaseDate>
|
|
<CVE>CVE-2024-41018</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-24.03-LTS</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-08-09</DATE>
|
|
<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2024-1960</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="1" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
fs/ntfs3: Validate ff offset
|
|
|
|
This adds sanity checks for ff offset. There is a check
|
|
on rt->first_free at first, but walking through by ff
|
|
without any check. If the second ff is a large offset.
|
|
We may encounter an out-of-bound read.</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-08-09</ReleaseDate>
|
|
<CVE>CVE-2024-41019</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-24.03-LTS</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-08-09</DATE>
|
|
<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2024-1960</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="1" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
filelock: Fix fcntl/close race recovery compat path
|
|
|
|
When I wrote commit 3cad1bc01041 ("filelock: Remove locks reliably when
|
|
fcntl/close race is detected"), I missed that there are two copies of the
|
|
code I was patching: The normal version, and the version for 64-bit offsets
|
|
on 32-bit kernels.
|
|
Thanks to Greg KH for stumbling over this while doing the stable
|
|
backport...
|
|
|
|
Apply exactly the same fix to the compat path for 32-bit kernels.</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-08-09</ReleaseDate>
|
|
<CVE>CVE-2024-41020</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-24.03-LTS</ProductID>
|
|
</Status>
|
|
</ProductStatuses>
|
|
<Threats>
|
|
<Threat Type="Impact">
|
|
<Description>Medium</Description>
|
|
</Threat>
|
|
</Threats>
|
|
<CVSSScoreSets>
|
|
<ScoreSet>
|
|
<BaseScore>6.3</BaseScore>
|
|
<Vector>AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:H</Vector>
|
|
</ScoreSet>
|
|
</CVSSScoreSets>
|
|
<Remediations>
|
|
<Remediation Type="Vendor Fix">
|
|
<Description>kernel security update</Description>
|
|
<DATE>2024-08-09</DATE>
|
|
<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2024-1960</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="1" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
s390/mm: Fix VM_FAULT_HWPOISON handling in do_exception()
|
|
|
|
There is no support for HWPOISON, MEMORY_FAILURE, or ARCH_HAS_COPY_MC on
|
|
s390. Therefore we do not expect to see VM_FAULT_HWPOISON in
|
|
do_exception().
|
|
|
|
However, since commit af19487f00f3 ("mm: make PTE_MARKER_SWAPIN_ERROR more
|
|
general"), it is possible to see VM_FAULT_HWPOISON in combination with
|
|
PTE_MARKER_POISONED, even on architectures that do not support HWPOISON
|
|
otherwise. In this case, we will end up on the BUG() in do_exception().
|
|
|
|
Fix this by treating VM_FAULT_HWPOISON the same as VM_FAULT_SIGBUS, similar
|
|
to x86 when MEMORY_FAILURE is not configured. Also print unexpected fault
|
|
flags, for easier debugging.
|
|
|
|
Note that VM_FAULT_HWPOISON_LARGE is not expected, because s390 cannot
|
|
support swap entries on other levels than PTE level.</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-08-09</ReleaseDate>
|
|
<CVE>CVE-2024-41021</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-24.03-LTS</ProductID>
|
|
</Status>
|
|
</ProductStatuses>
|
|
<Threats>
|
|
<Threat Type="Impact">
|
|
<Description>Low</Description>
|
|
</Threat>
|
|
</Threats>
|
|
<CVSSScoreSets>
|
|
<ScoreSet>
|
|
<BaseScore>3.3</BaseScore>
|
|
<Vector>AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:L</Vector>
|
|
</ScoreSet>
|
|
</CVSSScoreSets>
|
|
<Remediations>
|
|
<Remediation Type="Vendor Fix">
|
|
<Description>kernel security update</Description>
|
|
<DATE>2024-08-09</DATE>
|
|
<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2024-1960</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="1" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
sched/deadline: Fix task_struct reference leak
|
|
|
|
During the execution of the following stress test with linux-rt:
|
|
|
|
stress-ng --cyclic 30 --timeout 30 --minimize --quiet
|
|
|
|
kmemleak frequently reported a memory leak concerning the task_struct:
|
|
|
|
unreferenced object 0xffff8881305b8000 (size 16136):
|
|
comm "stress-ng", pid 614, jiffies 4294883961 (age 286.412s)
|
|
object hex dump (first 32 bytes):
|
|
02 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .@..............
|
|
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
|
|
debug hex dump (first 16 bytes):
|
|
53 09 00 00 00 00 00 00 00 00 00 00 00 00 00 00 S...............
|
|
backtrace:
|
|
[<00000000046b6790>] dup_task_struct+0x30/0x540
|
|
[<00000000c5ca0f0b>] copy_process+0x3d9/0x50e0
|
|
[<00000000ced59777>] kernel_clone+0xb0/0x770
|
|
[<00000000a50befdc>] __do_sys_clone+0xb6/0xf0
|
|
[<000000001dbf2008>] do_syscall_64+0x5d/0xf0
|
|
[<00000000552900ff>] entry_SYSCALL_64_after_hwframe+0x6e/0x76
|
|
|
|
The issue occurs in start_dl_timer(), which increments the task_struct
|
|
reference count and sets a timer. The timer callback, dl_task_timer,
|
|
is supposed to decrement the reference count upon expiration. However,
|
|
if enqueue_task_dl() is called before the timer expires and cancels it,
|
|
the reference count is not decremented, leading to the leak.
|
|
|
|
This patch fixes the reference leak by ensuring the task_struct
|
|
reference count is properly decremented when the timer is canceled.</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-08-09</ReleaseDate>
|
|
<CVE>CVE-2024-41023</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-24.03-LTS</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-08-09</DATE>
|
|
<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2024-1960</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="1" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
firmware: cs_dsp: Fix overflow checking of wmfw header
|
|
|
|
Fix the checking that firmware file buffer is large enough for the
|
|
wmfw header, to prevent overrunning the buffer.
|
|
|
|
The original code tested that the firmware data buffer contained
|
|
enough bytes for the sums of the size of the structs
|
|
|
|
wmfw_header + wmfw_adsp1_sizes + wmfw_footer
|
|
|
|
But wmfw_adsp1_sizes is only used on ADSP1 firmware. For ADSP2 and
|
|
Halo Core the equivalent struct is wmfw_adsp2_sizes, which is
|
|
4 bytes longer. So the length check didn't guarantee that there
|
|
are enough bytes in the firmware buffer for a header with
|
|
wmfw_adsp2_sizes.
|
|
|
|
This patch splits the length check into three separate parts. Each
|
|
of the wmfw_header, wmfw_adsp?_sizes and wmfw_footer are checked
|
|
separately before they are used.</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-08-09</ReleaseDate>
|
|
<CVE>CVE-2024-41039</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-24.03-LTS</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-08-09</DATE>
|
|
<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2024-1960</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="1" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
net/sched: Fix UAF when resolving a clash
|
|
|
|
KASAN reports the following UAF:
|
|
|
|
BUG: KASAN: slab-use-after-free in tcf_ct_flow_table_process_conn+0x12b/0x380 [act_ct]
|
|
Read of size 1 at addr ffff888c07603600 by task handler130/6469
|
|
|
|
Call Trace:
|
|
<IRQ>
|
|
dump_stack_lvl+0x48/0x70
|
|
print_address_description.constprop.0+0x33/0x3d0
|
|
print_report+0xc0/0x2b0
|
|
kasan_report+0xd0/0x120
|
|
__asan_load1+0x6c/0x80
|
|
tcf_ct_flow_table_process_conn+0x12b/0x380 [act_ct]
|
|
tcf_ct_act+0x886/0x1350 [act_ct]
|
|
tcf_action_exec+0xf8/0x1f0
|
|
fl_classify+0x355/0x360 [cls_flower]
|
|
__tcf_classify+0x1fd/0x330
|
|
tcf_classify+0x21c/0x3c0
|
|
sch_handle_ingress.constprop.0+0x2c5/0x500
|
|
__netif_receive_skb_core.constprop.0+0xb25/0x1510
|
|
__netif_receive_skb_list_core+0x220/0x4c0
|
|
netif_receive_skb_list_internal+0x446/0x620
|
|
napi_complete_done+0x157/0x3d0
|
|
gro_cell_poll+0xcf/0x100
|
|
__napi_poll+0x65/0x310
|
|
net_rx_action+0x30c/0x5c0
|
|
__do_softirq+0x14f/0x491
|
|
__irq_exit_rcu+0x82/0xc0
|
|
irq_exit_rcu+0xe/0x20
|
|
common_interrupt+0xa1/0xb0
|
|
</IRQ>
|
|
<TASK>
|
|
asm_common_interrupt+0x27/0x40
|
|
|
|
Allocated by task 6469:
|
|
kasan_save_stack+0x38/0x70
|
|
kasan_set_track+0x25/0x40
|
|
kasan_save_alloc_info+0x1e/0x40
|
|
__kasan_krealloc+0x133/0x190
|
|
krealloc+0xaa/0x130
|
|
nf_ct_ext_add+0xed/0x230 [nf_conntrack]
|
|
tcf_ct_act+0x1095/0x1350 [act_ct]
|
|
tcf_action_exec+0xf8/0x1f0
|
|
fl_classify+0x355/0x360 [cls_flower]
|
|
__tcf_classify+0x1fd/0x330
|
|
tcf_classify+0x21c/0x3c0
|
|
sch_handle_ingress.constprop.0+0x2c5/0x500
|
|
__netif_receive_skb_core.constprop.0+0xb25/0x1510
|
|
__netif_receive_skb_list_core+0x220/0x4c0
|
|
netif_receive_skb_list_internal+0x446/0x620
|
|
napi_complete_done+0x157/0x3d0
|
|
gro_cell_poll+0xcf/0x100
|
|
__napi_poll+0x65/0x310
|
|
net_rx_action+0x30c/0x5c0
|
|
__do_softirq+0x14f/0x491
|
|
|
|
Freed by task 6469:
|
|
kasan_save_stack+0x38/0x70
|
|
kasan_set_track+0x25/0x40
|
|
kasan_save_free_info+0x2b/0x60
|
|
____kasan_slab_free+0x180/0x1f0
|
|
__kasan_slab_free+0x12/0x30
|
|
slab_free_freelist_hook+0xd2/0x1a0
|
|
__kmem_cache_free+0x1a2/0x2f0
|
|
kfree+0x78/0x120
|
|
nf_conntrack_free+0x74/0x130 [nf_conntrack]
|
|
nf_ct_destroy+0xb2/0x140 [nf_conntrack]
|
|
__nf_ct_resolve_clash+0x529/0x5d0 [nf_conntrack]
|
|
nf_ct_resolve_clash+0xf6/0x490 [nf_conntrack]
|
|
__nf_conntrack_confirm+0x2c6/0x770 [nf_conntrack]
|
|
tcf_ct_act+0x12ad/0x1350 [act_ct]
|
|
tcf_action_exec+0xf8/0x1f0
|
|
fl_classify+0x355/0x360 [cls_flower]
|
|
__tcf_classify+0x1fd/0x330
|
|
tcf_classify+0x21c/0x3c0
|
|
sch_handle_ingress.constprop.0+0x2c5/0x500
|
|
__netif_receive_skb_core.constprop.0+0xb25/0x1510
|
|
__netif_receive_skb_list_core+0x220/0x4c0
|
|
netif_receive_skb_list_internal+0x446/0x620
|
|
napi_complete_done+0x157/0x3d0
|
|
gro_cell_poll+0xcf/0x100
|
|
__napi_poll+0x65/0x310
|
|
net_rx_action+0x30c/0x5c0
|
|
__do_softirq+0x14f/0x491
|
|
|
|
The ct may be dropped if a clash has been resolved but is still passed to
|
|
the tcf_ct_flow_table_process_conn function for further usage. This issue
|
|
can be fixed by retrieving ct from skb again after confirming conntrack.</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-08-09</ReleaseDate>
|
|
<CVE>CVE-2024-41040</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-24.03-LTS</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-08-09</DATE>
|
|
<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2024-1960</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="1" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
udp: Set SOCK_RCU_FREE earlier in udp_lib_get_port().
|
|
|
|
syzkaller triggered the warning [0] in udp_v4_early_demux().
|
|
|
|
In udp_v[46]_early_demux() and sk_lookup(), we do not touch the refcount
|
|
of the looked-up sk and use sock_pfree() as skb->destructor, so we check
|
|
SOCK_RCU_FREE to ensure that the sk is safe to access during the RCU grace
|
|
period.
|
|
|
|
Currently, SOCK_RCU_FREE is flagged for a bound socket after being put
|
|
into the hash table. Moreover, the SOCK_RCU_FREE check is done too early
|
|
in udp_v[46]_early_demux() and sk_lookup(), so there could be a small race
|
|
window:
|
|
|
|
CPU1 CPU2
|
|
---- ----
|
|
udp_v4_early_demux() udp_lib_get_port()
|
|
| |- hlist_add_head_rcu()
|
|
|- sk = __udp4_lib_demux_lookup() |
|
|
|- DEBUG_NET_WARN_ON_ONCE(sk_is_refcounted(sk));
|
|
`- sock_set_flag(sk, SOCK_RCU_FREE)
|
|
|
|
We had the same bug in TCP and fixed it in commit 871019b22d1b ("net:
|
|
set SOCK_RCU_FREE before inserting socket into hashtable").
|
|
|
|
Let's apply the same fix for UDP.
|
|
|
|
[0]:
|
|
WARNING: CPU: 0 PID: 11198 at net/ipv4/udp.c:2599 udp_v4_early_demux+0x481/0xb70 net/ipv4/udp.c:2599
|
|
Modules linked in:
|
|
CPU: 0 PID: 11198 Comm: syz-executor.1 Not tainted 6.9.0-g93bda33046e7 #13
|
|
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.0-0-gd239552ce722-prebuilt.qemu.org 04/01/2014
|
|
RIP: 0010:udp_v4_early_demux+0x481/0xb70 net/ipv4/udp.c:2599
|
|
Code: c5 7a 15 fe bb 01 00 00 00 44 89 e9 31 ff d3 e3 81 e3 bf ef ff ff 89 de e8 2c 74 15 fe 85 db 0f 85 02 06 00 00 e8 9f 7a 15 fe <0f> 0b e8 98 7a 15 fe 49 8d 7e 60 e8 4f 39 2f fe 49 c7 46 60 20 52
|
|
RSP: 0018:ffffc9000ce3fa58 EFLAGS: 00010293
|
|
RAX: 0000000000000000 RBX: 0000000000000000 RCX: ffffffff8318c92c
|
|
RDX: ffff888036ccde00 RSI: ffffffff8318c2f1 RDI: 0000000000000001
|
|
RBP: ffff88805a2dd6e0 R08: 0000000000000001 R09: 0000000000000000
|
|
R10: 0000000000000000 R11: 0001ffffffffffff R12: ffff88805a2dd680
|
|
R13: 0000000000000007 R14: ffff88800923f900 R15: ffff88805456004e
|
|
FS: 00007fc449127640(0000) GS:ffff88807dc00000(0000) knlGS:0000000000000000
|
|
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
|
|
CR2: 00007fc449126e38 CR3: 000000003de4b002 CR4: 0000000000770ef0
|
|
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
|
|
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000600
|
|
PKRU: 55555554
|
|
Call Trace:
|
|
<TASK>
|
|
ip_rcv_finish_core.constprop.0+0xbdd/0xd20 net/ipv4/ip_input.c:349
|
|
ip_rcv_finish+0xda/0x150 net/ipv4/ip_input.c:447
|
|
NF_HOOK include/linux/netfilter.h:314 [inline]
|
|
NF_HOOK include/linux/netfilter.h:308 [inline]
|
|
ip_rcv+0x16c/0x180 net/ipv4/ip_input.c:569
|
|
__netif_receive_skb_one_core+0xb3/0xe0 net/core/dev.c:5624
|
|
__netif_receive_skb+0x21/0xd0 net/core/dev.c:5738
|
|
netif_receive_skb_internal net/core/dev.c:5824 [inline]
|
|
netif_receive_skb+0x271/0x300 net/core/dev.c:5884
|
|
tun_rx_batched drivers/net/tun.c:1549 [inline]
|
|
tun_get_user+0x24db/0x2c50 drivers/net/tun.c:2002
|
|
tun_chr_write_iter+0x107/0x1a0 drivers/net/tun.c:2048
|
|
new_sync_write fs/read_write.c:497 [inline]
|
|
vfs_write+0x76f/0x8d0 fs/read_write.c:590
|
|
ksys_write+0xbf/0x190 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+0x41/0x50 fs/read_write.c:652
|
|
x64_sys_call+0xe66/0x1990 arch/x86/include/generated/asm/syscalls_64.h:2
|
|
do_syscall_x64 arch/x86/entry/common.c:52 [inline]
|
|
do_syscall_64+0x4b/0x110 arch/x86/entry/common.c:83
|
|
entry_SYSCALL_64_after_hwframe+0x4b/0x53
|
|
RIP: 0033:0x7fc44a68bc1f
|
|
Code: 89 54 24 18 48 89 74 24 10 89 7c 24 08 e8 e9 cf f5 ff 48 8b 54 24 18 48 8b 74 24 10 41 89 c0 8b 7c 24 08 b8 01 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 31 44 89 c7 48 89 44 24 08 e8 3c d0 f5 ff 48
|
|
RSP: 002b:00007fc449126c90 EFLAGS: 00000293 ORIG_RAX: 0000000000000001
|
|
RAX: ffffffffffffffda RBX: 00000000004bc050 RCX: 00007fc44a68bc1f
|
|
R
|
|
---truncated---</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-08-09</ReleaseDate>
|
|
<CVE>CVE-2024-41041</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-24.03-LTS</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-08-09</DATE>
|
|
<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2024-1960</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="1" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
ppp: reject claimed-as-LCP but actually malformed packets
|
|
|
|
Since 'ppp_async_encode()' assumes valid LCP packets (with code
|
|
from 1 to 7 inclusive), add 'ppp_check_packet()' to ensure that
|
|
LCP packet has an actual body beyond PPP_LCP header bytes, and
|
|
reject claimed-as-LCP but actually malformed data otherwise.</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-08-09</ReleaseDate>
|
|
<CVE>CVE-2024-41044</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-24.03-LTS</ProductID>
|
|
</Status>
|
|
</ProductStatuses>
|
|
<Threats>
|
|
<Threat Type="Impact">
|
|
<Description>Medium</Description>
|
|
</Threat>
|
|
</Threats>
|
|
<CVSSScoreSets>
|
|
<ScoreSet>
|
|
<BaseScore>6.3</BaseScore>
|
|
<Vector>AV:A/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:L</Vector>
|
|
</ScoreSet>
|
|
</CVSSScoreSets>
|
|
<Remediations>
|
|
<Remediation Type="Vendor Fix">
|
|
<Description>kernel security update</Description>
|
|
<DATE>2024-08-09</DATE>
|
|
<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2024-1960</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="1" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
bpf: Defer work in bpf_timer_cancel_and_free
|
|
|
|
Currently, the same case as previous patch (two timer callbacks trying
|
|
to cancel each other) can be invoked through bpf_map_update_elem as
|
|
well, or more precisely, freeing map elements containing timers. Since
|
|
this relies on hrtimer_cancel as well, it is prone to the same deadlock
|
|
situation as the previous patch.
|
|
|
|
It would be sufficient to use hrtimer_try_to_cancel to fix this problem,
|
|
as the timer cannot be enqueued after async_cancel_and_free. Once
|
|
async_cancel_and_free has been done, the timer must be reinitialized
|
|
before it can be armed again. The callback running in parallel trying to
|
|
arm the timer will fail, and freeing bpf_hrtimer without waiting is
|
|
sufficient (given kfree_rcu), and bpf_timer_cb will return
|
|
HRTIMER_NORESTART, preventing the timer from being rearmed again.
|
|
|
|
However, there exists a UAF scenario where the callback arms the timer
|
|
before entering this function, such that if cancellation fails (due to
|
|
timer callback invoking this routine, or the target timer callback
|
|
running concurrently). In such a case, if the timer expiration is
|
|
significantly far in the future, the RCU grace period expiration
|
|
happening before it will free the bpf_hrtimer state and along with it
|
|
the struct hrtimer, that is enqueued.
|
|
|
|
Hence, it is clear cancellation needs to occur after
|
|
async_cancel_and_free, and yet it cannot be done inline due to deadlock
|
|
issues. We thus modify bpf_timer_cancel_and_free to defer work to the
|
|
global workqueue, adding a work_struct alongside rcu_head (both used at
|
|
_different_ points of time, so can share space).
|
|
|
|
Update existing code comments to reflect the new state of affairs.</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-08-09</ReleaseDate>
|
|
<CVE>CVE-2024-41045</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-24.03-LTS</ProductID>
|
|
</Status>
|
|
</ProductStatuses>
|
|
<Threats>
|
|
<Threat Type="Impact">
|
|
<Description>Medium</Description>
|
|
</Threat>
|
|
</Threats>
|
|
<CVSSScoreSets>
|
|
<ScoreSet>
|
|
<BaseScore>6.4</BaseScore>
|
|
<Vector>AV:L/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:H</Vector>
|
|
</ScoreSet>
|
|
</CVSSScoreSets>
|
|
<Remediations>
|
|
<Remediation Type="Vendor Fix">
|
|
<Description>kernel security update</Description>
|
|
<DATE>2024-08-09</DATE>
|
|
<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2024-1960</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="1" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
skmsg: Skip zero length skb in sk_msg_recvmsg
|
|
|
|
When running BPF selftests (./test_progs -t sockmap_basic) on a Loongarch
|
|
platform, the following kernel panic occurs:
|
|
|
|
[...]
|
|
Oops[#1]:
|
|
CPU: 22 PID: 2824 Comm: test_progs Tainted: G OE 6.10.0-rc2+ #18
|
|
Hardware name: LOONGSON Dabieshan/Loongson-TC542F0, BIOS Loongson-UDK2018
|
|
... ...
|
|
ra: 90000000048bf6c0 sk_msg_recvmsg+0x120/0x560
|
|
ERA: 9000000004162774 copy_page_to_iter+0x74/0x1c0
|
|
CRMD: 000000b0 (PLV0 -IE -DA +PG DACF=CC DACM=CC -WE)
|
|
PRMD: 0000000c (PPLV0 +PIE +PWE)
|
|
EUEN: 00000007 (+FPE +SXE +ASXE -BTE)
|
|
ECFG: 00071c1d (LIE=0,2-4,10-12 VS=7)
|
|
ESTAT: 00010000 [PIL] (IS= ECode=1 EsubCode=0)
|
|
BADV: 0000000000000040
|
|
PRID: 0014c011 (Loongson-64bit, Loongson-3C5000)
|
|
Modules linked in: bpf_testmod(OE) xt_CHECKSUM xt_MASQUERADE xt_conntrack
|
|
Process test_progs (pid: 2824, threadinfo=0000000000863a31, task=...)
|
|
Stack : ...
|
|
Call Trace:
|
|
[<9000000004162774>] copy_page_to_iter+0x74/0x1c0
|
|
[<90000000048bf6c0>] sk_msg_recvmsg+0x120/0x560
|
|
[<90000000049f2b90>] tcp_bpf_recvmsg_parser+0x170/0x4e0
|
|
[<90000000049aae34>] inet_recvmsg+0x54/0x100
|
|
[<900000000481ad5c>] sock_recvmsg+0x7c/0xe0
|
|
[<900000000481e1a8>] __sys_recvfrom+0x108/0x1c0
|
|
[<900000000481e27c>] sys_recvfrom+0x1c/0x40
|
|
[<9000000004c076ec>] do_syscall+0x8c/0xc0
|
|
[<9000000003731da4>] handle_syscall+0xc4/0x160
|
|
Code: ...
|
|
---[ end trace 0000000000000000 ]---
|
|
Kernel panic - not syncing: Fatal exception
|
|
Kernel relocated by 0x3510000
|
|
.text @ 0x9000000003710000
|
|
.data @ 0x9000000004d70000
|
|
.bss @ 0x9000000006469400
|
|
---[ end Kernel panic - not syncing: Fatal exception ]---
|
|
[...]
|
|
|
|
This crash happens every time when running sockmap_skb_verdict_shutdown
|
|
subtest in sockmap_basic.
|
|
|
|
This crash is because a NULL pointer is passed to page_address() in the
|
|
sk_msg_recvmsg(). Due to the different implementations depending on the
|
|
architecture, page_address(NULL) will trigger a panic on Loongarch
|
|
platform but not on x86 platform. So this bug was hidden on x86 platform
|
|
for a while, but now it is exposed on Loongarch platform. The root cause
|
|
is that a zero length skb (skb->len == 0) was put on the queue.
|
|
|
|
This zero length skb is a TCP FIN packet, which was sent by shutdown(),
|
|
invoked in test_sockmap_skb_verdict_shutdown():
|
|
|
|
shutdown(p1, SHUT_WR);
|
|
|
|
In this case, in sk_psock_skb_ingress_enqueue(), num_sge is zero, and no
|
|
page is put to this sge (see sg_set_page in sg_set_page), but this empty
|
|
sge is queued into ingress_msg list.
|
|
|
|
And in sk_msg_recvmsg(), this empty sge is used, and a NULL page is got by
|
|
sg_page(sge). Pass this NULL page to copy_page_to_iter(), which passes it
|
|
to kmap_local_page() and to page_address(), then kernel panics.
|
|
|
|
To solve this, we should skip this zero length skb. So in sk_msg_recvmsg(),
|
|
if copy is zero, that means it's a zero length skb, skip invoking
|
|
copy_page_to_iter(). We are using the EFAULT return triggered by
|
|
copy_page_to_iter to check for is_fin in tcp_bpf.c.</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-08-09</ReleaseDate>
|
|
<CVE>CVE-2024-41048</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-24.03-LTS</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-08-09</DATE>
|
|
<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2024-1960</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="1" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
filelock: fix potential use-after-free in posix_lock_inode
|
|
|
|
Light Hsieh reported a KASAN UAF warning in trace_posix_lock_inode().
|
|
The request pointer had been changed earlier to point to a lock entry
|
|
that was added to the inode's list. However, before the tracepoint could
|
|
fire, another task raced in and freed that lock.
|
|
|
|
Fix this by moving the tracepoint inside the spinlock, which should
|
|
ensure that this doesn't happen.</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-08-09</ReleaseDate>
|
|
<CVE>CVE-2024-41049</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-24.03-LTS</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-08-09</DATE>
|
|
<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2024-1960</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="1" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
firmware: cs_dsp: Use strnlen() on name fields in V1 wmfw files
|
|
|
|
Use strnlen() instead of strlen() on the algorithm and coefficient name
|
|
string arrays in V1 wmfw files.
|
|
|
|
In V1 wmfw files the name is a NUL-terminated string in a fixed-size
|
|
array. cs_dsp should protect against overrunning the array if the NUL
|
|
terminator is missing.</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-08-09</ReleaseDate>
|
|
<CVE>CVE-2024-41056</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-24.03-LTS</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-08-09</DATE>
|
|
<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2024-1960</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="1" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
bluetooth/l2cap: sync sock recv cb and release
|
|
|
|
The problem occurs between the system call to close the sock and hci_rx_work,
|
|
where the former releases the sock and the latter accesses it without lock protection.
|
|
|
|
CPU0 CPU1
|
|
---- ----
|
|
sock_close hci_rx_work
|
|
l2cap_sock_release hci_acldata_packet
|
|
l2cap_sock_kill l2cap_recv_frame
|
|
sk_free l2cap_conless_channel
|
|
l2cap_sock_recv_cb
|
|
|
|
If hci_rx_work processes the data that needs to be received before the sock is
|
|
closed, then everything is normal; Otherwise, the work thread may access the
|
|
released sock when receiving data.
|
|
|
|
Add a chan mutex in the rx callback of the sock to achieve synchronization between
|
|
the sock release and recv cb.
|
|
|
|
Sock is dead, so set chan data to NULL, avoid others use invalid sock pointer.</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-08-09</ReleaseDate>
|
|
<CVE>CVE-2024-41062</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-24.03-LTS</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-08-09</DATE>
|
|
<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2024-1960</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="1" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
Bluetooth: hci_core: cancel all works upon hci_unregister_dev()
|
|
|
|
syzbot is reporting that calling hci_release_dev() from hci_error_reset()
|
|
due to hci_dev_put() from hci_error_reset() can cause deadlock at
|
|
destroy_workqueue(), for hci_error_reset() is called from
|
|
hdev->req_workqueue which destroy_workqueue() needs to flush.
|
|
|
|
We need to make sure that hdev->{rx_work,cmd_work,tx_work} which are
|
|
queued into hdev->workqueue and hdev->{power_on,error_reset} which are
|
|
queued into hdev->req_workqueue are no longer running by the moment
|
|
|
|
destroy_workqueue(hdev->workqueue);
|
|
destroy_workqueue(hdev->req_workqueue);
|
|
|
|
are called from hci_release_dev().
|
|
|
|
Call cancel_work_sync() on these work items from hci_unregister_dev()
|
|
as soon as hdev->list is removed from hci_dev_list.</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-08-09</ReleaseDate>
|
|
<CVE>CVE-2024-41063</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-24.03-LTS</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-08-09</DATE>
|
|
<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2024-1960</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="1" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
powerpc/eeh: avoid possible crash when edev->pdev changes
|
|
|
|
If a PCI device is removed during eeh_pe_report_edev(), edev->pdev
|
|
will change and can cause a crash, hold the PCI rescan/remove lock
|
|
while taking a copy of edev->pdev->bus.</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-08-09</ReleaseDate>
|
|
<CVE>CVE-2024-41064</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-24.03-LTS</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-08-09</DATE>
|
|
<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2024-1960</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="1" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
ASoC: topology: Fix references to freed memory
|
|
|
|
Most users after parsing a topology file, release memory used by it, so
|
|
having pointer references directly into topology file contents is wrong.
|
|
Use devm_kmemdup(), to allocate memory as needed.</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-08-09</ReleaseDate>
|
|
<CVE>CVE-2024-41069</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-24.03-LTS</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-08-09</DATE>
|
|
<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2024-1960</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="1" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
wifi: cfg80211: wext: add extra SIOCSIWSCAN data check
|
|
|
|
In 'cfg80211_wext_siwscan()', add extra check whether number of
|
|
channels passed via 'ioctl(sock, SIOCSIWSCAN, ...)' doesn't exceed
|
|
IW_MAX_FREQUENCIES and reject invalid request with -EINVAL otherwise.</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-08-09</ReleaseDate>
|
|
<CVE>CVE-2024-41072</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-24.03-LTS</ProductID>
|
|
</Status>
|
|
</ProductStatuses>
|
|
<Threats>
|
|
<Threat Type="Impact">
|
|
<Description>Medium</Description>
|
|
</Threat>
|
|
</Threats>
|
|
<CVSSScoreSets>
|
|
<ScoreSet>
|
|
<BaseScore>4.4</BaseScore>
|
|
<Vector>AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N</Vector>
|
|
</ScoreSet>
|
|
</CVSSScoreSets>
|
|
<Remediations>
|
|
<Remediation Type="Vendor Fix">
|
|
<Description>kernel security update</Description>
|
|
<DATE>2024-08-09</DATE>
|
|
<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2024-1960</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="1" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
nvme: avoid double free special payload
|
|
|
|
If a discard request needs to be retried, and that retry may fail before
|
|
a new special payload is added, a double free will result. Clear the
|
|
RQF_SPECIAL_LOAD when the request is cleaned.</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-08-09</ReleaseDate>
|
|
<CVE>CVE-2024-41073</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-24.03-LTS</ProductID>
|
|
</Status>
|
|
</ProductStatuses>
|
|
<Threats>
|
|
<Threat Type="Impact">
|
|
<Description>Medium</Description>
|
|
</Threat>
|
|
</Threats>
|
|
<CVSSScoreSets>
|
|
<ScoreSet>
|
|
<BaseScore>6.4</BaseScore>
|
|
<Vector>AV:L/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:H</Vector>
|
|
</ScoreSet>
|
|
</CVSSScoreSets>
|
|
<Remediations>
|
|
<Remediation Type="Vendor Fix">
|
|
<Description>kernel security update</Description>
|
|
<DATE>2024-08-09</DATE>
|
|
<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2024-1960</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="1" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:
|
|
|
|
cachefiles: Set object to close if ondemand_id < 0 in copen
|
|
|
|
If copen is maliciously called in the user mode, it may delete the request
|
|
corresponding to the random id. And the request may have not been read yet.
|
|
|
|
Note that when the object is set to reopen, the open request will be done
|
|
with the still reopen state in above case. As a result, the request
|
|
corresponding to this object is always skipped in select_req function, so
|
|
the read request is never completed and blocks other process.
|
|
|
|
Fix this issue by simply set object to close if its id < 0 in copen.</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-08-09</ReleaseDate>
|
|
<CVE>CVE-2024-41074</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-24.03-LTS</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-08-09</DATE>
|
|
<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2024-1960</URL>
|
|
</Remediation>
|
|
</Remediations>
|
|
</Vulnerability>
|
|
<Vulnerability Ordinal="62" 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:
|
|
|
|
cachefiles: add consistency check for copen/cread
|
|
|
|
This prevents malicious processes from completing random copen/cread
|
|
requests and crashing the system. Added checks are listed below:
|
|
|
|
* Generic, copen can only complete open requests, and cread can only
|
|
complete read requests.
|
|
* For copen, ondemand_id must not be 0, because this indicates that the
|
|
request has not been read by the daemon.
|
|
* For cread, the object corresponding to fd and req should be the same.</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-08-09</ReleaseDate>
|
|
<CVE>CVE-2024-41075</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-24.03-LTS</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-08-09</DATE>
|
|
<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2024-1960</URL>
|
|
</Remediation>
|
|
</Remediations>
|
|
</Vulnerability>
|
|
<Vulnerability Ordinal="63" 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:
|
|
|
|
NFSv4: Fix memory leak in nfs4_set_security_label
|
|
|
|
We leak nfs_fattr and nfs4_label every time we set a security xattr.</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-08-09</ReleaseDate>
|
|
<CVE>CVE-2024-41076</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-24.03-LTS</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-08-09</DATE>
|
|
<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2024-1960</URL>
|
|
</Remediation>
|
|
</Remediations>
|
|
</Vulnerability>
|
|
<Vulnerability Ordinal="64" 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:
|
|
|
|
null_blk: fix validation of block size
|
|
|
|
Block size should be between 512 and PAGE_SIZE and be a power of 2. The current
|
|
check does not validate this, so update the check.
|
|
|
|
Without this patch, null_blk would Oops due to a null pointer deref when
|
|
loaded with bs=1536 [1].
|
|
|
|
|
|
[axboe: remove unnecessary braces and != 0 check]</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-08-09</ReleaseDate>
|
|
<CVE>CVE-2024-41077</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-24.03-LTS</ProductID>
|
|
</Status>
|
|
</ProductStatuses>
|
|
<Threats>
|
|
<Threat Type="Impact">
|
|
<Description>Medium</Description>
|
|
</Threat>
|
|
</Threats>
|
|
<CVSSScoreSets>
|
|
<ScoreSet>
|
|
<BaseScore>4.8</BaseScore>
|
|
<Vector>AV:A/AC:H/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-08-09</DATE>
|
|
<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2024-1960</URL>
|
|
</Remediation>
|
|
</Remediations>
|
|
</Vulnerability>
|
|
<Vulnerability Ordinal="65" 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:
|
|
|
|
io_uring: fix possible deadlock in io_register_iowq_max_workers()
|
|
|
|
The io_register_iowq_max_workers() function calls io_put_sq_data(),
|
|
which acquires the sqd->lock without releasing the uring_lock.
|
|
Similar to the commit 009ad9f0c6ee ("io_uring: drop ctx->uring_lock
|
|
before acquiring sqd->lock"), this can lead to a potential deadlock
|
|
situation.
|
|
|
|
To resolve this issue, the uring_lock is released before calling
|
|
io_put_sq_data(), and then it is re-acquired after the function call.
|
|
|
|
This change ensures that the locks are acquired in the correct
|
|
order, preventing the possibility of a deadlock.</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-08-09</ReleaseDate>
|
|
<CVE>CVE-2024-41080</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-24.03-LTS</ProductID>
|
|
</Status>
|
|
</ProductStatuses>
|
|
<Threats>
|
|
<Threat Type="Impact">
|
|
<Description>Medium</Description>
|
|
</Threat>
|
|
</Threats>
|
|
<CVSSScoreSets>
|
|
<ScoreSet>
|
|
<BaseScore>5.7</BaseScore>
|
|
<Vector>AV:A/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-08-09</DATE>
|
|
<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2024-1960</URL>
|
|
</Remediation>
|
|
</Remediations>
|
|
</Vulnerability>
|
|
<Vulnerability Ordinal="66" 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:
|
|
|
|
cxl/mem: Fix no cxl_nvd during pmem region auto-assembling
|
|
|
|
When CXL subsystem is auto-assembling a pmem region during cxl
|
|
endpoint port probing, always hit below calltrace.
|
|
|
|
BUG: kernel NULL pointer dereference, address: 0000000000000078
|
|
#PF: supervisor read access in kernel mode
|
|
#PF: error_code(0x0000) - not-present page
|
|
RIP: 0010:cxl_pmem_region_probe+0x22e/0x360 [cxl_pmem]
|
|
Call Trace:
|
|
<TASK>
|
|
? __die+0x24/0x70
|
|
? page_fault_oops+0x82/0x160
|
|
? do_user_addr_fault+0x65/0x6b0
|
|
? exc_page_fault+0x7d/0x170
|
|
? asm_exc_page_fault+0x26/0x30
|
|
? cxl_pmem_region_probe+0x22e/0x360 [cxl_pmem]
|
|
? cxl_pmem_region_probe+0x1ac/0x360 [cxl_pmem]
|
|
cxl_bus_probe+0x1b/0x60 [cxl_core]
|
|
really_probe+0x173/0x410
|
|
? __pfx___device_attach_driver+0x10/0x10
|
|
__driver_probe_device+0x80/0x170
|
|
driver_probe_device+0x1e/0x90
|
|
__device_attach_driver+0x90/0x120
|
|
bus_for_each_drv+0x84/0xe0
|
|
__device_attach+0xbc/0x1f0
|
|
bus_probe_device+0x90/0xa0
|
|
device_add+0x51c/0x710
|
|
devm_cxl_add_pmem_region+0x1b5/0x380 [cxl_core]
|
|
cxl_bus_probe+0x1b/0x60 [cxl_core]
|
|
|
|
The cxl_nvd of the memdev needs to be available during the pmem region
|
|
probe. Currently the cxl_nvd is registered after the endpoint port probe.
|
|
The endpoint probe, in the case of autoassembly of regions, can cause a
|
|
pmem region probe requiring the not yet available cxl_nvd. Adjust the
|
|
sequence so this dependency is met.
|
|
|
|
This requires adding a port parameter to cxl_find_nvdimm_bridge() that
|
|
can be used to query the ancestor root port. The endpoint port is not
|
|
yet available, but will share a common ancestor with its parent, so
|
|
start the query from there instead.</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-08-09</ReleaseDate>
|
|
<CVE>CVE-2024-41085</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-24.03-LTS</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-08-09</DATE>
|
|
<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2024-1960</URL>
|
|
</Remediation>
|
|
</Remediations>
|
|
</Vulnerability>
|
|
<Vulnerability Ordinal="67" 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:
|
|
|
|
tap: add missing verification for short frame
|
|
|
|
The cited commit missed to check against the validity of the frame length
|
|
in the tap_get_user_xdp() path, which could cause a corrupted skb to be
|
|
sent downstack. Even before the skb is transmitted, the
|
|
tap_get_user_xdp()-->skb_set_network_header() may assume the size is more
|
|
than ETH_HLEN. Once transmitted, this could either cause out-of-bound
|
|
access beyond the actual length, or confuse the underlayer with incorrect
|
|
or inconsistent header length in the skb metadata.
|
|
|
|
In the alternative path, tap_get_user() already prohibits short frame which
|
|
has the length less than Ethernet header size from being transmitted.
|
|
|
|
This is to drop any frame shorter than the Ethernet header size just like
|
|
how tap_get_user() does.
|
|
|
|
CVE: CVE-2024-41090</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-08-09</ReleaseDate>
|
|
<CVE>CVE-2024-41090</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-24.03-LTS</ProductID>
|
|
</Status>
|
|
</ProductStatuses>
|
|
<Threats>
|
|
<Threat Type="Impact">
|
|
<Description>High</Description>
|
|
</Threat>
|
|
</Threats>
|
|
<CVSSScoreSets>
|
|
<ScoreSet>
|
|
<BaseScore>7.1</BaseScore>
|
|
<Vector>AV:L/AC:L/PR:N/UI:N/S:C/C:N/I:N/A:H</Vector>
|
|
</ScoreSet>
|
|
</CVSSScoreSets>
|
|
<Remediations>
|
|
<Remediation Type="Vendor Fix">
|
|
<Description>kernel security update</Description>
|
|
<DATE>2024-08-09</DATE>
|
|
<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2024-1960</URL>
|
|
</Remediation>
|
|
</Remediations>
|
|
</Vulnerability>
|
|
<Vulnerability Ordinal="68" 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:
|
|
|
|
tun: add missing verification for short frame
|
|
|
|
The cited commit missed to check against the validity of the frame length
|
|
in the tun_xdp_one() path, which could cause a corrupted skb to be sent
|
|
downstack. Even before the skb is transmitted, the
|
|
tun_xdp_one-->eth_type_trans() may access the Ethernet header although it
|
|
can be less than ETH_HLEN. Once transmitted, this could either cause
|
|
out-of-bound access beyond the actual length, or confuse the underlayer
|
|
with incorrect or inconsistent header length in the skb metadata.
|
|
|
|
In the alternative path, tun_get_user() already prohibits short frame which
|
|
has the length less than Ethernet header size from being transmitted for
|
|
IFF_TAP.
|
|
|
|
This is to drop any frame shorter than the Ethernet header size just like
|
|
how tun_get_user() does.
|
|
|
|
CVE: CVE-2024-41091</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-08-09</ReleaseDate>
|
|
<CVE>CVE-2024-41091</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-24.03-LTS</ProductID>
|
|
</Status>
|
|
</ProductStatuses>
|
|
<Threats>
|
|
<Threat Type="Impact">
|
|
<Description>High</Description>
|
|
</Threat>
|
|
</Threats>
|
|
<CVSSScoreSets>
|
|
<ScoreSet>
|
|
<BaseScore>7.1</BaseScore>
|
|
<Vector>AV:L/AC:L/PR:N/UI:N/S:C/C:N/I:N/A:H</Vector>
|
|
</ScoreSet>
|
|
</CVSSScoreSets>
|
|
<Remediations>
|
|
<Remediation Type="Vendor Fix">
|
|
<Description>kernel security update</Description>
|
|
<DATE>2024-08-09</DATE>
|
|
<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2024-1960</URL>
|
|
</Remediation>
|
|
</Remediations>
|
|
</Vulnerability>
|
|
<Vulnerability Ordinal="69" 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:
|
|
|
|
PCI/MSI: Fix UAF in msi_capability_init
|
|
|
|
KFENCE reports the following UAF:
|
|
|
|
BUG: KFENCE: use-after-free read in __pci_enable_msi_range+0x2c0/0x488
|
|
|
|
Use-after-free read at 0x0000000024629571 (in kfence-#12):
|
|
__pci_enable_msi_range+0x2c0/0x488
|
|
pci_alloc_irq_vectors_affinity+0xec/0x14c
|
|
pci_alloc_irq_vectors+0x18/0x28
|
|
|
|
kfence-#12: 0x0000000008614900-0x00000000e06c228d, size=104, cache=kmalloc-128
|
|
|
|
allocated by task 81 on cpu 7 at 10.808142s:
|
|
__kmem_cache_alloc_node+0x1f0/0x2bc
|
|
kmalloc_trace+0x44/0x138
|
|
msi_alloc_desc+0x3c/0x9c
|
|
msi_domain_insert_msi_desc+0x30/0x78
|
|
msi_setup_msi_desc+0x13c/0x184
|
|
__pci_enable_msi_range+0x258/0x488
|
|
pci_alloc_irq_vectors_affinity+0xec/0x14c
|
|
pci_alloc_irq_vectors+0x18/0x28
|
|
|
|
freed by task 81 on cpu 7 at 10.811436s:
|
|
msi_domain_free_descs+0xd4/0x10c
|
|
msi_domain_free_locked.part.0+0xc0/0x1d8
|
|
msi_domain_alloc_irqs_all_locked+0xb4/0xbc
|
|
pci_msi_setup_msi_irqs+0x30/0x4c
|
|
__pci_enable_msi_range+0x2a8/0x488
|
|
pci_alloc_irq_vectors_affinity+0xec/0x14c
|
|
pci_alloc_irq_vectors+0x18/0x28
|
|
|
|
Descriptor allocation done in:
|
|
__pci_enable_msi_range
|
|
msi_capability_init
|
|
msi_setup_msi_desc
|
|
msi_insert_msi_desc
|
|
msi_domain_insert_msi_desc
|
|
msi_alloc_desc
|
|
...
|
|
|
|
Freed in case of failure in __msi_domain_alloc_locked()
|
|
__pci_enable_msi_range
|
|
msi_capability_init
|
|
pci_msi_setup_msi_irqs
|
|
msi_domain_alloc_irqs_all_locked
|
|
msi_domain_alloc_locked
|
|
__msi_domain_alloc_locked => fails
|
|
msi_domain_free_locked
|
|
...
|
|
|
|
That failure propagates back to pci_msi_setup_msi_irqs() in
|
|
msi_capability_init() which accesses the descriptor for unmasking in the
|
|
error exit path.
|
|
|
|
Cure it by copying the descriptor and using the copy for the error exit path
|
|
unmask operation.
|
|
|
|
[ tglx: Massaged change log ]</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-08-09</ReleaseDate>
|
|
<CVE>CVE-2024-41096</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-24.03-LTS</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-08-09</DATE>
|
|
<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2024-1960</URL>
|
|
</Remediation>
|
|
</Remediations>
|
|
</Vulnerability>
|
|
<Vulnerability Ordinal="70" 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:
|
|
|
|
bpf: Take return from set_memory_ro() into account with bpf_prog_lock_ro()
|
|
|
|
set_memory_ro() can fail, leaving memory unprotected.
|
|
|
|
Check its return and take it into account as an error.</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-08-09</ReleaseDate>
|
|
<CVE>CVE-2024-42068</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-24.03-LTS</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-08-09</DATE>
|
|
<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2024-1960</URL>
|
|
</Remediation>
|
|
</Remediations>
|
|
</Vulnerability>
|
|
<Vulnerability Ordinal="71" 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:
|
|
|
|
iio: chemical: bme680: Fix overflows in compensate() functions
|
|
|
|
There are cases in the compensate functions of the driver that
|
|
there could be overflows of variables due to bit shifting ops.
|
|
These implications were initially discussed here [1] and they
|
|
were mentioned in log message of Commit 1b3bd8592780 ("iio:
|
|
chemical: Add support for Bosch BME680 sensor").
|
|
|
|
[1]: https://lore.kernel.org/linux-iio/20180728114028.3c1bbe81@archlinux/</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-08-09</ReleaseDate>
|
|
<CVE>CVE-2024-42086</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-24.03-LTS</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-08-09</DATE>
|
|
<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2024-1960</URL>
|
|
</Remediation>
|
|
</Remediations>
|
|
</Vulnerability>
|
|
<Vulnerability Ordinal="72" 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:
|
|
|
|
ALSA: emux: improve patch ioctl data validation
|
|
|
|
In load_data(), make the validation of and skipping over the main info
|
|
block match that in load_guspatch().
|
|
|
|
In load_guspatch(), add checking that the specified patch length matches
|
|
the actually supplied data, like load_data() already did.</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-08-09</ReleaseDate>
|
|
<CVE>CVE-2024-42097</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-24.03-LTS</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-08-09</DATE>
|
|
<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2024-1960</URL>
|
|
</Remediation>
|
|
</Remediations>
|
|
</Vulnerability>
|
|
<Vulnerability Ordinal="73" 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:
|
|
|
|
jffs2: Fix potential illegal address access in jffs2_free_inode
|
|
|
|
During the stress testing of the jffs2 file system,the following
|
|
abnormal printouts were found:
|
|
[ 2430.649000] Unable to handle kernel paging request at virtual address 0069696969696948
|
|
[ 2430.649622] Mem abort info:
|
|
[ 2430.649829] ESR = 0x96000004
|
|
[ 2430.650115] EC = 0x25: DABT (current EL), IL = 32 bits
|
|
[ 2430.650564] SET = 0, FnV = 0
|
|
[ 2430.650795] EA = 0, S1PTW = 0
|
|
[ 2430.651032] FSC = 0x04: level 0 translation fault
|
|
[ 2430.651446] Data abort info:
|
|
[ 2430.651683] ISV = 0, ISS = 0x00000004
|
|
[ 2430.652001] CM = 0, WnR = 0
|
|
[ 2430.652558] [0069696969696948] address between user and kernel address ranges
|
|
[ 2430.653265] Internal error: Oops: 96000004 [#1] PREEMPT SMP
|
|
[ 2430.654512] CPU: 2 PID: 20919 Comm: cat Not tainted 5.15.25-g512f31242bf6 #33
|
|
[ 2430.655008] Hardware name: linux,dummy-virt (DT)
|
|
[ 2430.655517] pstate: 20000005 (nzCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
|
|
[ 2430.656142] pc : kfree+0x78/0x348
|
|
[ 2430.656630] lr : jffs2_free_inode+0x24/0x48
|
|
[ 2430.657051] sp : ffff800009eebd10
|
|
[ 2430.657355] x29: ffff800009eebd10 x28: 0000000000000001 x27: 0000000000000000
|
|
[ 2430.658327] x26: ffff000038f09d80 x25: 0080000000000000 x24: ffff800009d38000
|
|
[ 2430.658919] x23: 5a5a5a5a5a5a5a5a x22: ffff000038f09d80 x21: ffff8000084f0d14
|
|
[ 2430.659434] x20: ffff0000bf9a6ac0 x19: 0169696969696940 x18: 0000000000000000
|
|
[ 2430.659969] x17: ffff8000b6506000 x16: ffff800009eec000 x15: 0000000000004000
|
|
[ 2430.660637] x14: 0000000000000000 x13: 00000001000820a1 x12: 00000000000d1b19
|
|
[ 2430.661345] x11: 0004000800000000 x10: 0000000000000001 x9 : ffff8000084f0d14
|
|
[ 2430.662025] x8 : ffff0000bf9a6b40 x7 : ffff0000bf9a6b48 x6 : 0000000003470302
|
|
[ 2430.662695] x5 : ffff00002e41dcc0 x4 : ffff0000bf9aa3b0 x3 : 0000000003470342
|
|
[ 2430.663486] x2 : 0000000000000000 x1 : ffff8000084f0d14 x0 : fffffc0000000000
|
|
[ 2430.664217] Call trace:
|
|
[ 2430.664528] kfree+0x78/0x348
|
|
[ 2430.664855] jffs2_free_inode+0x24/0x48
|
|
[ 2430.665233] i_callback+0x24/0x50
|
|
[ 2430.665528] rcu_do_batch+0x1ac/0x448
|
|
[ 2430.665892] rcu_core+0x28c/0x3c8
|
|
[ 2430.666151] rcu_core_si+0x18/0x28
|
|
[ 2430.666473] __do_softirq+0x138/0x3cc
|
|
[ 2430.666781] irq_exit+0xf0/0x110
|
|
[ 2430.667065] handle_domain_irq+0x6c/0x98
|
|
[ 2430.667447] gic_handle_irq+0xac/0xe8
|
|
[ 2430.667739] call_on_irq_stack+0x28/0x54
|
|
The parameter passed to kfree was 5a5a5a5a, which corresponds to the target field of
|
|
the jffs_inode_info structure. It was found that all variables in the jffs_inode_info
|
|
structure were 5a5a5a5a, except for the first member sem. It is suspected that these
|
|
variables are not initialized because they were set to 5a5a5a5a during memory testing,
|
|
which is meant to detect uninitialized memory.The sem variable is initialized in the
|
|
function jffs2_i_init_once, while other members are initialized in
|
|
the function jffs2_init_inode_info.
|
|
|
|
The function jffs2_init_inode_info is called after iget_locked,
|
|
but in the iget_locked function, the destroy_inode process is triggered,
|
|
which releases the inode and consequently, the target member of the inode
|
|
is not initialized.In concurrent high pressure scenarios, iget_locked
|
|
may enter the destroy_inode branch as described in the code.
|
|
|
|
Since the destroy_inode functionality of jffs2 only releases the target,
|
|
the fix method is to set target to NULL in jffs2_i_init_once.</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-08-09</ReleaseDate>
|
|
<CVE>CVE-2024-42115</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-24.03-LTS</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-08-09</DATE>
|
|
<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2024-1960</URL>
|
|
</Remediation>
|
|
</Remediations>
|
|
</Vulnerability>
|
|
<Vulnerability Ordinal="74" 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:
|
|
|
|
powerpc: Avoid nmi_enter/nmi_exit in real mode interrupt.
|
|
|
|
nmi_enter()/nmi_exit() touches per cpu variables which can lead to kernel
|
|
crash when invoked during real mode interrupt handling (e.g. early HMI/MCE
|
|
interrupt handler) if percpu allocation comes from vmalloc area.
|
|
|
|
Early HMI/MCE handlers are called through DEFINE_INTERRUPT_HANDLER_NMI()
|
|
wrapper which invokes nmi_enter/nmi_exit calls. We don't see any issue when
|
|
percpu allocation is from the embedded first chunk. However with
|
|
CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK enabled there are chances where percpu
|
|
allocation can come from the vmalloc area.
|
|
|
|
With kernel command line "percpu_alloc=page" we can force percpu allocation
|
|
to come from vmalloc area and can see kernel crash in machine_check_early:
|
|
|
|
[ 1.215714] NIP [c000000000e49eb4] rcu_nmi_enter+0x24/0x110
|
|
[ 1.215717] LR [c0000000000461a0] machine_check_early+0xf0/0x2c0
|
|
[ 1.215719] --- interrupt: 200
|
|
[ 1.215720] [c000000fffd73180] [0000000000000000] 0x0 (unreliable)
|
|
[ 1.215722] [c000000fffd731b0] [0000000000000000] 0x0
|
|
[ 1.215724] [c000000fffd73210] [c000000000008364] machine_check_early_common+0x134/0x1f8
|
|
|
|
Fix this by avoiding use of nmi_enter()/nmi_exit() in real mode if percpu
|
|
first chunk is not embedded.</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-08-09</ReleaseDate>
|
|
<CVE>CVE-2024-42126</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-24.03-LTS</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-08-09</DATE>
|
|
<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2024-1960</URL>
|
|
</Remediation>
|
|
</Remediations>
|
|
</Vulnerability>
|
|
<Vulnerability Ordinal="75" 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:
|
|
|
|
leds: mlxreg: Use devm_mutex_init() for mutex initialization
|
|
|
|
In this driver LEDs are registered using devm_led_classdev_register()
|
|
so they are automatically unregistered after module's remove() is done.
|
|
led_classdev_unregister() calls module's led_set_brightness() to turn off
|
|
the LEDs and that callback uses mutex which was destroyed already
|
|
in module's remove() so use devm API instead.</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-08-09</ReleaseDate>
|
|
<CVE>CVE-2024-42129</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-24.03-LTS</ProductID>
|
|
</Status>
|
|
</ProductStatuses>
|
|
<Threats>
|
|
<Threat Type="Impact">
|
|
<Description>Low</Description>
|
|
</Threat>
|
|
</Threats>
|
|
<CVSSScoreSets>
|
|
<ScoreSet>
|
|
<BaseScore>3.3</BaseScore>
|
|
<Vector>AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N</Vector>
|
|
</ScoreSet>
|
|
</CVSSScoreSets>
|
|
<Remediations>
|
|
<Remediation Type="Vendor Fix">
|
|
<Description>kernel security update</Description>
|
|
<DATE>2024-08-09</DATE>
|
|
<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2024-1960</URL>
|
|
</Remediation>
|
|
</Remediations>
|
|
</Vulnerability>
|
|
<Vulnerability Ordinal="76" 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:
|
|
|
|
s390/pkey: Wipe copies of protected- and secure-keys
|
|
|
|
Although the clear-key of neither protected- nor secure-keys is
|
|
accessible, this key material should only be visible to the calling
|
|
process. So wipe all copies of protected- or secure-keys from stack,
|
|
even in case of an error.</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-08-09</ReleaseDate>
|
|
<CVE>CVE-2024-42155</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-24.03-LTS</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:H/I:N/A:N</Vector>
|
|
</ScoreSet>
|
|
</CVSSScoreSets>
|
|
<Remediations>
|
|
<Remediation Type="Vendor Fix">
|
|
<Description>kernel security update</Description>
|
|
<DATE>2024-08-09</DATE>
|
|
<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2024-1960</URL>
|
|
</Remediation>
|
|
</Remediations>
|
|
</Vulnerability>
|
|
<Vulnerability Ordinal="77" 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:gve: Account for stopped queues when reading NIC statsWe now account for the fact that the NIC might send us stats for asubset of queues. Without this change, gve_get_ethtool_stats might makean invalid access on the priv->stats_report->stats array.</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-08-09</ReleaseDate>
|
|
<CVE>CVE-2024-42162</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-24.03-LTS</ProductID>
|
|
</Status>
|
|
</ProductStatuses>
|
|
<Threats>
|
|
<Threat Type="Impact">
|
|
<Description>High</Description>
|
|
</Threat>
|
|
</Threats>
|
|
<CVSSScoreSets>
|
|
<ScoreSet>
|
|
<BaseScore>7.0</BaseScore>
|
|
<Vector>AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H</Vector>
|
|
</ScoreSet>
|
|
</CVSSScoreSets>
|
|
<Remediations>
|
|
<Remediation Type="Vendor Fix">
|
|
<Description>kernel security update</Description>
|
|
<DATE>2024-08-09</DATE>
|
|
<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2024-1960</URL>
|
|
</Remediation>
|
|
</Remediations>
|
|
</Vulnerability>
|
|
<Vulnerability Ordinal="78" 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:drm/amdgpu: Using uninitialized value *size when calling amdgpu_vce_cs_relocInitialize the size before calling amdgpu_vce_cs_reloc, such as case 0x03000001.V2: To really improve the handling we would actually need to have a separate value of 0xffffffff.(Christian)</Note>
|
|
</Notes>
|
|
<ReleaseDate>2024-08-09</ReleaseDate>
|
|
<CVE>CVE-2024-42228</CVE>
|
|
<ProductStatuses>
|
|
<Status Type="Fixed">
|
|
<ProductID>openEuler-24.03-LTS</ProductID>
|
|
</Status>
|
|
</ProductStatuses>
|
|
<Threats>
|
|
<Threat Type="Impact">
|
|
<Description>High</Description>
|
|
</Threat>
|
|
</Threats>
|
|
<CVSSScoreSets>
|
|
<ScoreSet>
|
|
<BaseScore>7.0</BaseScore>
|
|
<Vector>AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H</Vector>
|
|
</ScoreSet>
|
|
</CVSSScoreSets>
|
|
<Remediations>
|
|
<Remediation Type="Vendor Fix">
|
|
<Description>kernel security update</Description>
|
|
<DATE>2024-08-09</DATE>
|
|
<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2024-1960</URL>
|
|
</Remediation>
|
|
</Remediations>
|
|
</Vulnerability>
|
|
</cvrfdoc> |