| 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-38602: ax25: Fix reference count leak issues of ax25_dev |
| |
| Description |
| =========== |
| |
| In the Linux kernel, the following vulnerability has been resolved: |
| |
| ax25: Fix reference count leak issues of ax25_dev |
| |
| The ax25_addr_ax25dev() and ax25_dev_device_down() exist a reference |
| count leak issue of the object "ax25_dev". |
| |
| Memory leak issue in ax25_addr_ax25dev(): |
| |
| The reference count of the object "ax25_dev" can be increased multiple |
| times in ax25_addr_ax25dev(). This will cause a memory leak. |
| |
| Memory leak issues in ax25_dev_device_down(): |
| |
| The reference count of ax25_dev is set to 1 in ax25_dev_device_up() and |
| then increase the reference count when ax25_dev is added to ax25_dev_list. |
| As a result, the reference count of ax25_dev is 2. But when the device is |
| shutting down. The ax25_dev_device_down() drops the reference count once |
| or twice depending on if we goto unlock_put or not, which will cause |
| memory leak. |
| |
| As for the issue of ax25_addr_ax25dev(), it is impossible for one pointer |
| to be on a list twice. So add a break in ax25_addr_ax25dev(). As for the |
| issue of ax25_dev_device_down(), increase the reference count of ax25_dev |
| once in ax25_dev_device_up() and decrease the reference count of ax25_dev |
| after it is removed from the ax25_dev_list. |
| |
| The Linux kernel CVE team has assigned CVE-2024-38602 to this issue. |
| |
| |
| Affected and fixed versions |
| =========================== |
| |
| Issue introduced in 5.17 with commit d01ffb9eee4af165d83b08dd73ebdf9fe94a519b and fixed in 6.1.93 with commit ae467750a3765dd1092eb29f58247950a2f9b60c |
| Issue introduced in 5.17 with commit d01ffb9eee4af165d83b08dd73ebdf9fe94a519b and fixed in 6.6.33 with commit 38eb01edfdaa1562fa00429be2e33f45383b1b3a |
| Issue introduced in 5.17 with commit d01ffb9eee4af165d83b08dd73ebdf9fe94a519b and fixed in 6.8.12 with commit 81d8240b0a243b3ddd8fa8aa172f1acc2f7cc8f3 |
| Issue introduced in 5.17 with commit d01ffb9eee4af165d83b08dd73ebdf9fe94a519b and fixed in 6.9.3 with commit 1ea02699c7557eeb35ccff2bd822de1b3e09d868 |
| Issue introduced in 5.17 with commit d01ffb9eee4af165d83b08dd73ebdf9fe94a519b and fixed in 6.10 with commit b505e0319852b08a3a716b64620168eab21f4ced |
| Issue introduced in 4.14.277 with commit ef0a2a0565727a48f2e36a2c461f8b1e3a61922d |
| Issue introduced in 4.19.240 with commit e2b558fe507a1ed4c43db2b0057fc6e41f20a14c |
| Issue introduced in 5.4.190 with commit 418993bbaafb0cd48f904ba68eeda052d624c821 |
| Issue introduced in 5.10.112 with commit 5ea00fc60676c0eebfa8560ec461209d638bca9d |
| Issue introduced in 5.15.35 with commit 9af0fd5c4453a44c692be0cbb3724859b75d739b |
| |
| 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-38602 |
| 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: |
| net/ax25/ax25_dev.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/ae467750a3765dd1092eb29f58247950a2f9b60c |
| https://git.kernel.org/stable/c/38eb01edfdaa1562fa00429be2e33f45383b1b3a |
| https://git.kernel.org/stable/c/81d8240b0a243b3ddd8fa8aa172f1acc2f7cc8f3 |
| https://git.kernel.org/stable/c/1ea02699c7557eeb35ccff2bd822de1b3e09d868 |
| https://git.kernel.org/stable/c/b505e0319852b08a3a716b64620168eab21f4ced |