跳转到帖子

Ubuntu: (Multiple Advisories) (CVE-2024-43887): Linux kernel vulnerabilities

recommended_posts

发布于
  • Members

Ubuntu: (Multiple Advisories) (CVE-2024-43887): Linux kernel vulnerabilities

Severity
4
CVSS
(AV:L/AC:M/Au:S/C:N/I:N/A:C)
Published
08/26/2024
Created
12/14/2024
Added
12/13/2024
Modified
01/30/2025

Description

In the Linux kernel, the following vulnerability has been resolved: net/tcp: Disable TCP-AO static key after RCU grace period The lifetime of TCP-AO static_key is the same as the last tcp_ao_info. On the socket destruction tcp_ao_info ceases to be with RCU grace period, while tcp-ao static branch is currently deferred destructed. The static key definition is : DEFINE_STATIC_KEY_DEFERRED_FALSE(tcp_ao_needed, HZ); which means that if RCU grace period is delayed by more than a second and tcp_ao_needed is in the process of disablement, other CPUs may yet see tcp_ao_info which atent dead, but soon-to-be. And that breaks the assumption of static_key_fast_inc_not_disabled(). See the comment near the definition: > * The caller must make sure that the static key can't get disabled while > * in this function. It doesn't patch jump labels, only adds a user to > * an already enabled static key. Originally it was introduced in commit eb8c507296f6 ("jump_label: Prevent key->enabled int overflow"), which is needed for the atomic contexts, one of which would be the creation of a full socket from a request socket. In that atomic context, it's known by the presence of the key (md5/ao) that the static branch is already enabled. So, the ref counter for that static branch is just incremented instead of holding the proper mutex. static_key_fast_inc_not_disabled() is just a helper for such usage case. But it must not be used if the static branch could get disabled in parallel as it's not protected by jump_label_mutex and as a result, races with jump_label_update() implementation details. Happened on netdev test-bot[1], so not a theoretical issue: [] jump_label: Fatal kernel bug, unexpected op at tcp_inbound_hash+0x1a7/0x870 [ffffffffa8c4e9b7] (eb 50 0f 1f 44 != 66 90 0f 1f 00)) size:2 type:1 [] ------------[ cut here ]------------ [] kernel BUG at arch/x86/kernel/jump_label.c:73! [] Oops: invalid opcode: 0000 [#1] PREEMPT SMP KASAN NOPTI [] CPU: 3 PID: 243 Comm: kworker/3:3 Not tainted 6.10.0-virtme #1 [] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.3-0-ga6ed6b701f0a-prebuilt.qemu.org 04/01/2014 [] Workqueue: events jump_label_update_timeout [] RIP: 0010:__jump_label_patch+0x2f6/0x350 ... [] Call Trace: []<TASK> []arch_jump_label_transform_queue+0x6c/0x110 []__jump_label_update+0xef/0x350 []__static_key_slow_dec_cpuslocked.part.0+0x3c/0x60 []jump_label_update_timeout+0x2c/0x40 []process_one_work+0xe3b/0x1670 []worker_thread+0x587/0xce0 []kthread+0x28a/0x350 []ret_from_fork+0x31/0x70 []ret_from_fork_asm+0x1a/0x30 []</TASK> [] Modules linked in: veth [] ---[ end trace 0000000000000000 ]--- [] RIP: 0010:__jump_label_patch+0x2f6/0x350 [1]: https://netdev-3.bots.linux.dev/vmksft-tcp-ao-dbg/results/696681/5-connect-deny-ipv6/stderr

Solution(s)

  • ubuntu-upgrade-linux-image-6-8-0-1002-gkeop
  • ubuntu-upgrade-linux-image-6-8-0-1015-gke
  • ubuntu-upgrade-linux-image-6-8-0-1016-raspi
  • ubuntu-upgrade-linux-image-6-8-0-1017-ibm
  • ubuntu-upgrade-linux-image-6-8-0-1017-oracle
  • ubuntu-upgrade-linux-image-6-8-0-1017-oracle-64k
  • ubuntu-upgrade-linux-image-6-8-0-1018-oem
  • ubuntu-upgrade-linux-image-6-8-0-1019-gcp
  • ubuntu-upgrade-linux-image-6-8-0-1019-nvidia
  • ubuntu-upgrade-linux-image-6-8-0-1019-nvidia-64k
  • ubuntu-upgrade-linux-image-6-8-0-1019-nvidia-lowlatency
  • ubuntu-upgrade-linux-image-6-8-0-1019-nvidia-lowlatency-64k
  • ubuntu-upgrade-linux-image-6-8-0-1020-aws
  • ubuntu-upgrade-linux-image-6-8-0-1020-azure
  • ubuntu-upgrade-linux-image-6-8-0-1020-azure-fde
  • ubuntu-upgrade-linux-image-6-8-0-50-generic
  • ubuntu-upgrade-linux-image-6-8-0-50-generic-64k
  • ubuntu-upgrade-linux-image-6-8-0-50-lowlatency
  • ubuntu-upgrade-linux-image-6-8-0-50-lowlatency-64k
  • ubuntu-upgrade-linux-image-aws
  • ubuntu-upgrade-linux-image-azure
  • ubuntu-upgrade-linux-image-azure-fde
  • ubuntu-upgrade-linux-image-gcp
  • ubuntu-upgrade-linux-image-generic
  • ubuntu-upgrade-linux-image-generic-64k
  • ubuntu-upgrade-linux-image-generic-64k-hwe-22-04
  • ubuntu-upgrade-linux-image-generic-64k-hwe-24-04
  • ubuntu-upgrade-linux-image-generic-hwe-22-04
  • ubuntu-upgrade-linux-image-generic-hwe-24-04
  • ubuntu-upgrade-linux-image-generic-lpae
  • ubuntu-upgrade-linux-image-gke
  • ubuntu-upgrade-linux-image-gkeop
  • ubuntu-upgrade-linux-image-gkeop-6-8
  • ubuntu-upgrade-linux-image-ibm
  • ubuntu-upgrade-linux-image-ibm-classic
  • ubuntu-upgrade-linux-image-ibm-lts-24-04
  • ubuntu-upgrade-linux-image-kvm
  • ubuntu-upgrade-linux-image-lowlatency
  • ubuntu-upgrade-linux-image-lowlatency-64k
  • ubuntu-upgrade-linux-image-lowlatency-64k-hwe-22-04
  • ubuntu-upgrade-linux-image-lowlatency-64k-hwe-24-04
  • ubuntu-upgrade-linux-image-lowlatency-hwe-22-04
  • ubuntu-upgrade-linux-image-lowlatency-hwe-24-04
  • ubuntu-upgrade-linux-image-nvidia
  • ubuntu-upgrade-linux-image-nvidia-6-8
  • ubuntu-upgrade-linux-image-nvidia-64k
  • ubuntu-upgrade-linux-image-nvidia-64k-6-8
  • ubuntu-upgrade-linux-image-nvidia-64k-hwe-22-04
  • ubuntu-upgrade-linux-image-nvidia-hwe-22-04
  • ubuntu-upgrade-linux-image-nvidia-lowlatency
  • ubuntu-upgrade-linux-image-nvidia-lowlatency-64k
  • ubuntu-upgrade-linux-image-oem-22-04
  • ubuntu-upgrade-linux-image-oem-22-04a
  • ubuntu-upgrade-linux-image-oem-22-04b
  • ubuntu-upgrade-linux-image-oem-22-04c
  • ubuntu-upgrade-linux-image-oem-22-04d
  • ubuntu-upgrade-linux-image-oem-24-04
  • ubuntu-upgrade-linux-image-oem-24-04a
  • ubuntu-upgrade-linux-image-oracle
  • ubuntu-upgrade-linux-image-oracle-64k
  • ubuntu-upgrade-linux-image-raspi
  • ubuntu-upgrade-linux-image-virtual
  • ubuntu-upgrade-linux-image-virtual-hwe-22-04
  • ubuntu-upgrade-linux-image-virtual-hwe-24-04

References

  • https://attackerkb.com/topics/cve-2024-43887
  • CVE - 2024-43887
  • USN-7154-1
  • USN-7154-2
  • USN-7155-1
  • USN-7156-1
  • USN-7196-1
  • 查看数 694
  • 已创建
  • 最后回复

参与讨论

你可立刻发布并稍后注册。 如果你有帐户,立刻登录发布帖子。

游客
回帖…