5.5
MEDIUM
CVE-2021-46906
"HP HID USB HID Information Leak Vulnerability"
Description

In the Linux kernel, the following vulnerability has been resolved: HID: usbhid: fix info leak in hid_submit_ctrl In hid_submit_ctrl(), the way of calculating the report length doesn't take into account that report->size can be zero. When running the syzkaller reproducer, a report of size 0 causes hid_submit_ctrl) to calculate transfer_buffer_length as 16384. When this urb is passed to the usb core layer, KMSAN reports an info leak of 16384 bytes. To fix this, first modify hid_report_len() to account for the zero report size case by using DIV_ROUND_UP for the division. Then, call it from hid_submit_ctrl().

INFO

Published Date :

Feb. 26, 2024, 6:15 p.m.

Last Modified :

April 17, 2024, 5:28 p.m.

Source :

416baaa9-dc9f-4396-8d5f-8c081fb06d67

Remotely Exploitable :

No

Impact Score :

3.6

Exploitability Score :

1.8
Affected Products

The following products are affected by CVE-2021-46906 vulnerability. Even if cvefeed.io is aware of the exact versions of the products that are affected, the information is not represented in the table below.

ID Vendor Product Action
1 Linux linux_kernel

We scan GitHub repositories to detect new proof-of-concept exploits. Following list is a collection of public exploits and proof-of-concepts, which have been published on GitHub (sorted by the most recently updated).

Results are limited to the first 15 repositories due to potential performance issues.

The following list is the news that have been mention CVE-2021-46906 vulnerability anywhere in the article.

The following table lists the changes that have been made to the CVE-2021-46906 vulnerability over time.

Vulnerability history details can be useful for understanding the evolution of a vulnerability, and for identifying the most recent changes that may impact the vulnerability's severity, exploitability, or other characteristics.

  • CVE Modified by 416baaa9-dc9f-4396-8d5f-8c081fb06d67

    May. 28, 2024

    Action Type Old Value New Value
  • CVE Modified by 416baaa9-dc9f-4396-8d5f-8c081fb06d67

    May. 14, 2024

    Action Type Old Value New Value
  • Initial Analysis by [email protected]

    Apr. 17, 2024

    Action Type Old Value New Value
    Added CVSS V3.1 NIST AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
    Changed Reference Type https://git.kernel.org/stable/c/0e280502be1b003c3483ae03fc60dea554fcfa82 No Types Assigned https://git.kernel.org/stable/c/0e280502be1b003c3483ae03fc60dea554fcfa82 Patch
    Changed Reference Type https://git.kernel.org/stable/c/21883bff0fd854e07429a773ff18f1e9658f50e8 No Types Assigned https://git.kernel.org/stable/c/21883bff0fd854e07429a773ff18f1e9658f50e8 Patch
    Changed Reference Type https://git.kernel.org/stable/c/41b1e71a2c57366b08dcca1a28b0d45ca69429ce No Types Assigned https://git.kernel.org/stable/c/41b1e71a2c57366b08dcca1a28b0d45ca69429ce Patch
    Changed Reference Type https://git.kernel.org/stable/c/6be388f4a35d2ce5ef7dbf635a8964a5da7f799f No Types Assigned https://git.kernel.org/stable/c/6be388f4a35d2ce5ef7dbf635a8964a5da7f799f Patch
    Changed Reference Type https://git.kernel.org/stable/c/7f5a4b24cdbd7372770a02f23e347d7d9a9ac8f1 No Types Assigned https://git.kernel.org/stable/c/7f5a4b24cdbd7372770a02f23e347d7d9a9ac8f1 Patch
    Changed Reference Type https://git.kernel.org/stable/c/8c064eece9a51856f3f275104520c7e3017fc5c0 No Types Assigned https://git.kernel.org/stable/c/8c064eece9a51856f3f275104520c7e3017fc5c0 Patch
    Changed Reference Type https://git.kernel.org/stable/c/b1e3596416d74ce95cc0b7b38472329a3818f8a9 No Types Assigned https://git.kernel.org/stable/c/b1e3596416d74ce95cc0b7b38472329a3818f8a9 Patch
    Changed Reference Type https://git.kernel.org/stable/c/c5d3c142f2d57d40c55e65d5622d319125a45366 No Types Assigned https://git.kernel.org/stable/c/c5d3c142f2d57d40c55e65d5622d319125a45366 Patch
    Added CWE NIST CWE-668
    Added CPE Configuration OR *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions up to (excluding) 4.4.274 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 4.5.0 up to (excluding) 4.9.274 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 4.10.0 up to (excluding) 4.14.238 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 4.15.0 up to (excluding) 4.19.196 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 4.20.0 up to (excluding) 5.4.127 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 5.5.0 up to (excluding) 5.10.45 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 5.11.0 up to (excluding) 5.12.12
  • CVE Received by 416baaa9-dc9f-4396-8d5f-8c081fb06d67

    Feb. 26, 2024

    Action Type Old Value New Value
    Added Description In the Linux kernel, the following vulnerability has been resolved: HID: usbhid: fix info leak in hid_submit_ctrl In hid_submit_ctrl(), the way of calculating the report length doesn't take into account that report->size can be zero. When running the syzkaller reproducer, a report of size 0 causes hid_submit_ctrl) to calculate transfer_buffer_length as 16384. When this urb is passed to the usb core layer, KMSAN reports an info leak of 16384 bytes. To fix this, first modify hid_report_len() to account for the zero report size case by using DIV_ROUND_UP for the division. Then, call it from hid_submit_ctrl().
    Added Reference Linux https://git.kernel.org/stable/c/c5d3c142f2d57d40c55e65d5622d319125a45366 [No types assigned]
    Added Reference Linux https://git.kernel.org/stable/c/41b1e71a2c57366b08dcca1a28b0d45ca69429ce [No types assigned]
    Added Reference Linux https://git.kernel.org/stable/c/8c064eece9a51856f3f275104520c7e3017fc5c0 [No types assigned]
    Added Reference Linux https://git.kernel.org/stable/c/0e280502be1b003c3483ae03fc60dea554fcfa82 [No types assigned]
    Added Reference Linux https://git.kernel.org/stable/c/7f5a4b24cdbd7372770a02f23e347d7d9a9ac8f1 [No types assigned]
    Added Reference Linux https://git.kernel.org/stable/c/b1e3596416d74ce95cc0b7b38472329a3818f8a9 [No types assigned]
    Added Reference Linux https://git.kernel.org/stable/c/21883bff0fd854e07429a773ff18f1e9658f50e8 [No types assigned]
    Added Reference Linux https://git.kernel.org/stable/c/6be388f4a35d2ce5ef7dbf635a8964a5da7f799f [No types assigned]
EPSS is a daily estimate of the probability of exploitation activity being observed over the next 30 days. Following chart shows the EPSS score history of the vulnerability.
CWE - Common Weakness Enumeration

While CVE identifies specific instances of vulnerabilities, CWE categorizes the common flaws or weaknesses that can lead to vulnerabilities. CVE-2021-46906 is associated with the following CWEs:

Common Attack Pattern Enumeration and Classification (CAPEC)

Common Attack Pattern Enumeration and Classification (CAPEC) stores attack patterns, which are descriptions of the common attributes and approaches employed by adversaries to exploit the CVE-2021-46906 weaknesses.

CVSS31 - Vulnerability Scoring System
Attack Vector
Attack Complexity
Privileges Required
User Interaction
Scope
Confidentiality
Integrity
Availability