Bug 2266216 (CVE-2021-46904) - CVE-2021-46904 kernel: null-ptr-deref during tty device unregistration
Summary: CVE-2021-46904 kernel: null-ptr-deref during tty device unregistration
Keywords:
Status: NEW
Alias: CVE-2021-46904
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
low
low
Target Milestone: ---
Assignee: Product Security
QA Contact:
URL:
Whiteboard:
Depends On: 2266217
Blocks: 2266218
TreeView+ depends on / blocked
 
Reported: 2024-02-27 05:36 UTC by Rohit Keshri
Modified: 2024-06-09 16:58 UTC (History)
49 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Embargoed:


Attachments (Terms of Use)

Description Rohit Keshri 2024-02-27 05:36:10 UTC
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.

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

Comment 1 Rohit Keshri 2024-02-27 05:40:09 UTC
Created kernel tracking bugs for this issue:

Affects: fedora-all [bug 2266217]

Comment 3 Justin M. Forbes 2024-02-27 19:17:55 UTC
This was fixed for Fedora with the 5.11.14 stable kernel updates.

Comment 5 Alex 2024-06-09 16:58:56 UTC
The result of automatic check (that is developed by Alexander Larkin) for this CVE-2021-46904 is: CHECK	Maybe valid. Check manually. with impact LOW (that is an approximation based on flags NULLPTR USB INIT  ; these flags parsed automatically based on patch data). Such automatic check happens only for Low/Moderates (and only when not from reporter, but parsing already existing CVE). Highs always checked manually (I check it myself and then we check it again in Remediation team). In rare cases some of the Moderates could be increased to High later.


Note You need to log in before you can comment on or make changes to this bug.