{"id":"CVE-2026-90331","state":"PUBLISHED","title":"HID: asus: refactor the two workqueues and init sequence","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nHID: asus: refactor the two workqueues and init sequence\n\nMultiple issues have been found within the hid-asus driver:\n- unchecked size in asus_raw_event()\n- unclean teardown of asus_probe on failure\n- possible use-after-free in asus_probe\n- multiple workqueue used for jobs where one was enough\n- sleeping calls in atomic context\n- packets of incorrect size being sent to the keyboard controller\n\nJoin the two workqueues into one reusing the stopping mechanism\nof the brightness workqueue, use the joined workqueue to also\nmove the asus_wmi_send_event() sleeping call away from atomic\ncontext and add a size check in asus_raw_event().","publishedAt":"2026-09-17T16:08:45.496Z","updatedAt":"2026-10-19T09:01:48.189Z","severity":null,"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"1489a34e97efebf583ff08e506ecf9f7d44537d3","status":"affected","lessThan":"744b3f930c1173ad57f49b614fc875d8d2715396","versionType":"git"},{"version":"1489a34e97efebf583ff08e506ecf9f7d44537d3","status":"affected","lessThan":"47669bec44fe12fe2c7adf2b299e980d7935a2ce","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/hid/hid-asus.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"7.0","status":"affected"},{"version":"0","status":"unaffected","lessThan":"7.0","versionType":"semver"},{"version":"7.2.6","status":"unaffected","lessThanOrEqual":"7.2.*","versionType":"semver"},{"version":"7.3","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/hid/hid-asus.c"]}],"references":["https://git.kernel.org/stable/c/744b3f930c1173ad57f49b614fc875d8d2715396","https://git.kernel.org/stable/c/47669bec44fe12fe2c7adf2b299e980d7935a2ce"],"weaknesses":[],"ingestedAt":"2026-10-29T20:13:34.582Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/90xxx/CVE-2026-90331.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-90331","state":"PUBLISHED","datePublished":"2026-09-17T16:08:45.496Z","dateUpdated":"2026-10-19T09:01:48.189Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2026-09-11T19:38:34.803Z"},"containers":{"cna":{"title":"HID: asus: refactor the two workqueues and init sequence","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nHID: asus: refactor the two workqueues and init sequence\n\nMultiple issues have been found within the hid-asus driver:\n- unchecked size in asus_raw_event()\n- unclean teardown of asus_probe on failure\n- possible use-after-free in asus_probe\n- multiple workqueue used for jobs where one was enough\n- sleeping calls in atomic context\n- packets of incorrect size being sent to the keyboard controller\n\nJoin the two workqueues into one reusing the stopping mechanism\nof the brightness workqueue, use the joined workqueue to also\nmove the asus_wmi_send_event() sleeping call away from atomic\ncontext and add a size check in asus_raw_event()."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"1489a34e97efebf583ff08e506ecf9f7d44537d3","status":"affected","lessThan":"744b3f930c1173ad57f49b614fc875d8d2715396","versionType":"git"},{"version":"1489a34e97efebf583ff08e506ecf9f7d44537d3","status":"affected","lessThan":"47669bec44fe12fe2c7adf2b299e980d7935a2ce","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/hid/hid-asus.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"7.0","status":"affected"},{"version":"0","status":"unaffected","lessThan":"7.0","versionType":"semver"},{"version":"7.2.6","status":"unaffected","lessThanOrEqual":"7.2.*","versionType":"semver"},{"version":"7.3","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/hid/hid-asus.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/744b3f930c1173ad57f49b614fc875d8d2715396"},{"url":"https://git.kernel.org/stable/c/47669bec44fe12fe2c7adf2b299e980d7935a2ce"}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-10-19T09:01:48.189Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"7.0","versionEndExcluding":"7.2.6"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"7.0","versionEndExcluding":"7.3"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}}}}}