Description
In the Linux kernel, the following vulnerability has been resolved: usb: cdns3: gadget: Use-after-free during failed initialization and exit of cdnsp gadget In the __cdnsp_gadget_init() and cdnsp_gadget_exit() functions, the gadget structure (pdev->gadget) was freed before its endpoints. The endpoints are linked via the ep_list in the gadget structure. Freeing the gadget first leaves dangling pointers in the endpoint list. When the endpoints are subsequently freed, this results in a use-after-free. Fix: By separating the usb_del_gadget_udc() operation into distinct "del" and "put" steps, cdnsp_gadget_free_endpoints() can be executed prior to the final release of the gadget structure with usb_put_gadget(). A patch similar to bb9c74a5bd14("usb: dwc3: gadget: Free gadget structure only after freeing endpoints").
Product status
1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 (git) before 0cf9a50af91fbdac3849f8d950e883a3eaa3ecea
1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 (git) before 37158ce6ba964b62d1e3eebd11f03c6900a52dd1
1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 (git) before ea37884097a0931abb8e11e40eacfb25e9fdb5e9
1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 (git) before 9c52f01429c377a2d32cafc977465f37b5384f77
1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 (git) before fdf573c517627a96f5040f988e9b21267806be5c
1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 (git) before 87c5ff5615dc0a37167e8faf3adeeddc6f1344a3
5.15.197 (semver)
6.1.159 (semver)
6.6.117 (semver)
6.12.58 (semver)
6.17.8 (semver)
6.18 (original_commit_for_fix)
References
git.kernel.org/...c/0cf9a50af91fbdac3849f8d950e883a3eaa3ecea
git.kernel.org/...c/37158ce6ba964b62d1e3eebd11f03c6900a52dd1
git.kernel.org/...c/ea37884097a0931abb8e11e40eacfb25e9fdb5e9
git.kernel.org/...c/9c52f01429c377a2d32cafc977465f37b5384f77
git.kernel.org/...c/fdf573c517627a96f5040f988e9b21267806be5c
git.kernel.org/...c/87c5ff5615dc0a37167e8faf3adeeddc6f1344a3