| From bippy-5f407fcff5a0 Mon Sep 17 00:00:00 2001 |
| From: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| To: <linux-cve-announce@vger.kernel.org> |
| Reply-to: <cve@kernel.org>, <linux-kernel@vger.kernel.org> |
| Subject: CVE-2023-52679: of: Fix double free in of_parse_phandle_with_args_map |
| |
| Description |
| =========== |
| |
| In the Linux kernel, the following vulnerability has been resolved: |
| |
| of: Fix double free in of_parse_phandle_with_args_map |
| |
| In of_parse_phandle_with_args_map() the inner loop that |
| iterates through the map entries calls of_node_put(new) |
| to free the reference acquired by the previous iteration |
| of the inner loop. This assumes that the value of "new" is |
| NULL on the first iteration of the inner loop. |
| |
| Make sure that this is true in all iterations of the outer |
| loop by setting "new" to NULL after its value is assigned to "cur". |
| |
| Extend the unittest to detect the double free and add an additional |
| test case that actually triggers this path. |
| |
| The Linux kernel CVE team has assigned CVE-2023-52679 to this issue. |
| |
| |
| Affected and fixed versions |
| =========================== |
| |
| Issue introduced in 4.17 with commit bd6f2fd5a1d52198468c5cdc3c2472362dff5aaa and fixed in 4.19.306 with commit 26b4d702c44f9e5cf3c5c001ae619a4a001889db |
| Issue introduced in 4.17 with commit bd6f2fd5a1d52198468c5cdc3c2472362dff5aaa and fixed in 5.4.268 with commit a0a061151a6200c13149dbcdb6c065203c8425d2 |
| Issue introduced in 4.17 with commit bd6f2fd5a1d52198468c5cdc3c2472362dff5aaa and fixed in 5.10.209 with commit d5f490343c77e6708b6c4aa7dbbfbcbb9546adea |
| Issue introduced in 4.17 with commit bd6f2fd5a1d52198468c5cdc3c2472362dff5aaa and fixed in 5.15.148 with commit 4541004084527ce9e95a818ebbc4e6b293ffca21 |
| Issue introduced in 4.17 with commit bd6f2fd5a1d52198468c5cdc3c2472362dff5aaa and fixed in 6.1.75 with commit b9d760dae5b10e73369b769073525acd7b3be2bd |
| Issue introduced in 4.17 with commit bd6f2fd5a1d52198468c5cdc3c2472362dff5aaa and fixed in 6.6.14 with commit b64d09a4e8596f76d27f4b4a90a1cf6baf6a82f8 |
| Issue introduced in 4.17 with commit bd6f2fd5a1d52198468c5cdc3c2472362dff5aaa and fixed in 6.7.2 with commit cafa992134124e785609a406da4ff2b54052aff7 |
| Issue introduced in 4.17 with commit bd6f2fd5a1d52198468c5cdc3c2472362dff5aaa and fixed in 6.8 with commit 4dde83569832f9377362e50f7748463340c5db6b |
| |
| Please see https://www.kernel.org for a full list of currently supported |
| kernel versions by the kernel community. |
| |
| Unaffected versions might change over time as fixes are backported to |
| older supported kernel versions. The official CVE entry at |
| https://cve.org/CVERecord/?id=CVE-2023-52679 |
| will be updated if fixes are backported, please check that for the most |
| up to date information about this issue. |
| |
| |
| Affected files |
| ============== |
| |
| The file(s) affected by this issue are: |
| drivers/of/base.c |
| drivers/of/unittest-data/tests-phandle.dtsi |
| drivers/of/unittest.c |
| |
| |
| Mitigation |
| ========== |
| |
| The Linux kernel CVE team recommends that you update to the latest |
| stable kernel version for this, and many other bugfixes. Individual |
| changes are never tested alone, but rather are part of a larger kernel |
| release. Cherry-picking individual commits is not recommended or |
| supported by the Linux kernel community at all. If however, updating to |
| the latest release is impossible, the individual changes to resolve this |
| issue can be found at these commits: |
| https://git.kernel.org/stable/c/26b4d702c44f9e5cf3c5c001ae619a4a001889db |
| https://git.kernel.org/stable/c/a0a061151a6200c13149dbcdb6c065203c8425d2 |
| https://git.kernel.org/stable/c/d5f490343c77e6708b6c4aa7dbbfbcbb9546adea |
| https://git.kernel.org/stable/c/4541004084527ce9e95a818ebbc4e6b293ffca21 |
| https://git.kernel.org/stable/c/b9d760dae5b10e73369b769073525acd7b3be2bd |
| https://git.kernel.org/stable/c/b64d09a4e8596f76d27f4b4a90a1cf6baf6a82f8 |
| https://git.kernel.org/stable/c/cafa992134124e785609a406da4ff2b54052aff7 |
| https://git.kernel.org/stable/c/4dde83569832f9377362e50f7748463340c5db6b |