| 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-2024-43890: tracing: Fix overflow in get_free_elt() |
| |
| Description |
| =========== |
| |
| In the Linux kernel, the following vulnerability has been resolved: |
| |
| tracing: Fix overflow in get_free_elt() |
| |
| "tracing_map->next_elt" in get_free_elt() is at risk of overflowing. |
| |
| Once it overflows, new elements can still be inserted into the tracing_map |
| even though the maximum number of elements (`max_elts`) has been reached. |
| Continuing to insert elements after the overflow could result in the |
| tracing_map containing "tracing_map->max_size" elements, leaving no empty |
| entries. |
| If any attempt is made to insert an element into a full tracing_map using |
| `__tracing_map_insert()`, it will cause an infinite loop with preemption |
| disabled, leading to a CPU hang problem. |
| |
| Fix this by preventing any further increments to "tracing_map->next_elt" |
| once it reaches "tracing_map->max_elt". |
| |
| The Linux kernel CVE team has assigned CVE-2024-43890 to this issue. |
| |
| |
| Affected and fixed versions |
| =========================== |
| |
| Issue introduced in 4.7 with commit 08d43a5fa063e03c860f2f391a30c388bcbc948e and fixed in 4.19.320 with commit 302ceb625d7b990db205a15e371f9a71238de91c |
| Issue introduced in 4.7 with commit 08d43a5fa063e03c860f2f391a30c388bcbc948e and fixed in 5.4.282 with commit d3e4dbc2858fe85d1dbd2e72a9fc5dea988b5c18 |
| Issue introduced in 4.7 with commit 08d43a5fa063e03c860f2f391a30c388bcbc948e and fixed in 5.10.224 with commit eb223bf01e688dfe37e813c8988ee11c8c9f8d0a |
| Issue introduced in 4.7 with commit 08d43a5fa063e03c860f2f391a30c388bcbc948e and fixed in 5.15.165 with commit cd10d186a5409a1fe6e976df82858e9773a698da |
| Issue introduced in 4.7 with commit 08d43a5fa063e03c860f2f391a30c388bcbc948e and fixed in 6.1.105 with commit 788ea62499b3c18541fd6d621964d8fafbc4aec5 |
| Issue introduced in 4.7 with commit 08d43a5fa063e03c860f2f391a30c388bcbc948e and fixed in 6.6.46 with commit a172c7b22bc2feaf489cfc6d6865f7237134fdf8 |
| Issue introduced in 4.7 with commit 08d43a5fa063e03c860f2f391a30c388bcbc948e and fixed in 6.10.5 with commit 236bb4690773ab6869b40bedc7bc8d889e36f9d6 |
| Issue introduced in 4.7 with commit 08d43a5fa063e03c860f2f391a30c388bcbc948e and fixed in 6.11 with commit bcf86c01ca4676316557dd482c8416ece8c2e143 |
| |
| 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-2024-43890 |
| 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: |
| kernel/trace/tracing_map.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/302ceb625d7b990db205a15e371f9a71238de91c |
| https://git.kernel.org/stable/c/d3e4dbc2858fe85d1dbd2e72a9fc5dea988b5c18 |
| https://git.kernel.org/stable/c/eb223bf01e688dfe37e813c8988ee11c8c9f8d0a |
| https://git.kernel.org/stable/c/cd10d186a5409a1fe6e976df82858e9773a698da |
| https://git.kernel.org/stable/c/788ea62499b3c18541fd6d621964d8fafbc4aec5 |
| https://git.kernel.org/stable/c/a172c7b22bc2feaf489cfc6d6865f7237134fdf8 |
| https://git.kernel.org/stable/c/236bb4690773ab6869b40bedc7bc8d889e36f9d6 |
| https://git.kernel.org/stable/c/bcf86c01ca4676316557dd482c8416ece8c2e143 |