CVE-2024-35879CWE-401

CVE-2024-35879

High · published May 19, 2024

CVSS v3.1
7.8
EPSS
0%
Percentile
13.9
In the wild
Unconfirmed
What it is

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.

The record
Technical detail
CVSS v3.1
7.8 · HIGH
Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00237 · 13.9th percentile
Weakness
CWE-401 · Missing Release of Memory after Effective Lifetime
Published
2024-05-19T13:15Z
Affected products (14)
ProductVersionsFixed in
linux/linux_kernel≥ 5.10.42, < 5.10.2155.10.215
linux/linux_kernel≥ 5.12.9, < 5.135.13
linux/linux_kernel≥ 5.13.1, < 5.15.1545.15.154
linux/linux_kernel≥ 5.16, < 6.1.856.1.85
linux/linux_kernel≥ 6.2, < 6.6.266.6.26
linux/linux_kernel≥ 6.7, < 6.8.56.8.5
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
debian/debian_linuxall versions—
References (13)
EPSS history
Timeline
  • 19 MAY 08:34Z
    of: dynamic: Synchronize of_changeset_destroy() with the devlink removals
    cvelistv5