LiveActive security incident?Get immediate response
CVE Record

CVE-2025-39870: dmaengine: idxd: Fix double free in idxd_setup_wqs()

In the Linux kernel, the following vulnerability has been resolved: dmaengine: idxd: Fix double free in idxd_setup_wqs() The clean up in idxd_setup_wqs() has had a couple bugs because the error handling is a bit subtle. It's simpler to just re-write it in a cleaner way. The issues here are: 1) If "idxd->max_wqs" is <= 0 then we call put_device(conf_dev) when "conf_dev" hasn't been initialized. 2) If kzalloc_node() fails then again "conf_dev" is invalid. It's either uninitialized or it points to the "conf_dev" from the previous iteration so it leads to a double free. It's better to free partial loop iterations within the loop and then the unwinding at the end can handle whole loop iterations. I also renamed the labels to describe what the goto does and not where the goto was located.

UnknownCVSS not scoredNot KEV-listedUpdated
Glexia's TakeAutomated analysisunknown

Security readout for executives and security teams

Plain-English summary

This is a Linux kernel memory-management bug in the idxd dmaengine driver setup path. Under specific setup failure conditions, cleanup can reference an invalid device object or free it twice. The sources confirm a resolved kernel bug, but provide no CVSS score, exploit evidence, or complete impact statement.

Executive priority

Treat this as a kernel maintenance item requiring timely patch planning, not emergency response based on current evidence. Priority should rise for systems using affected kernel branches and idxd functionality, especially where kernel instability would affect critical services.

Technical view

CVE-2025-39870 fixes flawed error unwinding in idxd_setup_wqs(). If idxd->max_wqs <= 0 or kzalloc_node() fails, conf_dev may be uninitialized, stale from a prior loop iteration, or freed twice. The fix rewrites cleanup handling for partial and complete loop iterations.

Likely exposure

Exposure appears limited to Linux systems using affected kernels with the idxd dmaengine code present and reachable. The provided version data is incomplete for precise fleet matching, so kernel vendor advisories and package metadata should drive final exposure decisions.

Exploitation context

The bundle does not show active exploitation, public exploit availability, or KEV listing. Triggerability depends on kernel configuration and idxd setup error paths, which the provided sources do not fully describe.

Researcher notes

The evidence supports a cleanup-path double free or invalid put_device() condition, but not exploitability class, privileges required, or reachable attack surface. Validate by source-level diffing the referenced stable commits and comparing downstream vendor backports.

Mitigation direction

  • Apply vendor kernel updates that include the referenced stable fixes.
  • For Debian LTS, review and apply the Debian advisory update if applicable.
  • Prioritize hosts with idxd-related kernel support enabled or hardware dependency.
  • If no package is available, follow kernel vendor guidance for backported fixes.

Validation and detection

  • Inventory Linux kernel versions and vendor package revisions across affected hosts.
  • Check whether installed kernels include the referenced stable commits or vendor backports.
  • Review kernel configuration and loaded modules for idxd dmaengine exposure.
  • Confirm Debian systems against the listed Debian LTS advisory.
  • Document any systems awaiting vendor guidance or maintenance windows.
Prepared
Confidence
medium
Sources
8

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-39870 mapping review

Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.

Open ATT&CK lookup
Vulnerability profileCVE Program record
Severity
Unknown
CVSS
Not scored
Known Exploited
No
Published
Official CVE source material

CNA and ADP enrichment extracted from CVE v5

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
1ADP providers
7Source links

Vulnerability timeline

Timeline events are normalized from CVE metadata, CNA source timelines, ADP timelines, and KEV metadata when present.

  1. CVE reservedCVE Program

    The CVE ID was reserved by the assigning CNA.

  2. CVE publishedCVE Program

    The CVE record was published.

  3. CVE updatedCVE Program

    The CVE record metadata indicates this as the latest update time.

ADP provider summaries

CVECVE Program Container
Affected products

Products and packages named in the record

VendorProductVersion / packageStatus
LinuxLinuxd584acdf54f409cb7eae1359ae6c12aaabedeed8, 47846211998a9ffb0fcc08092eb95ac783d2b11a, 5fcd392dae6d6aba7dc64ffdbb838ff191315da3, 3fd2f4bc010cdfbc07dd21018dc65bd9370eb7a4, 3fd2f4bc010cdfbc07dd21018dc65bd9370eb7a4, ed2c66000aa64c0d2621864831f0d04c820a1441, 6.1.140, 6.6.92, 6.12.30, 6.14.8unaffected
LinuxLinux6.15, 0, 6.1.153, 6.6.107, 6.12.48, 6.16.8, 6.17affected
Weakness

CWE details

No CWE listed

CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.