CVE-2023-54289: scsi: qedf: Fix NULL dereference in error handling
In the Linux kernel, the following vulnerability has been resolved:
scsi: qedf: Fix NULL dereference in error handling
Smatch reported:
drivers/scsi/qedf/qedf_main.c:3056 qedf_alloc_global_queues()
warn: missing unwind goto?
At this point in the function, nothing has been allocated so we can return
directly. In particular the "qedf->global_queues" have not been allocated
so calling qedf_free_global_queues() will lead to a NULL dereference when
we check if (!gl[i]) and "gl" is NULL.
Security readout for executives and security teams
Plain-English summary
CVE-2023-54289 is a Linux kernel bug in the qedf SCSI/FCoE driver. During an early error path, the driver can call cleanup code before a queue pointer exists, causing a NULL pointer dereference. The known impact from the bundle is reliability risk, not data theft or remote code execution.
Executive priority
Treat as a targeted kernel reliability issue. It is worth addressing through normal kernel patching, with higher priority for storage hosts using qedf. The source bundle does not justify emergency response absent local exposure evidence.
Technical view
The flaw is in drivers/scsi/qedf/qedf_main.c within qedf_alloc_global_queues(). Smatch identified a missing unwind path: qedf_free_global_queues() may run while qedf->global_queues is NULL, then dereference gl during cleanup. Kernel stable commits change this error handling path.
Likely exposure
Exposure appears limited to Linux systems using affected kernel versions where the qedf driver code is present and reachable. Practical exposure depends on whether qedf is built, loaded, and used with relevant QLogic/Broadcom Fibre Channel over Ethernet storage hardware.
Exploitation context
The bundle does not report active exploitation, KEV listing, CVSS, public exploit code, or a remote attack path. Evidence supports a kernel NULL dereference in an error-handling path, most plausibly causing local reliability impact if reachable.
Researcher notes
The key evidence is a missing early return/unwind decision before global_queues allocation. The CVE data is incomplete on scoring and exploitability. Validate reachability from the driver initialization and error path in the exact downstream kernel build.
Mitigation direction
Apply vendor kernel updates containing the referenced stable fixes or backports.
Check distribution advisories for fixed package versions and reboot requirements.
Disable or avoid loading unused qedf support only if vendor-supported.
Prioritize systems using qedf-connected storage over unrelated Linux hosts.
Validation and detection
Inventory running kernel versions against the affected version data in the CVE bundle.
Check whether the qedf driver is built, installed, or loaded on each host.
Confirm vendor kernel changelogs include one of the referenced stable fixes or a backport.
Review kernel logs for qedf-related NULL dereference or panic events.
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-2023-54289 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.
0CVSS vectors
3Timeline events
0ADP providers
8Source links
Vulnerability timeline
Timeline events are normalized from CVE metadata, CNA source timelines, ADP timelines, and KEV metadata when present.
CVE reservedCVE Program
The CVE ID was reserved by the assigning CNA.
CVE publishedCVE Program
The CVE record was published.
Dec 30, 2025, 12:23 UTC (UTC+00:00)
CVE updatedCVE Program
The CVE record metadata indicates this as the latest update time.