CVE-2026-80566 PUBLISHED

Input: hynitron_cstxxx - validate touch count and finger IDs

Assigner: Linux
Reserved: 26.08.2026 Published: 26.08.2026 Updated: 26.08.2026

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

Input: hynitron_cstxxx - validate touch count and finger IDs

The driver allocates max_touch_num input slots, which are indexed from zero through max_touch_num - 1. The current check allows a finger ID equal to max_touch_num to reach cst3xx_report_contact(). While the input core ignores out-of-range slot indices, reporting touch data without a valid slot change corrupts the touch state of the previously active slot.

The touch count is read from the controller's report and is used to index the fixed-size report buffer without first checking its range. Reject counts larger than the supported number of touch slots before checking the trailing byte or parsing touch data.

Reject finger IDs equal to or greater than max_touch_num, and return immediately when an invalid finger ID is encountered so that corrupt touch frames are discarded instead of reporting partial contact state.

The V821 Avaota F1 board configures the vendor driver with one touch slot, so finger ID 1 is already invalid on that device.

Product Status

Vendor Linux
Product Linux
Versions Default: unaffected
  • affected from 66603243f5283f7f28c795f09e7c2167233df0bd to ec61ca4e310665816a639cb2e46cd9b3af0a9bee (excl.)
  • affected from 66603243f5283f7f28c795f09e7c2167233df0bd to 387829ee60de26c7c073ed4e27ecfab2b75d4c74 (excl.)
  • affected from 66603243f5283f7f28c795f09e7c2167233df0bd to 38e7d5c1ade04b99c70da0298ca296ee62bc99c0 (excl.)
  • affected from 66603243f5283f7f28c795f09e7c2167233df0bd to 51c5503554c87e4de4035468bebf186205391ce9 (excl.)
  • affected from 66603243f5283f7f28c795f09e7c2167233df0bd to 27f380ef0e1d3de3cde114e02d33f9320ce3a5a6 (excl.)
Vendor Linux
Product Linux
Versions Default: affected
  • Version 6.2 is affected
  • unaffected from 0 to 6.2 (excl.)
  • unaffected from 6.6.153 to 6.6.* (incl.)
  • unaffected from 6.12.105 to 6.12.* (incl.)
  • unaffected from 6.18.46 to 6.18.* (incl.)
  • unaffected from 7.1.10 to 7.1.* (incl.)
  • unaffected from 7.2 to * (incl.)

References