跳转到帖子

Huawei EulerOS: CVE-2024-26698: kernel security update

recommended_posts

发布于
  • Members

Huawei EulerOS: CVE-2024-26698: kernel security update

Severity
4
CVSS
(AV:L/AC:M/Au:N/C:P/I:P/A:P)
Published
04/03/2024
Created
06/26/2024
Added
06/26/2024
Modified
11/11/2024

Description

In the Linux kernel, the following vulnerability has been resolved: hv_netvsc: Fix race condition between netvsc_probe and netvsc_remove In commit ac5047671758 ("hv_netvsc: Disable NAPI before closing the VMBus channel"), napi_disable was getting called for all channels, including all subchannels without confirming if they are enabled or not. This caused hv_netvsc getting hung at napi_disable, when netvsc_probe() has finished running but nvdev->subchan_work has not started yet. netvsc_subchan_work() -> rndis_set_subchannel() has not created the sub-channels and because of that netvsc_sc_open() is not running. netvsc_remove() calls cancel_work_sync(&nvdev->subchan_work), for which netvsc_subchan_work did not run. netif_napi_add() sets the bit NAPI_STATE_SCHED because it ensures NAPI cannot be scheduled. Then netvsc_sc_open() -> napi_enable will clear the NAPIF_STATE_SCHED bit, so it can be scheduled. napi_disable() does the opposite. Now during netvsc_device_remove(), when napi_disable is called for those subchannels, napi_disable gets stuck on infinite msleep. This fix addresses this problem by ensuring that napi_disable() is not getting called for non-enabled NAPI struct. But netif_napi_del() is still necessary for these non-enabled NAPI struct for cleanup purpose. Call trace: [654.559417] task:modprobestate:D stack:0 pid: 2321 ppid:1091 flags:0x00004002 [654.568030] Call Trace: [654.571221]<TASK> [654.573790]__schedule+0x2d6/0x960 [654.577733]schedule+0x69/0xf0 [654.581214]schedule_timeout+0x87/0x140 [654.585463]? __bpf_trace_tick_stop+0x20/0x20 [654.590291]msleep+0x2d/0x40 [654.593625]napi_disable+0x2b/0x80 [654.597437]netvsc_device_remove+0x8a/0x1f0 [hv_netvsc] [654.603935]rndis_filter_device_remove+0x194/0x1c0 [hv_netvsc] [654.611101]? do_wait_intr+0xb0/0xb0 [654.615753]netvsc_remove+0x7c/0x120 [hv_netvsc] [654.621675]vmbus_remove+0x27/0x40 [hv_vmbus]

Solution(s)

  • huawei-euleros-2_0_sp11-upgrade-bpftool
  • huawei-euleros-2_0_sp11-upgrade-kernel
  • huawei-euleros-2_0_sp11-upgrade-kernel-abi-stablelists
  • huawei-euleros-2_0_sp11-upgrade-kernel-tools
  • huawei-euleros-2_0_sp11-upgrade-kernel-tools-libs
  • huawei-euleros-2_0_sp11-upgrade-python3-perf

References

  • https://attackerkb.com/topics/cve-2024-26698
  • CVE - 2024-26698
  • EulerOS-SA-2024-1837
  • 查看数 705
  • 已创建
  • 最后回复

参与讨论

你可立刻发布并稍后注册。 如果你有帐户,立刻登录发布帖子。
注意:你的帖子需要版主批准后才能看到。

游客
回帖…