CVE-2021-46904

MediumCVSS 5.5/10Last modified Jun 17, 2026

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.

Metrics

CVSS 3.1 5.5/10CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H

Weakness enumeration

Affected software

VendorProductVersions
LinuxLinux>= 72dc1c096c7051a48ab1dbb12f71976656b55eb5, < a462067d7c8e6953a733bf5ade8db947b1bb5449; >= 72dc1c096c7051a48ab1dbb12f71976656b55eb5, < 145c89c441d27696961752bf51b323f347601bee; >= 72dc1c096c7051a48ab1dbb12f71976656b55eb5, < caf5ac93b3b5d5fac032fc11fbea680e115421b4; >= 72dc1c096c7051a48ab1dbb12f71976656b55eb5, < 92028d7a31e55d53e41cff679156b9432cffcb36; >= 72dc1c096c7051a48ab1dbb12f71976656b55eb5, < 4a2933c88399c0ebc738db39bbce3ae89786d723; >= 72dc1c096c7051a48ab1dbb12f71976656b55eb5, < dc195928d7e4ec7b5cfc6cd10dc4c8d87a7c72ac; >= 72dc1c096c7051a48ab1dbb12f71976656b55eb5, < 388d05f70f1ee0cac4a2068fd295072f1a44152a; >= 72dc1c096c7051a48ab1dbb12f71976656b55eb5, < 8a12f8836145ffe37e9c8733dce18c22fb668b66
LinuxLinux2.6.27

References

Timeline

Published
Feb 26, 2024
Last modified
Jun 17, 2026
NVD status
Modified

Related CVEs from 2021

CVE-2021-469055.5In the Linux kernel, the following vulnerability has been resolved: net: hso: fix NULL-deref on disconnect regression Commit 8a12f8836145 CVE-2021-469065.5In the Linux kernel, the following vulnerability has been resolved: HID: usbhid: fix info leak in hid_submit_ctrl In hid_submit_ctrl(), thCVE-2021-469085.5In the Linux kernel, the following vulnerability has been resolved: bpf: Use correct permission flag for mixed signed bounds arithmetic WeCVE-2021-469095.5In the Linux kernel, the following vulnerability has been resolved: ARM: footbridge: fix PCI interrupt mapping Since commit 30fdfb929e82 (CVE-2021-469105.5In the Linux kernel, the following vulnerability has been resolved: ARM: 9063/1: mm: reduce maximum number of CPUs if DEBUG_KMAP_LOCAL is eCVE-2021-469115.5In the Linux kernel, the following vulnerability has been resolved: ch_ktls: Fix kernel panic Taking page refcount is not ideal and causesCVE-2021-469125.5In the Linux kernel, the following vulnerability has been resolved: net: Make tcp_allowed_congestion_control readonly in non-init netns CuCVE-2021-469135.5In the Linux kernel, the following vulnerability has been resolved: netfilter: nftables: clone set element expression template memcpy() brCVE-2021-469145.5In the Linux kernel, the following vulnerability has been resolved: ixgbe: fix unbalanced device enable/disable in suspend/resume pci_disaCVE-2021-469155.5In the Linux kernel, the following vulnerability has been resolved: netfilter: nft_limit: avoid possible divide error in nft_limit_init diCVE-2021-469165.5In the Linux kernel, the following vulnerability has been resolved: ixgbe: Fix NULL pointer dereference in ethtool loopback test The ixgbeCVE-2021-469175.5In the Linux kernel, the following vulnerability has been resolved: dmaengine: idxd: fix wq cleanup of WQCFG registers A pre-release silic
CVE-2021-46904: Medium severity, CVSS 5.5 | Vulnix