lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Message-ID: <2024022555-CVE-2021-46904-d49f@gregkh>
Date: Sun, 25 Feb 2024 15:03:54 +0100
From: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
To: linux-cve-announce@...r.kernel.org
Cc: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
Subject: CVE-2021-46904: net: hso: fix null-ptr-deref during tty device unregistration

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.

The Linux kernel CVE team has assigned CVE-2021-46904 to this issue.


Affected and fixed versions
===========================

	Issue introduced in 2.6.27 with commit 72dc1c096c705 and fixed in 4.4.268 with commit a462067d7c8e
	Issue introduced in 2.6.27 with commit 72dc1c096c705 and fixed in 4.9.268 with commit 145c89c441d2
	Issue introduced in 2.6.27 with commit 72dc1c096c705 and fixed in 4.14.232 with commit caf5ac93b3b5
	Issue introduced in 2.6.27 with commit 72dc1c096c705 and fixed in 4.19.187 with commit 92028d7a31e5
	Issue introduced in 2.6.27 with commit 72dc1c096c705 and fixed in 5.4.112 with commit 4a2933c88399
	Issue introduced in 2.6.27 with commit 72dc1c096c705 and fixed in 5.10.30 with commit dc195928d7e4
	Issue introduced in 2.6.27 with commit 72dc1c096c705 and fixed in 5.11.14 with commit 388d05f70f1e
	Issue introduced in 2.6.27 with commit 72dc1c096c705 and fixed in 5.12 with commit 8a12f8836145

Please see https://www.kernel.org or a full list of currently supported
kernel versions by the kernel community.

Unaffected versions might change over time as fixes are backported to
older supported kernel versions.  The official CVE entry at
	https://cve.org/CVERecord/?id=CVE-2021-46904
will be updated if fixes are backported, please check that for the most
up to date information about this issue.


Affected files
==============

The file(s) affected by this issue are:
	drivers/net/usb/hso.c


Mitigation
==========

The Linux kernel CVE team recommends that you update to the latest
stable kernel version for this, and many other bugfixes.  Individual
changes are never tested alone, but rather are part of a larger kernel
release.  Cherry-picking individual commits is not recommended or
supported by the Linux kernel community at all.  If however, updating to
the latest release is impossible, the individual changes to resolve this
issue can be found at these commits:
	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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