CVE-2024-50269

Updated on 19 Nov 2024

Severity

7.8 High severity

Details

CVSS score
7.8
CVSS vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

Overview

About vulnerability

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().

Details

Affected packages:
kernel @ 4.18.0 (+8 more)

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().

Fixes