CVE-2025-38399: scsi: target: Fix NULL pointer dereference in core_scsi3_decode_spec_i_port()
In the Linux kernel, the following vulnerability has been resolved:
scsi: target: Fix NULL pointer dereference in core_scsi3_decode_spec_i_port()
The function core_scsi3_decode_spec_i_port(), in its error code path,
unconditionally calls core_scsi3_lunacl_undepend_item() passing the
dest_se_deve pointer, which may be NULL.
This can lead to a NULL pointer dereference if dest_se_deve remains
unset.
SPC-3 PR SPEC_I_PT: Unable to locate dest_tpg
Unable to handle kernel paging request at virtual address dfff800000000012
Call trace:
core_scsi3_lunacl_undepend_item+0x2c/0xf0 [target_core_mod] (P)
core_scsi3_decode_spec_i_port+0x120c/0x1c30 [target_core_mod]
core_scsi3_emulate_pro_register+0x6b8/0xcd8 [target_core_mod]
target_scsi3_emulate_pr_out+0x56c/0x840 [target_core_mod]
Fix this by adding a NULL check before calling
core_scsi3_lunacl_undepend_item()
Security readout for executives and security teams
Plain-English summary
A flaw in the Linux kernel’s SCSI target handling can crash the kernel when a persistent-reservation request reaches a specific error path. The documented impact is loss of availability, not data theft or modification. Systems acting as network-accessible SCSI targets warrant the greatest attention.
Executive priority
Treat this as a prompt availability remediation for exposed storage infrastructure, especially where an outage would disrupt critical workloads. Patch during the earliest safe maintenance window. Systems not providing Linux SCSI target services are lower priority after configuration verification.
Technical view
core_scsi3_decode_spec_i_port() may leave dest_se_deve unset after failing to locate dest_tpg, then pass that NULL pointer to core_scsi3_lunacl_undepend_item(). The resulting kernel paging fault can cause denial of service. The fix checks the pointer before calling the cleanup function. CVSS 3.1 is 7.5: network-accessible, low complexity, and availability-only impact.
Likely exposure
Exposure centers on Linux systems using the kernel SCSI target subsystem and processing SPC-3 persistent-reservation SPEC_I_PT requests. The bundle identifies multiple kernel versions from 5.9 through 6.16, but its version entries do not clearly distinguish vulnerable and corrected package boundaries. Confirm exact exposure through kernel or distribution guidance.
Exploitation context
The supplied record does not establish public proof-of-concept availability or active exploitation, and the CVE is not listed as KEV. The CVSS vector describes unauthenticated network reachability, but practical reachability depends on an accessible, configured Linux SCSI target path.
Researcher notes
The failure occurs during cleanup after destination resolution fails, making the NULL dereference the documented root cause. The source bundle supports denial of service only. Exact triggering prerequisites, distribution-specific affected ranges, exploit reliability, and broader consequences are not established and should not be inferred.
Mitigation direction
Update to a vendor-supported kernel containing the referenced NULL-check fix.
Prioritize network-accessible systems providing Linux SCSI target services.
If immediate patching is impossible, consult distribution guidance for supported temporary risk-reduction measures.
Validation and detection
Inventory deployed kernel versions and identify systems using the Linux SCSI target subsystem.
Compare each distribution package against its security advisory and the referenced stable fix commits.
Review kernel logs for dest_tpg lookup failures, paging requests, or target_core_mod crashes.
After updating, confirm the corrected kernel is active and test legitimate persistent-reservation operations.
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-2025-38399 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.
1CVSS vectors
3Timeline events
1ADP providers
10Source links
CVSS vector scores
1 official score
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.