CVE-2024-35879 of: dynamic: Synchronize of_changeset_destroy() with the devlink removals
A race condition in the Linux kernel's device tree handling can cause memory leaks and potential system instability during device removal.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Local or same network only
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2024-35879?
CVE-2024-35879 is a high-severity memory corruption vulnerability in Debian Debian Linux, published on 19 May 2024. It can only be exploited from the same machine or local network, with no action from the victim.
Official description
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.
Weakness: CWE-401
Which versions are affected by CVE-2024-35879?
It affects 2 products.
Products include Debian Debian Linux, Linux kernel.
How do I fix CVE-2024-35879?
Apply the vendor's patch.
Upgrade to the fixed version. Memory-safe languages, compiler hardening and fuzzing prevent most new cases. More about Memory corruption.
Is CVE-2024-35879 being exploited?
There is no known exploitation of CVE-2024-35879 in the wild and no public exploit code.
Other vulnerabilities in Debian Debian Linux
Sources
Also known as BELL-CVE-2024-35879, DEBIAN-CVE-2024-35879, GHSA-x58g-pgf5-4jp7, UBUNTU-CVE-2024-35879.