CVE-2026-89623: HID: mcp2221: stop device IO before hid_hw_stop

Published Sep 11, 2026
·
Updated

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

HID: mcp2221: stop device IO before hidhwstop

Quiesce device IO at the start of the devm cleanup callback mcp2221hidunregister() so that incoming HID reports cannot race with hardware teardown during probe failure or device removal, addressing a potential use-after-free.

Guard the call to hiddeviceiostop() with iostarted. On normal removal hiddeviceremove() has already cleared iostarted before the devres group is released, so an unconditional call would otherwise hit the !iostarted path and emit a spurious "io already stopped" warning on every removal. The guard preserves the probe-failure balancing, where iostarted is still set after hiddeviceiostart(), while staying silent on the normal removal path.

Event History

Sep 11, 2026
CVE Published
via MITRE·07:45 PM
Data Sourced
via MITRE·07:45 PM
Description

Frequently Asked Questions

1

Which systems are exposed to this issue?

Systems using the Linux kernel MCP2221 HID driver are exposed during MCP2221 device probe failure or device removal, when incoming HID reports can race with hardware teardown.

2

What conditions are required for the race to occur?

Device I/O must still be active while the driver's cleanup path tears down HID hardware. Incoming HID reports can then access resources after they have been freed.

3

How does the fix mitigate the issue?

The fix stops device I/O at the start of the MCP2221 cleanup callback before calling hid_hw_stop(). It only calls hid_device_io_stop() when io_started is set, preserving probe-failure cleanup while avoiding warnings during normal removal.

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