CVEvulnerability
CVE-2026-64427
5.5 MEDIUM
Official page ↗
- Status
- Analyzed
- Published
- 2026-07-25
- Last modified
- 2026-09-04
- Assigner
- 416baaa9-dc9f-4396-8d5f-8c081fb06d67
- CVSS 3.1 ([email protected])
- 5.5 MEDIUM — CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
- Weaknesses
- CWE-476
Description
In the Linux kernel, the following vulnerability has been resolved:
HID: logitech-dj: Fix maxfield check in DJ short report validation
Commit b6a57912854e ("HID: logitech-dj: Prevent REPORT_ID_DJ_SHORT
related user initiated OOB write") added validation for the DJ short
output report, but the error path dereferences rep->field[0] even when
rep->maxfield is zero.
Commit 8b9a097eb2fc ("HID: logitech-dj: fix wrong detection of bad
DJ_SHORT output report") made the check conditional on rep being present,
but a crafted descriptor can still create report ID 0x20 with only padding
output items. hid-core registers the report, ignores the padding field,
and leaves rep->maxfield as zero.
In that case the validation enters the rep->maxfield < 1 branch and then
dereferences rep->field[0]->report_count while printing the error message,
causing a NULL pointer dereference during probe. This is reproducible with
uhid by emulating a Logitech receiver with a padding-only DJ short output
report:
BUG: KASAN: null-ptr-deref in logi_dj_probe+0xb1/0x754 [hid_logitech_dj]
Read of size 4 at addr 0000000000000028 by task kworker/4:1/129
...
Call Trace:
logi_dj_probe+0xb1/0x754 [hid_logitech_dj]
hid_device_probe+0x329/0x3f0 [hid]
really_probe+0x162/0x570
__device_attach+0x137/0x2c0
bus_probe_device+0x38/0xc0
device_add+0xa56/0xce0
hid_add_device+0x19c/0x280 [hid]
uhid_device_add_worker+0x2c/0xb0 [uhid]
Reject the zero-field report before printing the field report_count.
Affected configurations
• linux linux kernel (>= 7.1 < 7.1.4)
• linux linux kernel 7.2
Related
Weakness · CWE (1)
- CWE-476 NULL Pointer Dereference weakness
References
- https://git.kernel.org/stable/c/1215febd644c3e16f77e0f1799d89544dd57a754 Patch
- https://git.kernel.org/stable/c/2b70bebc709489d29a31ac2935aeffb8d5228395 Patch
- https://git.kernel.org/stable/c/590cc4d782487632a52f37c2171bee1eeea29627 Patch
- https://git.kernel.org/stable/c/6f7f22a8d244c2e586b8eb61c7585784b62aea01 Patch
- https://git.kernel.org/stable/c/7a89ad762fad53d56b7002d7ffc923a4b7f4006f Patch
- https://git.kernel.org/stable/c/80c1e18473f63fd7c6a2bc9ad6f3d0a6cc4fb500 Patch
- https://git.kernel.org/stable/c/95b3f23d632490b5eb285b9fcf7284f2ac8f9872 Patch
- https://git.kernel.org/stable/c/f3790a6af9c7f47d454225cab9dc145270e48f62 Patch