{"id":"CVE-2026-90021","state":"PUBLISHED","title":"usb: gadget: f_midi: initialize work in f_midi_alloc()","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nusb: gadget: f_midi: initialize work in f_midi_alloc()\n\nf_midi_alloc initializes free_ref to 1 and it can only be incremented\nwhen a sound card is registered via f_midi_register_card().\nf_midi_register_card() is only called in f_midi_bind() which actually\nperforms INIT_WORK. If f_midi_bind() is never run, work is not\ninitialized and the if condition in f_midi_free becomes true,\nthis results in a warning later in __flush_work as work->func = 0.\nFix this by moving INIT_WORK from f_midi_bind() to f_midi_alloc().","publishedAt":"2026-09-16T10:33:25.560Z","updatedAt":"2026-10-30T12:33:50.484Z","severity":null,"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"8653d71ce3763aedcf3d2331f59beda3fecd79e4","status":"affected","lessThan":"c76e82b026a28c348e5d841922aa73db36eca1d3","versionType":"git"},{"version":"8653d71ce3763aedcf3d2331f59beda3fecd79e4","status":"affected","lessThan":"13e9f5a91360952b9b5bbc2367fc29d4a4ff2824","versionType":"git"},{"version":"8653d71ce3763aedcf3d2331f59beda3fecd79e4","status":"affected","lessThan":"3d8b11255e632170f32f1925bfcaf96331f36317","versionType":"git"},{"version":"8653d71ce3763aedcf3d2331f59beda3fecd79e4","status":"affected","lessThan":"02ac76f27db23ef652358458c272d9d2d6f51167","versionType":"git"},{"version":"8653d71ce3763aedcf3d2331f59beda3fecd79e4","status":"affected","lessThan":"858576de6b2f5166b08dae803f0fd0766dcb3002","versionType":"git"},{"version":"8653d71ce3763aedcf3d2331f59beda3fecd79e4","status":"affected","lessThan":"7e07d3e4c389217d7d7171d80edf2e23ac70f1ea","versionType":"git"},{"version":"89019ab7a64fcdf98a2ba7799e5c6aff58d4a05d","status":"affected","versionType":"git"},{"version":"3635523e9b96213969693c320302d536774d8e9b","status":"affected","versionType":"git"},{"version":"5.4.291","status":"affected","lessThan":"5.5","versionType":"semver"},{"version":"5.10.235","status":"affected","lessThan":"5.11","versionType":"semver"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/usb/gadget/function/f_midi.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"5.12","status":"affected"},{"version":"0","status":"unaffected","lessThan":"5.12","versionType":"semver"},{"version":"6.1.191","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.160","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.110","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.51","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.2.5","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/usb/gadget/function/f_midi.c"]}],"references":["https://git.kernel.org/stable/c/c76e82b026a28c348e5d841922aa73db36eca1d3","https://git.kernel.org/stable/c/13e9f5a91360952b9b5bbc2367fc29d4a4ff2824","https://git.kernel.org/stable/c/3d8b11255e632170f32f1925bfcaf96331f36317","https://git.kernel.org/stable/c/02ac76f27db23ef652358458c272d9d2d6f51167","https://git.kernel.org/stable/c/858576de6b2f5166b08dae803f0fd0766dcb3002","https://git.kernel.org/stable/c/7e07d3e4c389217d7d7171d80edf2e23ac70f1ea"],"weaknesses":[],"ingestedAt":"2026-10-30T12:52:04.348Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/90xxx/CVE-2026-90021.json","commit":"1f312381e38164a43607eebab851b151dd16861e","baselineCommit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-90021","state":"PUBLISHED","datePublished":"2026-09-16T10:33:25.560Z","dateUpdated":"2026-10-30T12:33:50.484Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2026-09-11T19:38:34.781Z"},"containers":{"cna":{"title":"usb: gadget: f_midi: initialize work in f_midi_alloc()","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nusb: gadget: f_midi: initialize work in f_midi_alloc()\n\nf_midi_alloc initializes free_ref to 1 and it can only be incremented\nwhen a sound card is registered via f_midi_register_card().\nf_midi_register_card() is only called in f_midi_bind() which actually\nperforms INIT_WORK. If f_midi_bind() is never run, work is not\ninitialized and the if condition in f_midi_free becomes true,\nthis results in a warning later in __flush_work as work->func = 0.\nFix this by moving INIT_WORK from f_midi_bind() to f_midi_alloc()."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"8653d71ce3763aedcf3d2331f59beda3fecd79e4","status":"affected","lessThan":"c76e82b026a28c348e5d841922aa73db36eca1d3","versionType":"git"},{"version":"8653d71ce3763aedcf3d2331f59beda3fecd79e4","status":"affected","lessThan":"13e9f5a91360952b9b5bbc2367fc29d4a4ff2824","versionType":"git"},{"version":"8653d71ce3763aedcf3d2331f59beda3fecd79e4","status":"affected","lessThan":"3d8b11255e632170f32f1925bfcaf96331f36317","versionType":"git"},{"version":"8653d71ce3763aedcf3d2331f59beda3fecd79e4","status":"affected","lessThan":"02ac76f27db23ef652358458c272d9d2d6f51167","versionType":"git"},{"version":"8653d71ce3763aedcf3d2331f59beda3fecd79e4","status":"affected","lessThan":"858576de6b2f5166b08dae803f0fd0766dcb3002","versionType":"git"},{"version":"8653d71ce3763aedcf3d2331f59beda3fecd79e4","status":"affected","lessThan":"7e07d3e4c389217d7d7171d80edf2e23ac70f1ea","versionType":"git"},{"version":"89019ab7a64fcdf98a2ba7799e5c6aff58d4a05d","status":"affected","versionType":"git"},{"version":"3635523e9b96213969693c320302d536774d8e9b","status":"affected","versionType":"git"},{"version":"5.4.291","status":"affected","lessThan":"5.5","versionType":"semver"},{"version":"5.10.235","status":"affected","lessThan":"5.11","versionType":"semver"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/usb/gadget/function/f_midi.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"5.12","status":"affected"},{"version":"0","status":"unaffected","lessThan":"5.12","versionType":"semver"},{"version":"6.1.191","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.160","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.110","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.51","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.2.5","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/usb/gadget/function/f_midi.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/c76e82b026a28c348e5d841922aa73db36eca1d3"},{"url":"https://git.kernel.org/stable/c/13e9f5a91360952b9b5bbc2367fc29d4a4ff2824"},{"url":"https://git.kernel.org/stable/c/3d8b11255e632170f32f1925bfcaf96331f36317"},{"url":"https://git.kernel.org/stable/c/02ac76f27db23ef652358458c272d9d2d6f51167"},{"url":"https://git.kernel.org/stable/c/858576de6b2f5166b08dae803f0fd0766dcb3002"},{"url":"https://git.kernel.org/stable/c/7e07d3e4c389217d7d7171d80edf2e23ac70f1ea"}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-10-30T12:33:50.484Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.12","versionEndExcluding":"6.1.191"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.12","versionEndExcluding":"6.6.160"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.12","versionEndExcluding":"6.12.110"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.12","versionEndExcluding":"6.18.51"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.12","versionEndExcluding":"7.2.5"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.12","versionEndExcluding":"7.3"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.4.291"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.10.235"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}}}}}