Rapid7 Vulnerability & Exploit Database

Ubuntu: (Multiple Advisories) (CVE-2024-26935): 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-26935): Linux kernel vulnerabilities

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

Description

In the Linux kernel, the following vulnerability has been resolved: scsi: core: Fix unremoved procfs host directory regression Commit fc663711b944 ("scsi: core: Remove the /proc/scsi/${proc_name} directory earlier") fixed a bug related to modules loading/unloading, by adding a call to scsi_proc_hostdir_rm() on scsi_remove_host(). But that led to a potential duplicate call to the hostdir_rm() routine, since it's also called from scsi_host_dev_release(). That triggered a regression report, which was then fixed by commit be03df3d4bfe ("scsi: core: Fix a procfs host directory removal regression"). The fix just dropped the hostdir_rm() call from dev_release(). But it happens that this proc directory is created on scsi_host_alloc(), and that function "pairs" with scsi_host_dev_release(), while scsi_remove_host() pairs with scsi_add_host(). In other words, it seems the reason for removing the proc directory on dev_release() was meant to cover cases in which a SCSI host structure was allocated, but the call to scsi_add_host() didn't happen. And that pattern happens to exist in some error paths, for example. Syzkaller causes that by using USB raw gadget device, error'ing on usb-storage driver, at usb_stor_probe2(). By checking that path, we can see that the BadDevice label leads to a scsi_host_put() after a SCSI host allocation, but there's no call to scsi_add_host() in such path. That leads to messages like this in dmesg (and a leak of the SCSI host proc structure): usb-storage 4-1:87.51: USB Mass Storage device detected proc_dir_entry 'scsi/usb-storage' already registered WARNING: CPU: 1 PID: 3519 at fs/proc/generic.c:377 proc_register+0x347/0x4e0 fs/proc/generic.c:376 The proper fix seems to still call scsi_proc_hostdir_rm() on dev_release(), but guard that with the state check for SHOST_CREATED; there is even a comment in scsi_host_dev_release() detailing that: such conditional is meant for cases where the SCSI host was allocated but there was no calls to {add,remove}_host(), like the usb-storage case. This is what we propose here and with that, the error path of usb-storage does not trigger the warning anymore.

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-8-0-1004-gke
  • ubuntu-upgrade-linux-image-6-8-0-1005-raspi
  • ubuntu-upgrade-linux-image-6-8-0-1006-ibm
  • ubuntu-upgrade-linux-image-6-8-0-1006-oem
  • ubuntu-upgrade-linux-image-6-8-0-1006-oracle
  • ubuntu-upgrade-linux-image-6-8-0-1006-oracle-64k
  • ubuntu-upgrade-linux-image-6-8-0-1008-azure
  • ubuntu-upgrade-linux-image-6-8-0-1008-azure-fde
  • ubuntu-upgrade-linux-image-6-8-0-1008-gcp
  • ubuntu-upgrade-linux-image-6-8-0-1009-aws
  • ubuntu-upgrade-linux-image-6-8-0-35-generic
  • ubuntu-upgrade-linux-image-6-8-0-35-generic-64k
  • ubuntu-upgrade-linux-image-6-8-0-35-lowlatency
  • ubuntu-upgrade-linux-image-6-8-0-35-lowlatency-64k
  • ubuntu-upgrade-linux-image-aws
  • 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-24-04
  • ubuntu-upgrade-linux-image-generic-hwe-18-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-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-64k
  • 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-snapdragon-hwe-18-04
  • ubuntu-upgrade-linux-image-virtual
  • ubuntu-upgrade-linux-image-virtual-hwe-18-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

;