CVE-2024-40945: iommu: Return right value in iommu_sva_bind_device()
In the Linux kernel, the following vulnerability has been resolved:
iommu: Return right value in iommu_sva_bind_device()
iommu_sva_bind_device() should return either a sva bond handle or an
ERR_PTR value in error cases. Existing drivers (idxd and uacce) only
check the return value with IS_ERR(). This could potentially lead to
a kernel NULL pointer dereference issue if the function returns NULL
instead of an error pointer.
In reality, this doesn't cause any problems because iommu_sva_bind_device()
only returns NULL when the kernel is not configured with CONFIG_IOMMU_SVA.
In this case, iommu_dev_enable_feature(dev, IOMMU_DEV_FEAT_SVA) will
return an error, and the device drivers won't call iommu_sva_bind_device()
at all.
Security readout for executives and security teams
Plain-English summary
This Linux kernel issue is a defensive correctness fix. A kernel helper could return NULL where callers expected an error pointer, creating a possible NULL pointer dereference. The kernel description says the known call path does not actually trigger the problem because drivers avoid the call when SVA support is unavailable.
Executive priority
Handle through normal kernel patch management. There is no source evidence of exploitation, and upstream describes the practical trigger as blocked by existing driver behavior. Prioritize higher if a vendor advisory maps this CVE to critical infrastructure or regulated systems you operate.
Technical view
iommu_sva_bind_device() should return an SVA bond handle or ERR_PTR on failure. Existing idxd and uacce callers check IS_ERR(), so a NULL return could be mishandled. The source notes NULL only occurs without CONFIG_IOMMU_SVA, where iommu_dev_enable_feature() fails first and prevents the bind call.
Likely exposure
Exposure is limited to Linux kernels listed in the CVE record and downstream products that ship those kernels. Practical impact appears constrained by kernel configuration and driver behavior. Debian LTS and Siemens advisories indicate downstream tracking, but the bundle does not define broader product impact beyond those references.
Exploitation context
The bundle says KEV is false and provides no evidence of active exploitation. It also states the theoretical NULL dereference does not cause problems in reality under the known configuration path. Treat this as a maintenance kernel fix unless your vendor advisory says otherwise.
Researcher notes
The key nuance is mismatch semantics: callers use IS_ERR(), while NULL would bypass that check. Upstream explicitly limits practical reach because NULL appears only when CONFIG_IOMMU_SVA is absent and earlier feature enablement fails. No CVSS, CWE, or exploit details are provided in the bundle.
Mitigation direction
Apply vendor kernel updates that include the referenced stable fixes.
Check Debian LTS guidance if using affected Debian kernel packages.
Review Siemens advisories for affected embedded or industrial products.
Confirm vendor kernels include the upstream iommu_sva_bind_device() return-value fix.
Validation and detection
Inventory Linux kernel versions against the CVE affected-version list.
Check whether deployed kernels include one of the referenced stable commits.
Identify systems using relevant IOMMU SVA, idxd, or uacce functionality.
Review vendor advisories for product-specific fixed versions and constraints.
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-40945 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.