Description
In the Linux kernel, the following vulnerability has been resolved: HID: alps: fix use-after-free on input2 registration failure alps_input_configured() stores data->input2 before calling input_register_device(). If registration fails, input_free_device() frees the input device but data->input2 still points to the freed memory. alps_input_configured() calls hid_hw_open() before allocating input2, so URBs are already active and raw_event can fire during the failure window. A U1_SP_ABSOLUTE_REPORT_ID report arriving then causes u1_raw_event() to dereference the freed data->input2 -> use-after-free. Fix by only storing input2 into drvdata after successful registration and adding a NULL guard in the raw_event path.
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
2562756dde550901c224e3805102bdfc17e7d13a to < 64f824dccfd316fd3db8ea1cc4e8a76ad6a02740affected2562756dde550901c224e3805102bdfc17e7d13a to < 2e55d76e6e8a756f6d87c241de975599f82b02faaffected2562756dde550901c224e3805102bdfc17e7d13a to < ef8ca5bb4c8b9696f38b1bebce1c851baa02b77baffected2562756dde550901c224e3805102bdfc17e7d13a to < 5a8ad63158165bacd6a1d7420e0fe5364c913b06affected2562756dde550901c224e3805102bdfc17e7d13a to < 47e5e177e9e4e10da6f2759d5ce8d049e33efdc4affected2562756dde550901c224e3805102bdfc17e7d13a to < 925da1d2a24787f24872de13a4680437c54de179affected2562756dde550901c224e3805102bdfc17e7d13a to < 443f6b93442b10b972a16f57ceaaea75b77892b6affected2562756dde550901c224e3805102bdfc17e7d13a to < d3aba3442798ce4a4c8ce3104d7b286d61e605f9affected
Linux Linux
Default version status: affected
4.8affected0 to < 4.8unaffected5.10.271 to ≤ 5.10.*unaffected5.15.222 to ≤ 5.15.*unaffected6.1.189 to ≤ 6.1.*unaffected6.6.158 to ≤ 6.6.*unaffected6.12.112 to ≤ 6.12.*unaffected6.18.55 to ≤ 6.18.*unaffected7.2.9 to ≤ 7.2.*unaffected7.3 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/64f824dccfd316fd3db8ea1cc4e8a76ad6a02740 ↗
- https://git.kernel.org/stable/c/2e55d76e6e8a756f6d87c241de975599f82b02fa ↗
- https://git.kernel.org/stable/c/ef8ca5bb4c8b9696f38b1bebce1c851baa02b77b ↗
- https://git.kernel.org/stable/c/5a8ad63158165bacd6a1d7420e0fe5364c913b06 ↗
- https://git.kernel.org/stable/c/47e5e177e9e4e10da6f2759d5ce8d049e33efdc4 ↗
- https://git.kernel.org/stable/c/925da1d2a24787f24872de13a4680437c54de179 ↗
- https://git.kernel.org/stable/c/443f6b93442b10b972a16f57ceaaea75b77892b6 ↗
- https://git.kernel.org/stable/c/d3aba3442798ce4a4c8ce3104d7b286d61e605f9 ↗