<?xml version="1.0" encoding="utf-8"?>
  <?xml-stylesheet type="text/xsl" href="sa-render.xsl"?>
  <update from="huaweicloud.com" type="security" status="stable" version="1">
    <id>HCE2-SA-2024-0265</id>
    <title>An update for kernel is now available for HCE 2.0</title>
    <severity>Important</severity>
    <release>HCE 2.0</release>
    <issued date="2024-11-19 07:40:47"/>
    <updated date="2024-11-19 07:40:47"/>
    <references>
      <reference href="https://nvd.nist.gov/vuln/detail/CVE-2024-43829" id="CVE-2024-43829" title="CVE-2024-43829 Base Score: 5.5 Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H" type="cve"/>
      <reference href="https://nvd.nist.gov/vuln/detail/CVE-2024-43819" id="CVE-2024-43819" title="CVE-2024-43819 Base Score: 5.5 Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H" type="cve"/>
      <reference href="https://nvd.nist.gov/vuln/detail/CVE-2022-48887" id="CVE-2022-48887" title="CVE-2022-48887 Base Score: 5.5 Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H" type="cve"/>
      <reference href="https://nvd.nist.gov/vuln/detail/CVE-2024-44986" id="CVE-2024-44986" title="CVE-2024-44986 Base Score: 7.8 Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H" type="cve"/>
      <reference href="https://nvd.nist.gov/vuln/detail/CVE-2024-43914" id="CVE-2024-43914" title="CVE-2024-43914 Base Score: 5.5 Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H" type="cve"/>
      <reference href="https://nvd.nist.gov/vuln/detail/CVE-2022-48867" id="CVE-2022-48867" title="CVE-2022-48867 Base Score: 7.8 Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H" type="cve"/>
      <reference href="https://nvd.nist.gov/vuln/detail/CVE-2024-44987" id="CVE-2024-44987" title="CVE-2024-44987 Base Score: 7.8 Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H" type="cve"/>
      <reference href="https://nvd.nist.gov/vuln/detail/CVE-2024-42288" id="CVE-2024-42288" title="CVE-2024-42288 Base Score: 5.5 Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H" type="cve"/>
      <reference href="https://nvd.nist.gov/vuln/detail/CVE-2024-43871" id="CVE-2024-43871" title="CVE-2024-43871 Base Score: 5.5 Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H" type="cve"/>
      <reference href="https://nvd.nist.gov/vuln/detail/CVE-2024-44948" id="CVE-2024-44948" title="CVE-2024-44948 Base Score: 5.5 Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H" type="cve"/>
    </references>
    <description>Security Fix(es):

In the Linux kernel, the following vulnerability has been resolved:

drm/qxl: Add check for drm_cvt_mode

Add check for the return value of drm_cvt_mode() and return the error if
it fails in order to avoid NULL pointer dereference. (CVE-2024-43829)

In the Linux kernel, the following vulnerability has been resolved:

kvm: s390: Reject memory region operations for ucontrol VMs

This change rejects the KVM_SET_USER_MEMORY_REGION and
KVM_SET_USER_MEMORY_REGION2 ioctls when called on a ucontrol VM.
This is necessary since ucontrol VMs have kvm-&gt;arch.gmap set to 0 and
would thus result in a null pointer dereference further in.
Memory management needs to be performed in userspace and using the
ioctls KVM_S390_UCAS_MAP and KVM_S390_UCAS_UNMAP.

Also improve s390 specific documentation for KVM_SET_USER_MEMORY_REGION
and KVM_SET_USER_MEMORY_REGION2.

[frankja@linux.ibm.com: commit message spelling fix, subject prefix fix] (CVE-2024-43819)

In the Linux kernel, the following vulnerability has been resolved:

drm/vmwgfx: Remove rcu locks from user resources

User resource lookups used rcu to avoid two extra atomics. Unfortunately
the rcu paths were buggy and it was easy to make the driver crash by
submitting command buffers from two different threads. Because the
lookups never show up in performance profiles replace them with a
regular spin lock which fixes the races in accesses to those shared
resources.

Fixes kernel oops_x27;es in IGT_x27;s vmwgfx execution_buffer stress test and
seen crashes with apps using shared resources. (CVE-2022-48887)

In the Linux kernel, the following vulnerability has been resolved:

ipv6: fix possible UAF in ip6_finish_output2()

If skb_expand_head() returns NULL, skb has been freed
and associated dst/idev could also have been freed.

We need to hold rcu_read_lock() to make sure the dst and
associated idev are alive. (CVE-2024-44986)

In the Linux kernel, the following vulnerability has been resolved:

md/raid5: avoid BUG_ON() while continue reshape after reassembling

Currently, mdadm support --revert-reshape to abort the reshape while
reassembling, as the test 07revert-grow. However, following BUG_ON()
can be triggerred by the test:

