Description
In the Linux kernel, the following vulnerability has been resolved: net: mana: fix use-after-free in add_adev() error path If auxiliary_device_add() fails, add_adev() jumps to add_fail and calls auxiliary_device_uninit(adev). The auxiliary device has its release callback set to adev_release(), which frees the containing struct mana_adev. Since adev is embedded in struct mana_adev, the subsequent fall-through to init_fail and access to adev->id may result in a use-after-free. Fix this by saving the allocated auxiliary device id in a local variable before calling auxiliary_device_add(), and use that saved id in the cleanup path after auxiliary_device_uninit().
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
a69839d4327d053b18d8e1b0e7ddeee78db78f4f to < d88541ffd56d62a61e77209080001eddd4d69815affecteda69839d4327d053b18d8e1b0e7ddeee78db78f4f to < 43f5b19fd190fea20d052bc84741b28031d5baa9affecteda69839d4327d053b18d8e1b0e7ddeee78db78f4f to < 5f4061f8225d18695e5afe9bbf1cb7bd673d7872affecteda69839d4327d053b18d8e1b0e7ddeee78db78f4f to < e5a75bf026c686b91a7dc6f9c5caf5016745d1feaffecteda69839d4327d053b18d8e1b0e7ddeee78db78f4f to < c4ea7d8907cf72b259bf70bd8c2e791e1c4ff70faffected
Linux Linux
Default version status: affected
6.2affected0 to < 6.2unaffected6.6.134 to ≤ 6.6.*unaffected6.12.81 to ≤ 6.12.*unaffected6.18.22 to ≤ 6.18.*unaffected6.19.12 to ≤ 6.19.*unaffected7.0 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/d88541ffd56d62a61e77209080001eddd4d69815 ↗
- https://git.kernel.org/stable/c/43f5b19fd190fea20d052bc84741b28031d5baa9 ↗
- https://git.kernel.org/stable/c/5f4061f8225d18695e5afe9bbf1cb7bd673d7872 ↗
- https://git.kernel.org/stable/c/e5a75bf026c686b91a7dc6f9c5caf5016745d1fe ↗
- https://git.kernel.org/stable/c/c4ea7d8907cf72b259bf70bd8c2e791e1c4ff70f ↗