Rapid7 Vulnerability & Exploit Database

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

Free InsightVM Trial No Credit Card Necessary
2024 Attack Intel Report Latest research by Rapid7 Labs
Back to Search

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

Severity
4
CVSS
(AV:L/AC:M/Au:N/C:P/I:P/A:P)
Published
04/25/2024
Created
07/12/2024
Added
07/12/2024
Modified
07/18/2024

Description

In the Linux kernel, the following vulnerability has been resolved: af_unix: Fix garbage collector racing against connect() Garbage collector does not take into account the risk of embryo getting enqueued during the garbage collection. If such embryo has a peer that carries SCM_RIGHTS, two consecutive passes of scan_children() may see a different set of children. Leading to an incorrectly elevated inflight count, and then a dangling pointer within the gc_inflight_list. sockets are AF_UNIX/SOCK_STREAM S is an unconnected socket L is a listening in-flight socket bound to addr, not in fdtable V's fd will be passed via sendmsg(), gets inflight count bumped connect(S, addr) sendmsg(S, [V]); close(V) __unix_gc() ---------------- ------------------------- ----------- NS = unix_create1() skb1 = sock_wmalloc(NS) L = unix_find_other(addr) unix_state_lock(L) unix_peer(S) = NS // V count=1 inflight=0 NS = unix_peer(S) skb2 = sock_alloc() skb_queue_tail(NS, skb2[V]) // V became in-flight // V count=2 inflight=1 close(V) // V count=1 inflight=1 // GC candidate condition met for u in gc_inflight_list: if (total_refs == inflight_refs) add u to gc_candidates // gc_candidates={L, V} for u in gc_candidates: scan_children(u, dec_inflight) // embryo (skb1) was not // reachable from L yet, so V's // inflight remains unchanged __skb_queue_tail(L, skb1) unix_state_unlock(L) for u in gc_candidates: if (u.inflight) scan_children(u, inc_inflight_move_tail) // V count=1 inflight=2 (!) If there is a GC-candidate listening socket, lock/unlock its state. This makes GC wait until the end of any ongoing connect() to that socket. After flipping the lock, a possibly SCM-laden embryo is already enqueued. And if there is another embryo coming, it can not possibly carry SCM_RIGHTS. At this point, unix_inflight() can not happen because unix_gc_lock is already taken. Inflight graph remains unaffected.

