| 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-47705: block: fix potential invalid pointer dereference in blk_add_partition |
| |
| Description |
| =========== |
| |
| In the Linux kernel, the following vulnerability has been resolved: |
| |
| block: fix potential invalid pointer dereference in blk_add_partition |
| |
| The blk_add_partition() function initially used a single if-condition |
| (IS_ERR(part)) to check for errors when adding a partition. This was |
| modified to handle the specific case of -ENXIO separately, allowing the |
| function to proceed without logging the error in this case. However, |
| this change unintentionally left a path where md_autodetect_dev() |
| could be called without confirming that part is a valid pointer. |
| |
| This commit separates the error handling logic by splitting the |
| initial if-condition, improving code readability and handling specific |
| error scenarios explicitly. The function now distinguishes the general |
| error case from -ENXIO without altering the existing behavior of |
| md_autodetect_dev() calls. |
| |
| The Linux kernel CVE team has assigned CVE-2024-47705 to this issue. |
| |
| |
| Affected and fixed versions |
| =========================== |
| |
| Issue introduced in 5.5 with commit b72053072c0bbe9f1cdfe2ffa3c201c185da2201 and fixed in 5.10.227 with commit 4bc4272e2506941c3f3d4fb8b0c659ee814dcf6f |
| Issue introduced in 5.5 with commit b72053072c0bbe9f1cdfe2ffa3c201c185da2201 and fixed in 5.15.168 with commit cc4d21d9492db4e534d3e01253cf885c90dd2a8b |
| Issue introduced in 5.5 with commit b72053072c0bbe9f1cdfe2ffa3c201c185da2201 and fixed in 6.1.113 with commit 64cf2a39202ca2d9df5ee70eb310b6141ce2b8ed |
| Issue introduced in 5.5 with commit b72053072c0bbe9f1cdfe2ffa3c201c185da2201 and fixed in 6.6.54 with commit 80f5bfbb80ea1615290dbc24f49d3d8c86db58fe |
| Issue introduced in 5.5 with commit b72053072c0bbe9f1cdfe2ffa3c201c185da2201 and fixed in 6.10.13 with commit 652039ba477c9a4ab43740cf2cb0d068d53508c2 |
| Issue introduced in 5.5 with commit b72053072c0bbe9f1cdfe2ffa3c201c185da2201 and fixed in 6.11.2 with commit afe53ea9b378c376101d99d216f13b6256f75189 |
| Issue introduced in 5.5 with commit b72053072c0bbe9f1cdfe2ffa3c201c185da2201 and fixed in 6.12 with commit 26e197b7f9240a4ac301dd0ad520c0c697c2ea7d |
| |
| 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-47705 |
| 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: |
| block/partitions/core.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/4bc4272e2506941c3f3d4fb8b0c659ee814dcf6f |
| https://git.kernel.org/stable/c/cc4d21d9492db4e534d3e01253cf885c90dd2a8b |
| https://git.kernel.org/stable/c/64cf2a39202ca2d9df5ee70eb310b6141ce2b8ed |
| https://git.kernel.org/stable/c/80f5bfbb80ea1615290dbc24f49d3d8c86db58fe |
| https://git.kernel.org/stable/c/652039ba477c9a4ab43740cf2cb0d068d53508c2 |
| https://git.kernel.org/stable/c/afe53ea9b378c376101d99d216f13b6256f75189 |
| https://git.kernel.org/stable/c/26e197b7f9240a4ac301dd0ad520c0c697c2ea7d |