Description
In the Linux kernel, the following vulnerability has been resolved: HID: nintendo: stop device IO before hid_hw_stop on probe failure nintendo_hid_probe() calls hid_device_io_start() before joycon_init() and joycon_leds_create(). If either fails, the error path jumps to err_close which calls hid_hw_close()/hid_hw_stop() without first calling hid_device_io_stop(). hid_hw_stop() does not stop device IO, so hid_input_report() may still run and access driver data that is being torn down, resulting in a use-after-free. Add an err_io_stop label that calls hid_device_io_stop() before hid_hw_close(), and point the two post-io_start error paths at it.
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
2af16c1f846bd60240745bbd3afa13d5f040c61a to < c2f3d51c7f5222f5b51e0c90f02258d82e1b44ddaffected2af16c1f846bd60240745bbd3afa13d5f040c61a to < c023443f0e6cfd257846b6515c93c1ea08026593affected2af16c1f846bd60240745bbd3afa13d5f040c61a to < 03a84f9f88b42cd49752ec0259922b67e4b88598affected2af16c1f846bd60240745bbd3afa13d5f040c61a to < 5efcd7bbfaaec67d137c99aa0940fa34375db27faffected2af16c1f846bd60240745bbd3afa13d5f040c61a to < 13a3edf96568a0b7aacadea07c2adec53ac8f630affected2af16c1f846bd60240745bbd3afa13d5f040c61a to < 2e0d98dc8a6dea5fc2b72bf66e0dcbd5488644b4affected2af16c1f846bd60240745bbd3afa13d5f040c61a to < 1f74d3bff6fe04a64e02ab3661d2e0d554565aa6affected
Linux Linux
Default version status: affected
5.16affected0 to < 5.16unaffected6.1.187 to ≤ 6.1.*unaffected6.6.156 to ≤ 6.6.*unaffected6.12.106 to ≤ 6.12.*unaffected6.18.47 to ≤ 6.18.*unaffected7.1.11 to ≤ 7.1.*unaffected7.2.1 to ≤ 7.2.*unaffected7.3 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/c2f3d51c7f5222f5b51e0c90f02258d82e1b44dd ↗
- https://git.kernel.org/stable/c/c023443f0e6cfd257846b6515c93c1ea08026593 ↗
- https://git.kernel.org/stable/c/03a84f9f88b42cd49752ec0259922b67e4b88598 ↗
- https://git.kernel.org/stable/c/5efcd7bbfaaec67d137c99aa0940fa34375db27f ↗
- https://git.kernel.org/stable/c/13a3edf96568a0b7aacadea07c2adec53ac8f630 ↗
- https://git.kernel.org/stable/c/2e0d98dc8a6dea5fc2b72bf66e0dcbd5488644b4 ↗
- https://git.kernel.org/stable/c/1f74d3bff6fe04a64e02ab3661d2e0d554565aa6 ↗