kernel BUG at drivers/md/raid5.c:6278!
invalid opcode: 0000 [#1] PREEMPT SMP PTI
irq event stamp: 158985
CPU: 6 PID: 891 Comm: md0_reshape Not tainted 6.9.0-03335-g7592a0b0049a #94
RIP: 0010:reshape_request+0x3f1/0xe60
Call Trace:
 &lt;TASK&gt;
 raid5_sync_request+0x43d/0x550
 md_do_sync+0xb7a/0x2110
 md_thread+0x294/0x2b0
 kthread+0x147/0x1c0
 ret_from_fork+0x59/0x70
 ret_from_fork_asm+0x1a/0x30
 &lt;/TASK&gt;

Root cause is that --revert-reshape update the raid_disks from 5 to 4,
while reshape position is still set, and after reassembling the array,
reshape position will be read from super block, then during reshape the
checking of _x27;writepos_x27; that is caculated by old reshape position will
fail.

Fix this panic the easy way first, by converting the BUG_ON() to
WARN_ON(), and stop the reshape if checkings fail.

Noted that mdadm must fix --revert-shape as well, and probably md/raid
should enhance metadata validation as well, however this means
reassemble will fail and there must be user tools to fix the wrong
metadata. (CVE-2024-43914)

In the Linux kernel, the following vulnerability has been resolved:

dmaengine: idxd: Prevent use after free on completion memory

On driver unload any pending descriptors are flushed at the
time the interrupt is freed:
idxd_dmaengine_drv_remove() -&gt;
	drv_disable_wq() -&gt;
		idxd_wq_free_irq() -&gt;
			idxd_flush_pending_descs().

If there are any descriptors present that need to be flushed this
flow triggers a &quot;not present&quot; page fault as below:

 BUG: unable to handle page fault for address: ff391c97c70c9040
 #PF: supervisor read access in kernel mode
 #PF: error_code(0x0000) - not-present page

The address that triggers the fault is the address of the
descriptor that was freed moments earlier via:
drv_disable_wq()-&gt;idxd_wq_free_resources()

Fix the use after free by freeing the descriptors after any possible
usage. This is done after idxd_wq_reset() to ensure that the memory
remains accessible during possible completion writes by the device. (CVE-2022-48867)

In the Linux kernel, the following vulnerability has been resolved:

ipv6: prevent UAF in ip6_send_skb()

syzbot reported an UAF in ip6_send_skb() [1]

After ip6_local_out() has returned, we no longer can safely
dereference rt, unless we hold rcu_read_lock().

A similar issue has been fixed in commit
a688caa34beb (&quot;ipv6: take rcu lock in rawv6_send_hdrinc()&quot;)

Another potential issue in ip6_finish_output2() is handled in a
separate patch.

[1]
 BUG: KASAN: slab-use-after-free in ip6_send_skb+0x18d/0x230 net/ipv6/ip6_output.c:1964
Read of size 8 at addr ffff88806dde4858 by task syz.1.380/6530

CPU: 1 UID: 0 PID: 6530 Comm: syz.1.380 Not tainted 6.11.0-rc3-syzkaller-00306-gdf6cbc62cc9b #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 08/06/2024
Call Trace:
 &lt;TASK&gt;
  __dump_stack lib/dump_stack.c:93 [inline]
  dump_stack_lvl+0x241/0x360 lib/dump_stack.c:119
  print_address_description mm/kasan/report.c:377 [inline]
  print_report+0x169/0x550 mm/kasan/report.c:488
  kasan_report+0x143/0x180 mm/kasan/report.c:601
  ip6_send_skb+0x18d/0x230 net/ipv6/ip6_output.c:1964
  rawv6_push_pending_frames+0x75c/0x9e0 net/ipv6/raw.c:588
  rawv6_sendmsg+0x19c7/0x23c0 net/ipv6/raw.c:926
  sock_sendmsg_nosec net/socket.c:730 [inline]
  __sock_sendmsg+0x1a6/0x270 net/socket.c:745
  sock_write_iter+0x2dd/0x400 net/socket.c:1160
 do_iter_readv_writev+0x60a/0x890
  vfs_writev+0x37c/0xbb0 fs/read_write.c:971
  do_writev+0x1b1/0x350 fs/read_write.c:1018
  do_syscall_x64 arch/x86/entry/common.c:52 [inline]
  do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83
 entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x7f936bf79e79
Code: ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 &lt;48&gt; 3d 01 f0 ff ff 73 01 c3 48 c7 c1 a8 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007f936cd7f038 EFLAGS: 00000246 ORIG_RAX: 0000000000000014
RAX: ffffffffffffffda RBX: 00007f936c115f80 RCX: 00007f936bf79e79
RDX: 0000000000000001 RSI: 0000000020000040 RDI: 0000000000000004
RBP: 00007f936bfe7916 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 0000000000000000 R14: 00007f936c115f80 R15: 00007fff2860a7a8
 &lt;/TASK&gt;

Allocated by task 6530:
  kasan_save_stack mm/kasan/common.c:47 [inline]
  kasan_save_track+0x3f/0x80 mm/kasan/common.c:68
  unpoison_slab_object mm/kasan/common.c:312 [inline]
  __kasan_slab_alloc+0x66/0x80 mm/kasan/common.c:338
  kasan_slab_alloc include/linux/kasan.h:201 [inline]
  slab_post_alloc_hook mm/slub.c:3988 [inline]
  slab_alloc_node mm/slub.c:4037 [inline]
  kmem_cache_alloc_noprof+0x135/0x2a0 mm/slub.c:4044
  dst_alloc+0x12b/0x190 net/core/dst.c:89
  ip6_blackhole_route+0x59/0x340 net/ipv6/route.c:2670
  make_blackhole net/xfrm/xfrm_policy.c:3120 [inline]
  xfrm_lookup_route+0xd1/0x1c0 net/xfrm/xfrm_policy.c:3313
  ip6_dst_lookup_flow+0x13e/0x180 net/ipv6/ip6_output.c:1257
  rawv6_sendmsg+0x1283/0x23c0 net/ipv6/raw.c:898
  sock_sendmsg_nosec net/socket.c:730 [inline]
  __sock_sendmsg+0x1a6/0x270 net/socket.c:745
  ____sys_sendmsg+0x525/0x7d0 net/socket.c:2597
  ___sys_sendmsg net/socket.c:2651 [inline]
  __sys_sendmsg+0x2b0/0x3a0 net/socket.c:2680
  do_syscall_x64 arch/x86/entry/common.c:52 [inline]
  do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

Freed by task 45:
  kasan_save_stack mm/kasan/common.c:47 [inline]
  kasan_save_track+0x3f/0x80 mm/kasan/common.c:68
  kasan_save_free_info+0x40/0x50 mm/kasan/generic.c:579
  poison_slab_object+0xe0/0x150 mm/kasan/common.c:240
  __kasan_slab_free+0x37/0x60 mm/kasan/common.c:256
  kasan_slab_free include/linux/kasan.h:184 [inline]
  slab_free_hook mm/slub.c:2252 [inline]
  slab_free mm/slub.c:4473 [inline]
  kmem_cache_free+0x145/0x350 mm/slub.c:4548
  dst_destroy+0x2ac/0x460 net/core/dst.c:124
  rcu_do_batch kernel/rcu/tree.c:2569 [inline]
  rcu_core+0xafd/0x1830 kernel/rcu/tree.
---truncated--- (CVE-2024-44987)

In the Linux kernel, the following vulnerability has been resolved:

scsi: qla2xxx: Fix for possible memory corruption

Init Control Block is dereferenced incorrectly.  Correctly dereference ICB (CVE-2024-42288)

In the Linux kernel, the following vulnerability has been resolved:

devres: Fix memory leakage caused by driver API devm_free_percpu()

It will cause memory leakage when use driver API devm_free_percpu()
to free memory allocated by devm_alloc_percpu(), fixed by using
devres_release() instead of devres_destroy() within devm_free_percpu(). (CVE-2024-43871)

In the Linux kernel, the following vulnerability has been resolved:

x86/mtrr: Check if fixed MTRRs exist before saving them

MTRRs have an obsolete fixed variant for fine grained caching control
of the 640K-1MB region that uses separate MSRs. This fixed variant has
a separate capability bit in the MTRR capability MSR.

So far all x86 CPUs which support MTRR have this separate bit set, so it
went unnoticed that mtrr_save_state() does not check the capability bit
before accessing the fixed MTRR MSRs.

Though on a CPU that does not support the fixed MTRR capability this
results in a #GP.  The #GP itself is harmless because the RDMSR fault is
handled gracefully, but results in a WARN_ON().

Add the missing capability check to prevent this. (CVE-2024-44948)
</description>
    <pkglist>
      <collection short="HCE 2.0" package="kernel">
        <name>HCE 2.0</name>
        <package arch="aarch64" name="bpftool" version="5.10.0" release="182.0.0.95.r2250_161.hce2">
          <filename>bpftool-5.10.0-182.0.0.95.r2250_161.hce2.aarch64.rpm</filename>
        </package>
        <package arch="aarch64" name="kernel" version="5.10.0" release="182.0.0.95.r2250_161.hce2">
          <filename>kernel-5.10.0-182.0.0.95.r2250_161.hce2.aarch64.rpm</filename>
        </package>
        <package arch="aarch64" name="kernel-abi-stablelists" version="5.10.0" release="182.0.0.95.r2250_161.hce2">
          <filename>kernel-abi-stablelists-5.10.0-182.0.0.95.r2250_161.hce2.aarch64.rpm</filename>
        </package>
        <package arch="aarch64" name="kernel-tools" version="5.10.0" release="182.0.0.95.r2250_161.hce2">
          <filename>kernel-tools-5.10.0-182.0.0.95.r2250_161.hce2.aarch64.rpm</filename>
        </package>
        <package arch="aarch64" name="kernel-tools-libs" version="5.10.0" release="182.0.0.95.r2250_161.hce2">
          <filename>kernel-tools-libs-5.10.0-182.0.0.95.r2250_161.hce2.aarch64.rpm</filename>
        </package>
        <package arch="aarch64" name="kernel-tools-libs-devel" version="5.10.0" release="182.0.0.95.r2250_161.hce2">
          <filename>kernel-tools-libs-devel-5.10.0-182.0.0.95.r2250_161.hce2.aarch64.rpm</filename>
        </package>
        <package arch="aarch64" name="perf" version="5.10.0" release="182.0.0.95.r2250_161.hce2">
          <filename>perf-5.10.0-182.0.0.95.r2250_161.hce2.aarch64.rpm</filename>
        </package>
        <package arch="aarch64" name="python3-perf" version="5.10.0" release="182.0.0.95.r2250_161.hce2">
          <filename>python3-perf-5.10.0-182.0.0.95.r2250_161.hce2.aarch64.rpm</filename>
        </package>
        <package arch="x86_64" name="bpftool" version="5.10.0" release="182.0.0.95.r2250_161.hce2">
          <filename>bpftool-5.10.0-182.0.0.95.r2250_161.hce2.x86_64.rpm</filename>
        </package>
        <package arch="x86_64" name="kernel" version="5.10.0" release="182.0.0.95.r2250_161.hce2">
          <filename>kernel-5.10.0-182.0.0.95.r2250_161.hce2.x86_64.rpm</filename>
        </package>
        <package arch="x86_64" name="kernel-abi-stablelists" version="5.10.0" release="182.0.0.95.r2250_161.hce2">
          <filename>kernel-abi-stablelists-5.10.0-182.0.0.95.r2250_161.hce2.x86_64.rpm</filename>
        </package>
        <package arch="x86_64" name="kernel-tools" version="5.10.0" release="182.0.0.95.r2250_161.hce2">
          <filename>kernel-tools-5.10.0-182.0.0.95.r2250_161.hce2.x86_64.rpm</filename>
        </package>
        <package arch="x86_64" name="kernel-tools-libs" version="5.10.0" release="182.0.0.95.r2250_161.hce2">
          <filename>kernel-tools-libs-5.10.0-182.0.0.95.r2250_161.hce2.x86_64.rpm</filename>
        </package>
        <package arch="x86_64" name="kernel-tools-libs-devel" version="5.10.0" release="182.0.0.95.r2250_161.hce2">
          <filename>kernel-tools-libs-devel-5.10.0-182.0.0.95.r2250_161.hce2.x86_64.rpm</filename>
        </package>
        <package arch="x86_64" name="perf" version="5.10.0" release="182.0.0.95.r2250_161.hce2">
          <filename>perf-5.10.0-182.0.0.95.r2250_161.hce2.x86_64.rpm</filename>
        </package>
        <package arch="x86_64" name="python3-perf" version="5.10.0" release="182.0.0.95.r2250_161.hce2">
          <filename>python3-perf-5.10.0-182.0.0.95.r2250_161.hce2.x86_64.rpm</filename>
        </package>
        <package arch="aarch64" name="kernel-devel" version="5.10.0" release="182.0.0.95.r2250_161.hce2">
          <filename>kernel-devel-5.10.0-182.0.0.95.r2250_161.hce2.aarch64.rpm</filename>
        </package>
        <package arch="x86_64" name="kernel-devel" version="5.10.0" release="182.0.0.95.r2250_161.hce2">
          <filename>kernel-devel-5.10.0-182.0.0.95.r2250_161.hce2.x86_64.rpm</filename>
        </package>
        <package arch="aarch64" name="kernel-headers" version="5.10.0" release="182.0.0.95.r2250_161.hce2">
          <filename>kernel-headers-5.10.0-182.0.0.95.r2250_161.hce2.aarch64.rpm</filename>
        </package>
        <package arch="x86_64" name="kernel-headers" version="5.10.0" release="182.0.0.95.r2250_161.hce2">
          <filename>kernel-headers-5.10.0-182.0.0.95.r2250_161.hce2.x86_64.rpm</filename>
        </package>
      </collection>
    </pkglist>
  </update>
