CVE-2024-35879: of: dynamic: Synchronize of_changeset_destroy() with the devlink removals
In the Linux kernel, the following vulnerability has been resolved:
of: dynamic: Synchronize of_changeset_destroy() with the devlink removals
In the following sequence:
1) of_platform_depopulate()
2) of_overlay_remove()
During the step 1, devices are destroyed and devlinks are removed.
During the step 2, OF nodes are destroyed but
__of_changeset_entry_destroy() can raise warnings related to missing
of_node_put():
ERROR: memory leak, expected refcount 1 instead of 2 ...
Indeed, during the devlink removals performed at step 1, the removal
itself releasing the device (and the attached of_node) is done by a job
queued in a workqueue and so, it is done asynchronously with respect to
function calls.
When the warning is present, of_node_put() will be called but wrongly
too late from the workqueue job.
In order to be sure that any ongoing devlink removals are done before
the of_node destruction, synchronize the of_changeset_destroy() with the
devlink removals.
Security readout for executives and security teams
Plain-English summary
A Linux kernel race can destroy device-tree nodes before asynchronous device-link cleanup finishes. This may produce reference-count warnings and memory-management errors. The supplied CVSS rates potential confidentiality, integrity, and availability impact as high, but the source bundle does not document a practical attack or observed compromise.
Executive priority
Treat this as a high-priority kernel maintenance issue for exposed device-tree workloads, especially embedded or hardware-management systems. Expedite vendor-supported updates where affected functionality is used. Broader emergency response is not supported by the supplied evidence because exploitation is not documented and local access is required.
Technical view
The affected sequence calls of_platform_depopulate() before of_overlay_remove(). Device-link removal releases devices and attached OF nodes asynchronously through a workqueue, allowing __of_changeset_entry_destroy() to run too early. The stable fix synchronizes of_changeset_destroy() with pending device-link removals so OF node destruction occurs after cleanup.
Likely exposure
Exposure is most relevant to listed affected Linux kernels on systems using dynamic device-tree overlays and platform-device depopulation. The CVSS vector requires local access and low privileges. Distribution kernels may contain backports despite their displayed version, so version strings alone are insufficient to determine exposure.
Exploitation context
CISA KEV status is false, and the supplied sources provide no evidence of active exploitation or a public exploit. The CVSS vector describes a local, low-privilege condition requiring no user interaction. Evidence establishes a cleanup race and memory-management warning, but does not explain a reliable path to the scored security impacts.
Researcher notes
The central issue is ordering between synchronous OF changeset destruction and asynchronous device-link cleanup. Assessment should verify reachability of the stated call sequence and whether the fix commits were backported. The source bundle does not identify a CWE, exploit primitive, affected hardware scope, or demonstrated route from the warning to confidentiality, integrity, or availability loss.
Mitigation direction
Install a vendor-supported kernel containing the applicable stable fix or backport.
Review Linux distribution security advisories for the exact packaged kernel build.
Prioritize systems that dynamically remove device-tree overlays or depopulate platform devices.
If immediate updating is impossible, consult vendor guidance about limiting affected device-tree operations.
Validation and detection
Inventory running kernel versions and distribution package revisions across Linux systems.
Confirm whether each packaged kernel includes the relevant upstream stable fix or backport.
Identify workloads using dynamic device-tree overlays and platform-device depopulation.
Review kernel logs for OF node reference-count or memory-leak warnings during device removal.
After updating, repeat authorized lifecycle testing and verify the warnings no longer occur.
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-35879 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.
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.