Description
In the Linux kernel, the following vulnerability has been resolved: net: hso: fix null-ptr-deref during tty device unregistration Multiple ttys try to claim the same the minor number causing a double unregistration of the same device. The first unregistration succeeds but the next one results in a null-ptr-deref. The get_free_serial_index() function returns an available minor number but doesn't assign it immediately. The assignment is done by the caller later. But before this assignment, calls to get_free_serial_index() would return the same minor number. Fix this by modifying get_free_serial_index to assign the minor number immediately after one is found to be and rename it to obtain_minor() to better reflect what it does. Similary, rename set_serial_by_index() to release_minor() and modify it to free up the minor number of the given hso_serial. Every obtain_minor() should have corresponding release_minor() call.
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
72dc1c096c7051a48ab1dbb12f71976656b55eb5 to < a462067d7c8e6953a733bf5ade8db947b1bb5449affected72dc1c096c7051a48ab1dbb12f71976656b55eb5 to < 145c89c441d27696961752bf51b323f347601beeaffected72dc1c096c7051a48ab1dbb12f71976656b55eb5 to < caf5ac93b3b5d5fac032fc11fbea680e115421b4affected72dc1c096c7051a48ab1dbb12f71976656b55eb5 to < 92028d7a31e55d53e41cff679156b9432cffcb36affected72dc1c096c7051a48ab1dbb12f71976656b55eb5 to < 4a2933c88399c0ebc738db39bbce3ae89786d723affected72dc1c096c7051a48ab1dbb12f71976656b55eb5 to < dc195928d7e4ec7b5cfc6cd10dc4c8d87a7c72acaffected72dc1c096c7051a48ab1dbb12f71976656b55eb5 to < 388d05f70f1ee0cac4a2068fd295072f1a44152aaffected72dc1c096c7051a48ab1dbb12f71976656b55eb5 to < 8a12f8836145ffe37e9c8733dce18c22fb668b66affected
Linux Linux
Default version status: affected
2.6.27affected0 to < 2.6.27unaffected4.4.268 to ≤ 4.4.*unaffected4.9.268 to ≤ 4.9.*unaffected4.14.232 to ≤ 4.14.*unaffected4.19.187 to ≤ 4.19.*unaffected5.4.112 to ≤ 5.4.*unaffected5.10.30 to ≤ 5.10.*unaffected5.11.14 to ≤ 5.11.*unaffected5.12 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/a462067d7c8e6953a733bf5ade8db947b1bb5449 ↗
- https://git.kernel.org/stable/c/145c89c441d27696961752bf51b323f347601bee ↗
- https://git.kernel.org/stable/c/caf5ac93b3b5d5fac032fc11fbea680e115421b4 ↗
- https://git.kernel.org/stable/c/92028d7a31e55d53e41cff679156b9432cffcb36 ↗
- https://git.kernel.org/stable/c/4a2933c88399c0ebc738db39bbce3ae89786d723 ↗
- https://git.kernel.org/stable/c/dc195928d7e4ec7b5cfc6cd10dc4c8d87a7c72ac ↗
- https://git.kernel.org/stable/c/388d05f70f1ee0cac4a2068fd295072f1a44152a ↗
- https://git.kernel.org/stable/c/8a12f8836145ffe37e9c8733dce18c22fb668b66 ↗