CVE-2024-35879
of: dynamic: Synchronize of_changeset_destroy() with the devlink removals
At a glance
- Source
- NVD
- EPSS
- EPSS 0.24 % · percentile 15 ()
- State
- PUBLISHED
- Published
- Updated
- Assigner
- Linux
- NVD status
- Modified
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.
Weaknesses (CWE)
- CWE-401 — Missing Release of Memory after Effective Lifetime
References
- https://git.kernel.org/stable/c/3127b2ee50c424a96eb3559fbb7b43cf0b111c7a
- https://git.kernel.org/stable/c/3ee2424107546d882e1ddd75333ca9c32879908c
- https://git.kernel.org/stable/c/7b6df050c45a1ea158fd50bc32a8e1447dd1e951
- https://git.kernel.org/stable/c/801c8b8ec5bfb3519566dff16a5ecd48302fca82
- https://git.kernel.org/stable/c/ae6d76e4f06c37a623e357e79d49b17411db6f5c
- https://git.kernel.org/stable/c/8917e7385346bd6584890ed362985c219fe6ae84
- https://lists.debian.org/debian-lts-announce/2024/06/msg00017.html
Scores
| Version | Score | Vector | Scored by |
|---|---|---|---|
| CVSS 3.1 | HIGH 7.8 | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H | Linux |
| CVSS 3.1 | HIGH 7.8 | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H | NVD · 416baaa9-dc9f-4396-8d5f-8c081fb06d67 (Secondary) |
| CVSS 3.1 | MEDIUM 5.5 | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H | NVD · nvd@nist.gov (Primary) |
European references
- ENISA EUVD · EUVD-2024-35597
- GCVE · GCVE-0-2024-35879
CERT-FR advisories
- CERTFR-2024-AVI-0799 — Multiples vulnérabilités dans le noyau Linux d'Ubuntu · cert.ssi.gouv.fr
- CERTFR-2024-AVI-0717 — Multiples vulnérabilités dans le noyau Linux de SUSE · cert.ssi.gouv.fr
- CERTFR-2024-AVI-0645 — Multiples vulnérabilités dans le noyau Linux d'Ubuntu · cert.ssi.gouv.fr
- CERTFR-2024-AVI-0633 — Multiples vulnérabilités dans le noyau Linux d'Ubuntu · cert.ssi.gouv.fr
- CERTFR-2024-AVI-0611 — Multiples vulnérabilités dans le noyau Linux d'Ubuntu · cert.ssi.gouv.fr
- CERTFR-2024-AVI-0527 — Multiples vulnérabilités dans le noyau Linux de Debian LTS · cert.ssi.gouv.fr
- CERTFR-2024-AVI-0526 — Multiples vulnérabilités dans le noyau Linux de SUSE · cert.ssi.gouv.fr
- CERTFR-2024-AVI-0496 — Multiples vulnérabilités dans le noyau Linux de SUSE · cert.ssi.gouv.fr
Affected configurations (NVD CPE)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*≥ 5.10.42 < 5.10.215cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*≥ 5.12.9 < 5.13cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*≥ 5.13.1 < 5.15.154cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*≥ 5.16 < 6.1.85cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*≥ 6.2 < 6.6.26cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*≥ 6.7 < 6.8.5cpe:2.3:o:linux:linux_kernel:5.13:-:*:*:*:*:*:*cpe:2.3:o:linux:linux_kernel:5.13:rc4:*:*:*:*:*:*cpe:2.3:o:linux:linux_kernel:5.13:rc5:*:*:*:*:*:*cpe:2.3:o:linux:linux_kernel:5.13:rc6:*:*:*:*:*:*cpe:2.3:o:linux:linux_kernel:5.13:rc7:*:*:*:*:*:*cpe:2.3:o:linux:linux_kernel:6.9:rc1:*:*:*:*:*:*cpe:2.3:o:linux:linux_kernel:6.9:rc2:*:*:*:*:*:*cpe:2.3:o:debian:debian_linux:10.0:*:*:*:*:*:*:*
Affected products
| Product | Versions |
|---|---|
| Linux · Linux | affected d007150b4e15bfcb8d36cfd88a5645d42e44d383 < 3127b2ee50c424a96eb3559fbb7b43cf0b111c7a ; affected 80dd33cf72d1ab4f0af303f1fa242c6d6c8d328f < 3ee2424107546d882e1ddd75333ca9c32879908c ; affected 80dd33cf72d1ab4f0af303f1fa242c6d6c8d328f < 7b6df050c45a1ea158fd50bc32a8e1447dd1e951 ; affected 80dd33cf72d1ab4f0af303f1fa242c6d6c8d328f < 801c8b8ec5bfb3519566dff16a5ecd48302fca82 ; affected 80dd33cf72d1ab4f0af303f1fa242c6d6c8d328f < ae6d76e4f06c37a623e357e79d49b17411db6f5c ; affected 80dd33cf72d1ab4f0af303f1fa242c6d6c8d328f < 8917e7385346bd6584890ed362985c219fe6ae84 |
| Linux · Linux | affected 5.13 ; unaffected 0 < 5.13 ; unaffected 5.10.215 ≤ 5.10.* ; unaffected 5.15.154 ≤ 5.15.* ; unaffected 6.1.85 ≤ 6.1.* ; unaffected 6.6.26 ≤ 6.6.* |
Sources
| Source | Licence |
|---|---|
| CVE List (CVEProject cvelistV5) | CVE Program Terms of Use |
| EPSS (FIRST.org) | FIRST — attribution requested |
| ENISA EUVD | ENISA — reproduction authorised, source acknowledged |
| CERT-FR (ANSSI) | Licence Ouverte / Etalab 2.0 |
| NVD (NIST) via fkie-cad/nvd-json-data-feeds | Public domain — this product uses data from the NVD API but is not endorsed or certified by the NVD |