Home

Description

In the Linux kernel, the following vulnerability has been resolved: HID: i2c-hid: fix potential buffer overflow in i2c_hid_get_report() `i2c_hid_xfer` is used to read `recv_len + sizeof(__le16)` bytes of data into `ihid->rawbuf`. The former can come from the userspace in the hidraw driver and is only bounded by HID_MAX_BUFFER_SIZE(16384) by default (unless we also set `max_buffer_size` field of `struct hid_ll_driver` which we do not). The latter has size determined at runtime by the maximum size of different report types you could receive on any particular device and can be a much smaller value. Fix this by truncating `recv_len` to `ihid->bufsize - sizeof(__le16)`. The impact is low since access to hidraw devices requires root.

PUBLISHED Reserved 2026-01-13 | Published 2026-02-14 | Updated 2026-02-16 | Assigner Linux

Product status

Default status
unaffected

85df713377ddc0482071c3e6b64c37bd1e48f1f1 (git) before f9c9ad89d845f88a1509e9d672f65d234425fde9
affected

85df713377ddc0482071c3e6b64c37bd1e48f1f1 (git) before cff3f619fd1cb40cdd89971df9001f075613d219
affected

85df713377ddc0482071c3e6b64c37bd1e48f1f1 (git) before 786ec171788bdf9dda38789163f1b1fbb47f2d1e
affected

85df713377ddc0482071c3e6b64c37bd1e48f1f1 (git) before 2124279f1f8c32c1646ce98e75a1a39b23b7db76
affected

85df713377ddc0482071c3e6b64c37bd1e48f1f1 (git) before 2497ff38c530b1af0df5130ca9f5ab22c5e92f29
affected

Default status
affected

5.18
affected

Any version before 5.18
unaffected

6.1.163 (semver)
unaffected

6.6.124 (semver)
unaffected

6.12.70 (semver)
unaffected

6.18.10 (semver)
unaffected

6.19 (original_commit_for_fix)
unaffected

References

git.kernel.org/...c/f9c9ad89d845f88a1509e9d672f65d234425fde9

git.kernel.org/...c/cff3f619fd1cb40cdd89971df9001f075613d219

git.kernel.org/...c/786ec171788bdf9dda38789163f1b1fbb47f2d1e

git.kernel.org/...c/2124279f1f8c32c1646ce98e75a1a39b23b7db76

git.kernel.org/...c/2497ff38c530b1af0df5130ca9f5ab22c5e92f29

cve.org (CVE-2026-23178)

nvd.nist.gov (CVE-2026-23178)

Download JSON