Solution(s)

  • ubuntu-upgrade-linux-image-5-15-0-1048-gkeop
  • ubuntu-upgrade-linux-image-5-15-0-1058-ibm
  • ubuntu-upgrade-linux-image-5-15-0-1060-intel-iotg
  • ubuntu-upgrade-linux-image-5-15-0-1060-nvidia
  • ubuntu-upgrade-linux-image-5-15-0-1060-nvidia-lowlatency
  • ubuntu-upgrade-linux-image-5-15-0-1062-gke
  • ubuntu-upgrade-linux-image-5-15-0-1062-kvm
  • ubuntu-upgrade-linux-image-5-15-0-1063-oracle
  • ubuntu-upgrade-linux-image-5-15-0-1064-gcp
  • ubuntu-upgrade-linux-image-5-15-0-1068-azure
  • ubuntu-upgrade-linux-image-5-15-0-116-generic
  • ubuntu-upgrade-linux-image-5-15-0-116-generic-64k
  • ubuntu-upgrade-linux-image-5-15-0-116-generic-lpae
  • ubuntu-upgrade-linux-image-5-15-0-116-lowlatency
  • ubuntu-upgrade-linux-image-5-15-0-116-lowlatency-64k
  • ubuntu-upgrade-linux-image-5-4-0-1047-xilinx-zynqmp
  • ubuntu-upgrade-linux-image-5-4-0-1075-ibm
  • ubuntu-upgrade-linux-image-5-4-0-1088-bluefield
  • ubuntu-upgrade-linux-image-5-4-0-1095-gkeop
  • ubuntu-upgrade-linux-image-5-4-0-1116-kvm
  • ubuntu-upgrade-linux-image-5-4-0-1127-oracle
  • ubuntu-upgrade-linux-image-5-4-0-1132-gcp
  • ubuntu-upgrade-linux-image-5-4-0-1133-azure
  • ubuntu-upgrade-linux-image-5-4-0-189-generic
  • ubuntu-upgrade-linux-image-5-4-0-189-generic-lpae
  • ubuntu-upgrade-linux-image-5-4-0-189-lowlatency
  • ubuntu-upgrade-linux-image-6-5-0-1020-raspi
  • ubuntu-upgrade-linux-image-6-5-0-1023-nvidia
  • ubuntu-upgrade-linux-image-6-5-0-1023-nvidia-64k
  • ubuntu-upgrade-linux-image-6-5-0-1024-azure
  • ubuntu-upgrade-linux-image-6-5-0-1024-azure-fde
  • ubuntu-upgrade-linux-image-6-5-0-1024-gcp
  • ubuntu-upgrade-linux-image-6-5-0-44-generic
  • ubuntu-upgrade-linux-image-6-5-0-44-generic-64k
  • ubuntu-upgrade-linux-image-6-8-0-1006-gke
  • ubuntu-upgrade-linux-image-6-8-0-1007-intel
  • ubuntu-upgrade-linux-image-6-8-0-1007-raspi
  • ubuntu-upgrade-linux-image-6-8-0-1008-ibm
  • ubuntu-upgrade-linux-image-6-8-0-1008-oem
  • ubuntu-upgrade-linux-image-6-8-0-1009-nvidia
  • ubuntu-upgrade-linux-image-6-8-0-1009-nvidia-64k
  • ubuntu-upgrade-linux-image-6-8-0-1010-azure
  • ubuntu-upgrade-linux-image-6-8-0-1010-azure-fde
  • ubuntu-upgrade-linux-image-6-8-0-1010-gcp
  • ubuntu-upgrade-linux-image-6-8-0-38-generic
  • ubuntu-upgrade-linux-image-6-8-0-38-generic-64k
  • ubuntu-upgrade-linux-image-6-8-0-38-lowlatency
  • ubuntu-upgrade-linux-image-6-8-0-38-lowlatency-64k
  • ubuntu-upgrade-linux-image-azure
  • ubuntu-upgrade-linux-image-azure-cvm
  • ubuntu-upgrade-linux-image-azure-fde
  • ubuntu-upgrade-linux-image-azure-lts-20-04
  • ubuntu-upgrade-linux-image-azure-lts-22-04
  • ubuntu-upgrade-linux-image-bluefield
  • ubuntu-upgrade-linux-image-gcp
  • ubuntu-upgrade-linux-image-gcp-lts-20-04
  • ubuntu-upgrade-linux-image-gcp-lts-22-04
  • 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-18-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-gke-5-15
  • ubuntu-upgrade-linux-image-gkeop
  • ubuntu-upgrade-linux-image-gkeop-5-15
  • ubuntu-upgrade-linux-image-gkeop-5-4
  • ubuntu-upgrade-linux-image-ibm
  • ubuntu-upgrade-linux-image-ibm-classic
  • ubuntu-upgrade-linux-image-ibm-lts-20-04
  • ubuntu-upgrade-linux-image-ibm-lts-24-04
  • ubuntu-upgrade-linux-image-intel
  • ubuntu-upgrade-linux-image-intel-iotg
  • ubuntu-upgrade-linux-image-kvm
  • ubuntu-upgrade-linux-image-lowlatency
  • ubuntu-upgrade-linux-image-lowlatency-64k
  • ubuntu-upgrade-linux-image-lowlatency-64k-hwe-20-04
  • ubuntu-upgrade-linux-image-lowlatency-hwe-18-04
  • ubuntu-upgrade-linux-image-lowlatency-hwe-20-04
  • ubuntu-upgrade-linux-image-nvidia
  • ubuntu-upgrade-linux-image-nvidia-6-5
  • ubuntu-upgrade-linux-image-nvidia-64k
  • ubuntu-upgrade-linux-image-nvidia-64k-6-5
  • 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-oem
  • ubuntu-upgrade-linux-image-oem-24-04
  • ubuntu-upgrade-linux-image-oem-24-04a
  • ubuntu-upgrade-linux-image-oem-osp1
  • ubuntu-upgrade-linux-image-oracle
  • ubuntu-upgrade-linux-image-oracle-lts-20-04
  • ubuntu-upgrade-linux-image-oracle-lts-22-04
  • ubuntu-upgrade-linux-image-raspi
  • ubuntu-upgrade-linux-image-raspi-nolpae
  • ubuntu-upgrade-linux-image-snapdragon-hwe-18-04
  • ubuntu-upgrade-linux-image-virtual
  • ubuntu-upgrade-linux-image-virtual-hwe-18-04
  • ubuntu-upgrade-linux-image-virtual-hwe-22-04
  • ubuntu-upgrade-linux-image-virtual-hwe-24-04
  • ubuntu-upgrade-linux-image-xilinx-zynqmp

With Rapid7 live dashboards, I have a clear view of all the assets on my network, which ones can be exploited, and what I need to do in order to reduce the risk in my environment in real-time. No other tool gives us that kind of value and insight.

– Scott Cheney, Manager of Information Security, Sierra View Medical Center

;