CVE-2026-98860 PUBLISHED

HID: bpf: cast size to ssize_t when checking hid_bpf_hw_request

Assigner: Linux
Reserved: 25.09.2026 Published: 18.10.2026 Updated: 18.10.2026

In the Linux kernel, the following vulnerability has been resolved:

HID: bpf: cast size to ssize_t when checking hid_bpf_hw_request

As reported by Sashiko: If a transport driver encounters a hardware error and returns a negative error code such as -EPIPE, ret is implicitly promoted to size_t when compared against size. This causes the negative error code to evaluate as a large positive number, making the (ret > size) condition true.

This silently converts the hardware error into a success return value and copies the unmodified buffer back, which could leave BPF programs operating on uninitialized or stale data.

Fix this by casting size into ssize_t to return the actual negative error code.

Product Status

Vendor Linux
Product Linux
Versions Default: unaffected
  • affected from d6efaa50af62fb0790dd1fd4e7e5506b46312510 to 8b85ef0f561039e249c3f883c5280a1449c6dbee (excl.)
  • affected from 73c5b5aea1c443239c8cb4191b4af7a4bd6fd7b1 to 97be6396817bd3b11d06239010d27902940bfaa9 (excl.)
  • affected from 2b658c1c442ec1cd9eec5ead98d68662c40fe645 to f9f808227554b2c116fd07dd2328ecd74ea3f411 (excl.)
  • affected from 2b658c1c442ec1cd9eec5ead98d68662c40fe645 to 3afefbfe55c2a8a0c4bdf6f4cc1f773da120027c (excl.)
  • Version eb57dae20fdf6f3069cdc07821fa3bb46de381d7 is affected
  • affected from 6.12.78 to 6.12.113 (excl.)
  • affected from 6.18.20 to 6.18.56 (excl.)
  • affected from 6.19.10 to 6.20 (excl.)
Vendor Linux
Product Linux
Versions Default: affected
  • Version 7.0 is affected
  • unaffected from 0 to 7.0 (excl.)
  • unaffected from 6.12.113 to 6.12.* (incl.)
  • unaffected from 6.18.56 to 6.18.* (incl.)
  • unaffected from 7.2.10 to 7.2.* (incl.)
  • unaffected from 7.3-rc6 to * (incl.)

References