| 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-50269: usb: musb: sunxi: Fix accessing an released usb phy |
| |
| Description |
| =========== |
| |
| In the Linux kernel, the following vulnerability has been resolved: |
| |
| usb: musb: sunxi: Fix accessing an released usb phy |
| |
| Commit 6ed05c68cbca ("usb: musb: sunxi: Explicitly release USB PHY on |
| exit") will cause that usb phy @glue->xceiv is accessed after released. |
| |
| 1) register platform driver @sunxi_musb_driver |
| // get the usb phy @glue->xceiv |
| sunxi_musb_probe() -> devm_usb_get_phy(). |
| |
| 2) register and unregister platform driver @musb_driver |
| musb_probe() -> sunxi_musb_init() |
| use the phy here |
| //the phy is released here |
| musb_remove() -> sunxi_musb_exit() -> devm_usb_put_phy() |
| |
| 3) register @musb_driver again |
| musb_probe() -> sunxi_musb_init() |
| use the phy here but the phy has been released at 2). |
| ... |
| |
| Fixed by reverting the commit, namely, removing devm_usb_put_phy() |
| from sunxi_musb_exit(). |
| |
| The Linux kernel CVE team has assigned CVE-2024-50269 to this issue. |
| |
| |
| Affected and fixed versions |
| =========================== |
| |
| Issue introduced in 4.14 with commit 6ed05c68cbcae42cd52b8e53b66952bfa9c002ce and fixed in 4.19.324 with commit 721ddad945596220c123eb6f7126729fe277ee4f |
| Issue introduced in 4.14 with commit 6ed05c68cbcae42cd52b8e53b66952bfa9c002ce and fixed in 5.4.286 with commit 4aa77d5ea9944468e16c3eed15e858fd5de44de1 |
| Issue introduced in 4.14 with commit 6ed05c68cbcae42cd52b8e53b66952bfa9c002ce and fixed in 5.10.230 with commit 6e2848d1c8c0139161e69ac0a94133e90e9988e8 |
| Issue introduced in 4.14 with commit 6ed05c68cbcae42cd52b8e53b66952bfa9c002ce and fixed in 5.15.172 with commit 63559ba8077cbadae1c92a65b73ea522bf377dd9 |
| Issue introduced in 4.14 with commit 6ed05c68cbcae42cd52b8e53b66952bfa9c002ce and fixed in 6.1.117 with commit ccd811c304d2ee56189bfbc49302cb3c44361893 |
| Issue introduced in 4.14 with commit 6ed05c68cbcae42cd52b8e53b66952bfa9c002ce and fixed in 6.6.61 with commit 8a30da5aa9609663b3e05bcc91a916537f66a4cd |
| Issue introduced in 4.14 with commit 6ed05c68cbcae42cd52b8e53b66952bfa9c002ce and fixed in 6.11.8 with commit b08baa75b989cf779cbfa0969681f8ba2dc46569 |
| Issue introduced in 4.14 with commit 6ed05c68cbcae42cd52b8e53b66952bfa9c002ce and fixed in 6.12 with commit 498dbd9aea205db9da674994b74c7bf8e18448bd |
| Issue introduced in 4.4.95 with commit 583a4219841d00e96b5de55be160aa7eb7721a4d |
| Issue introduced in 4.9.59 with commit b4ecc15d6f5a13c0bbe2777438e87e321f83faaa |
| Issue introduced in 4.13.10 with commit a2259ebaa933331c53904caf792b619ec42f0da5 |
| |
| 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-50269 |
| 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/usb/musb/sunxi.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/721ddad945596220c123eb6f7126729fe277ee4f |
| https://git.kernel.org/stable/c/4aa77d5ea9944468e16c3eed15e858fd5de44de1 |
| https://git.kernel.org/stable/c/6e2848d1c8c0139161e69ac0a94133e90e9988e8 |
| https://git.kernel.org/stable/c/63559ba8077cbadae1c92a65b73ea522bf377dd9 |
| https://git.kernel.org/stable/c/ccd811c304d2ee56189bfbc49302cb3c44361893 |
| https://git.kernel.org/stable/c/8a30da5aa9609663b3e05bcc91a916537f66a4cd |
| https://git.kernel.org/stable/c/b08baa75b989cf779cbfa0969681f8ba2dc46569 |
| https://git.kernel.org/stable/c/498dbd9aea205db9da674994b74c7bf8e18448bd |