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 doesnt 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.
A NULL pointer dereference occurs when the application dereferences a pointer that it expects to be valid, but is NULL, typically causing a crash or exit.
Name | Vendor | Start Version | End Version |
---|---|---|---|
Linux_kernel | Linux | 2.6.27 (including) | 4.4.268 (excluding) |
Linux_kernel | Linux | 4.5.0 (including) | 4.9.268 (excluding) |
Linux_kernel | Linux | 4.10.0 (including) | 4.14.232 (excluding) |
Linux_kernel | Linux | 4.15.0 (including) | 4.19.187 (excluding) |
Linux_kernel | Linux | 4.20.0 (including) | 5.4.112 (excluding) |
Linux_kernel | Linux | 5.5.0 (including) | 5.10.30 (excluding) |
Linux_kernel | Linux | 5.11.0 (including) | 5.11.14 (excluding) |