CVE-2026-80566: Input: hynitron_cstxxx - validate touch count and finger IDs

Published Aug 26, 2026
·
Updated

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

Input: hynitroncstxxx - validate touch count and finger IDs

The driver allocates maxtouchnum input slots, which are indexed from zero through maxtouchnum - 1. The current check allows a finger ID equal to maxtouchnum to reach cst3xxreportcontact(). 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 maxtouchnum, 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.

Affected Software

1 affected component
Linux Linux kernel (hynitron_cstxxx driver)

Event History

Aug 26, 2026
CVE Published
via MITRE·02:37 PM
Data Sourced
via MITRE·02:37 PM
Description
Data Sourced
via NVD·03:17 PM
Description

Frequently Asked Questions

1

Which systems are exposed to this issue?

Systems using the Linux hynitron_cstxxx touchscreen driver are affected. The V821 Avaota F1 board is specifically exposed because its vendor driver configuration provides only one touch slot, making finger ID 1 invalid.

2

What input is needed to trigger the faulty behavior?

The touchscreen controller must report a touch count larger than the supported slot count, or report a finger ID equal to or greater than max_touch_num. An invalid finger ID can cause touch data to be reported without a valid slot change, corrupting the state of a previously active touch slot.

3

How does the fix handle malformed touch reports?

The fix rejects touch counts exceeding the supported number of slots before indexing the fixed-size report buffer. It also rejects finger IDs at or above max_touch_num and discards the entire frame immediately when an invalid ID is encountered, preventing partial contact-state reporting.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203