vulnerability

Alma Linux: CVE-2024-26935: Moderate: kernel security update (Multiple Advisories)

Severity
5
CVSS
(AV:L/AC:L/Au:S/C:N/I:N/A:C)
Published
May 1, 2024
Added
Nov 4, 2024
Modified
Nov 13, 2025

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.

Solutions

alma-upgrade-bpftoolalma-upgrade-kernelalma-upgrade-kernel-64kalma-upgrade-kernel-64k-corealma-upgrade-kernel-64k-debugalma-upgrade-kernel-64k-debug-corealma-upgrade-kernel-64k-debug-develalma-upgrade-kernel-64k-debug-devel-matchedalma-upgrade-kernel-64k-debug-modulesalma-upgrade-kernel-64k-debug-modules-corealma-upgrade-kernel-64k-debug-modules-extraalma-upgrade-kernel-64k-develalma-upgrade-kernel-64k-devel-matchedalma-upgrade-kernel-64k-modulesalma-upgrade-kernel-64k-modules-corealma-upgrade-kernel-64k-modules-extraalma-upgrade-kernel-abi-stablelistsalma-upgrade-kernel-corealma-upgrade-kernel-cross-headersalma-upgrade-kernel-debugalma-upgrade-kernel-debug-corealma-upgrade-kernel-debug-develalma-upgrade-kernel-debug-devel-matchedalma-upgrade-kernel-debug-modulesalma-upgrade-kernel-debug-modules-corealma-upgrade-kernel-debug-modules-extraalma-upgrade-kernel-debug-uki-virtalma-upgrade-kernel-develalma-upgrade-kernel-devel-matchedalma-upgrade-kernel-docalma-upgrade-kernel-headersalma-upgrade-kernel-modulesalma-upgrade-kernel-modules-corealma-upgrade-kernel-modules-extraalma-upgrade-kernel-rtalma-upgrade-kernel-rt-corealma-upgrade-kernel-rt-debugalma-upgrade-kernel-rt-debug-corealma-upgrade-kernel-rt-debug-develalma-upgrade-kernel-rt-debug-modulesalma-upgrade-kernel-rt-debug-modules-corealma-upgrade-kernel-rt-debug-modules-extraalma-upgrade-kernel-rt-develalma-upgrade-kernel-rt-modulesalma-upgrade-kernel-rt-modules-corealma-upgrade-kernel-rt-modules-extraalma-upgrade-kernel-toolsalma-upgrade-kernel-tools-libsalma-upgrade-kernel-tools-libs-develalma-upgrade-kernel-uki-virtalma-upgrade-kernel-zfcpdumpalma-upgrade-kernel-zfcpdump-corealma-upgrade-kernel-zfcpdump-develalma-upgrade-kernel-zfcpdump-devel-matchedalma-upgrade-kernel-zfcpdump-modulesalma-upgrade-kernel-zfcpdump-modules-corealma-upgrade-kernel-zfcpdump-modules-extraalma-upgrade-libperfalma-upgrade-perfalma-upgrade-python3-perfalma-upgrade-rtlaalma-upgrade-rv
Title
NEW

Explore Exposure Command

Confidently identify and prioritize exposures from endpoint to cloud with full attack surface visibility and threat-aware risk context.