What’s Vulnerable › Vulnerabilities
CVE-2021-46904: net: hso: fix null-ptr-deref during tty device unregistration
- Severity: medium (CVSS 5.5 v3.1)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 0.3% probability of exploitation in the next 30 days
- Public exploit or detection template: none known
- Published: 2024-02-26 · updated 2026-06-17
- Weakness: CWE-476
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
- Linux kernel: from 2.6.27 before 4.4.268; from 4.5.0 before 4.9.268; from 4.10.0 before 4.14.232; from 4.15.0 before 4.19.187; from 4.20.0 before 5.4.112; from 5.5.0 before 5.10.30 — fixed in 4.14.232, 4.19.187, 4.4.268, 4.9.268, 5.10.30, 5.11.14
How to fix
Upgrade to a fixed version: Linux kernel 4.14.232, 4.19.187, 4.4.268, 4.9.268. Check the vendor advisory for mitigations.
References
- https://git.kernel.org/stable/c/145c89c441d27696961752bf51b323f347601bee
- https://git.kernel.org/stable/c/388d05f70f1ee0cac4a2068fd295072f1a44152a
- https://git.kernel.org/stable/c/4a2933c88399c0ebc738db39bbce3ae89786d723
- https://git.kernel.org/stable/c/8a12f8836145ffe37e9c8733dce18c22fb668b66
- https://git.kernel.org/stable/c/92028d7a31e55d53e41cff679156b9432cffcb36
- https://git.kernel.org/stable/c/a462067d7c8e6953a733bf5ade8db947b1bb5449
- https://git.kernel.org/stable/c/caf5ac93b3b5d5fac032fc11fbea680e115421b4
- https://git.kernel.org/stable/c/dc195928d7e4ec7b5cfc6cd10dc4c8d87a7c72ac
- https://git.kernel.org/stable/c/145c89c441d27696961752bf51b323f347601bee
- https://git.kernel.org/stable/c/388d05f70f1ee0cac4a2068fd295072f1a44152a
- https://git.kernel.org/stable/c/4a2933c88399c0ebc738db39bbce3ae89786d723
- https://git.kernel.org/stable/c/8a12f8836145ffe37e9c8733dce18c22fb668b66
Get alerted when CVE-2021-46904 or the next vulnerability affects your stack