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.
Security readout for executives and security teams
Plain-English summary
This Linux kernel issue is a cleanup regression in the SCSI subsystem. In some failed device setup paths, a procfs directory for a SCSI host may remain registered, causing later duplicate-registration warnings and a small kernel resource leak. The source bundle does not describe data theft, privilege escalation, or active exploitation.
Executive priority
Treat this as routine kernel patch management unless your environment has exposed USB/SCSI device handling in sensitive systems. It is not listed as actively exploited and has no severity score in the bundle, but stale kernels should still be remediated through normal update cycles.
Technical view
The bug involves mismatched SCSI host lifecycle cleanup. scsi_host_alloc() creates the procfs host directory, but some error paths call scsi_host_put() without scsi_add_host(). The fix restores scsi_proc_hostdir_rm() in scsi_host_dev_release(), guarded by SHOST_CREATED, preventing duplicate procfs registration and leaked SCSI host proc structures.
Likely exposure
Exposure is limited to Linux systems running affected kernel versions or downstream products that include the vulnerable SCSI core regression. The demonstrated trigger is a Syzkaller-discovered USB storage error path using USB raw gadget. Internet-facing exposure is not indicated by the supplied sources.
Exploitation context
CISA KEV status is false, and the bundle provides no evidence of active exploitation. The available evidence is a fuzzing-triggered kernel warning and resource leak in an error path, not a documented weaponized attack path.
Researcher notes
The useful validation point is lifecycle pairing: scsi_host_alloc() must have procfs cleanup even when scsi_add_host() never occurs. The cited fix guards dev_release cleanup with SHOST_CREATED to avoid the earlier duplicate-removal regression while covering allocation-only failure paths.
Mitigation direction
Update to a vendor kernel containing the referenced stable fixes.
Check Linux distribution advisories, including Debian LTS, for packaged kernel updates.
For appliances, follow vendor guidance such as Siemens SSA-265688 where applicable.
Prioritize systems that expose USB gadget, USB storage, or SCSI driver paths.
Avoid direct wrangler or deployment assumptions; this is kernel maintenance work only.
Validation and detection
Inventory Linux kernel versions across servers, workstations, and appliances.
Compare installed kernels with vendor advisories and the CVE record.
Review dmesg logs for duplicate proc_dir_entry warnings involving scsi or usb-storage.
Confirm updated kernels include the relevant upstream stable SCSI core fix.
Track downstream vendor status for embedded or managed devices.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cve · low confidence lookup
CVE-2024-26935 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.