CVE Vulnerabilities

CVE-2021-46904

NULL Pointer Dereference

Published: Feb 26, 2024 | Modified: Apr 17, 2024
CVSS 3.x
5.5
MEDIUM
Source:
NVD
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
CVSS 2.x
RedHat/V2
RedHat/V3
Ubuntu

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.

Weakness

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.

Affected Software

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)

Potential Mitigations

References