CVE-2026-90329 PUBLISHED

HID: synchronize input before cleaning up a failed probe

Assigner: Linux
Reserved: 11.09.2026 Published: 17.09.2026 Updated: 17.09.2026

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

HID: synchronize input before cleaning up a failed probe

hid_device_io_start() allows reports to run concurrently with probe. If the probe subsequently fails, __hid_device_probe() releases driver resources and clears hdev->driver without first excluding those report callbacks.

For example, a report may enter hidraw_report_event() while the failure path frees the associated hidraw object, leading to a use-after-free when the report takes the object's list lock.

Stop input before performing failed-probe cleanup. This reacquires driver_input_lock and waits for any report callback already in progress.

Product Status

Vendor Linux
Product Linux
Versions Default: unaffected
  • affected from c849a6143bec520aff2a6646518b0d041402428b to 3ffb088a2ed34ca982cfc2c81d107ce370aa45f1 (excl.)
  • affected from c849a6143bec520aff2a6646518b0d041402428b to 2c35cdeb13a0c52429501e66f368fa59cad235f6 (excl.)
  • affected from c849a6143bec520aff2a6646518b0d041402428b to 98201b46f7e33fe11af6f024fecb40fb56634225 (excl.)
  • affected from c849a6143bec520aff2a6646518b0d041402428b to 9a3da56aae28e1ad3a3e591f72a537742053ecd2 (excl.)
  • affected from c849a6143bec520aff2a6646518b0d041402428b to edd490b8ad85c052eaf10dcc9f390ea54f1e1b39 (excl.)
  • affected from c849a6143bec520aff2a6646518b0d041402428b to 01eeb601a1626e683fb7b77c63f442b06fb87093 (excl.)
  • affected from c849a6143bec520aff2a6646518b0d041402428b to b85d1000eb8842768970f2fd0a8fd362472d02d5 (excl.)
  • affected from c849a6143bec520aff2a6646518b0d041402428b to 207853d46f7ef2e28042344a1468da8754c3ddbf (excl.)
Vendor Linux
Product Linux
Versions Default: affected
  • Version 3.10 is affected
  • unaffected from 0 to 3.10 (excl.)
  • unaffected from 5.10.270 to 5.10.* (incl.)
  • unaffected from 5.15.221 to 5.15.* (incl.)
  • unaffected from 6.1.188 to 6.1.* (incl.)
  • unaffected from 6.6.157 to 6.6.* (incl.)
  • unaffected from 6.12.110 to 6.12.* (incl.)
  • unaffected from 6.18.52 to 6.18.* (incl.)
  • unaffected from 7.2.6 to 7.2.* (incl.)
  • unaffected from 7.3-rc1 to * (incl.)

References