{"id":"CVE-2026-93081","state":"PUBLISHED","title":"firmware: arm_scmi: Fix SCMI device destroy lifetimes","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nfirmware: arm_scmi: Fix SCMI device destroy lifetimes\n\nscmi_child_dev_find() drops the reference returned by\ndevice_find_child() before returning the scmi_device pointer. A\nconcurrent unregister can then release the device while the destroy path\nis still using the returned pointer.\n\nMake the lookup helper return the device_find_child() reference and keep\nit until scmi_device_destroy() has finished unregistering the child.\n\nAlso split device_unregister() in __scmi_device_destroy() so the SCMI bus\nID is not made reusable until after device_del() has removed the old\nscmi_dev.N name from sysfs. This avoids a new SCMI device reusing the\nsame ID while the old device is still registered.\n\nThe final device release callback is also a possible cleanup path when\nSCMI children are deleted by driver core recursion rather than\n__scmi_device_destroy(). Release the SCMI bus ID from a common helper\nused by destroy, register-failure and final-release paths, and clear\nscmi_dev->id after freeing it so the final release cannot free the same\nID again.","publishedAt":"2026-09-17T16:11:01.679Z","updatedAt":"2026-10-30T12:35:49.648Z","severity":null,"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"ff4273d47da81b95ed9396110bcbd1b7b7470fe8","status":"affected","lessThan":"afe5c022a180e0ade394d3fffbafc1a701f50993","versionType":"git"},{"version":"2fbf6c9695ad9f05e7e5c166bf43fac7cb3276b3","status":"affected","lessThan":"d8ecdceeb90cd2c265b222a7b65487faf68fea73","versionType":"git"},{"version":"969d8beaa2e374387bf9aa5602ef84fc50bb48d8","status":"affected","lessThan":"916e27f71a80f6d77c48d1a1a5782d6d5ef9017c","versionType":"git"},{"version":"9ca67840c0ddf3f39407339624cef824a4f27599","status":"affected","lessThan":"a60bc2df2d323cc1342f0cf95563cae266801e20","versionType":"git"},{"version":"9ca67840c0ddf3f39407339624cef824a4f27599","status":"affected","lessThan":"c59b3393df1348a12308aaabd5fbc58ed6b21cf5","versionType":"git"},{"version":"9ca67840c0ddf3f39407339624cef824a4f27599","status":"affected","lessThan":"6abe8fe36b29ff51d1a42c2f338972883f4751a5","versionType":"git"},{"version":"91ff1e9652fb9beb0174267d6bb38243dff211bb","status":"affected","versionType":"git"},{"version":"8a8a3547d5c4960da053df49c75bf623827a25da","status":"affected","versionType":"git"},{"version":"6.1.138","status":"affected","lessThan":"6.1.191","versionType":"semver"},{"version":"6.6.90","status":"affected","lessThan":"6.6.160","versionType":"semver"},{"version":"6.12.28","status":"affected","lessThan":"6.12.114","versionType":"semver"},{"version":"5.15.182","status":"affected","lessThan":"5.16","versionType":"semver"},{"version":"6.14.6","status":"affected","lessThan":"6.15","versionType":"semver"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/firmware/arm_scmi/bus.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"6.15","status":"affected"},{"version":"0","status":"unaffected","lessThan":"6.15","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.114","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.57","status":"unaffected","lessThanOrEqual":"6.18.*","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/firmware/arm_scmi/bus.c"]}],"references":["https://git.kernel.org/stable/c/afe5c022a180e0ade394d3fffbafc1a701f50993","https://git.kernel.org/stable/c/d8ecdceeb90cd2c265b222a7b65487faf68fea73","https://git.kernel.org/stable/c/916e27f71a80f6d77c48d1a1a5782d6d5ef9017c","https://git.kernel.org/stable/c/a60bc2df2d323cc1342f0cf95563cae266801e20","https://git.kernel.org/stable/c/c59b3393df1348a12308aaabd5fbc58ed6b21cf5","https://git.kernel.org/stable/c/6abe8fe36b29ff51d1a42c2f338972883f4751a5"],"weaknesses":[],"ingestedAt":"2026-10-30T12:54:04.478Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/93xxx/CVE-2026-93081.json","commit":"1f312381e38164a43607eebab851b151dd16861e","baselineCommit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-93081","state":"PUBLISHED","datePublished":"2026-09-17T16:11:01.679Z","dateUpdated":"2026-10-30T12:35:49.648Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2026-09-17T15:57:05.662Z"},"containers":{"cna":{"title":"firmware: arm_scmi: Fix SCMI device destroy lifetimes","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nfirmware: arm_scmi: Fix SCMI device destroy lifetimes\n\nscmi_child_dev_find() drops the reference returned by\ndevice_find_child() before returning the scmi_device pointer. A\nconcurrent unregister can then release the device while the destroy path\nis still using the returned pointer.\n\nMake the lookup helper return the device_find_child() reference and keep\nit until scmi_device_destroy() has finished unregistering the child.\n\nAlso split device_unregister() in __scmi_device_destroy() so the SCMI bus\nID is not made reusable until after device_del() has removed the old\nscmi_dev.N name from sysfs. This avoids a new SCMI device reusing the\nsame ID while the old device is still registered.\n\nThe final device release callback is also a possible cleanup path when\nSCMI children are deleted by driver core recursion rather than\n__scmi_device_destroy(). Release the SCMI bus ID from a common helper\nused by destroy, register-failure and final-release paths, and clear\nscmi_dev->id after freeing it so the final release cannot free the same\nID again."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"ff4273d47da81b95ed9396110bcbd1b7b7470fe8","status":"affected","lessThan":"afe5c022a180e0ade394d3fffbafc1a701f50993","versionType":"git"},{"version":"2fbf6c9695ad9f05e7e5c166bf43fac7cb3276b3","status":"affected","lessThan":"d8ecdceeb90cd2c265b222a7b65487faf68fea73","versionType":"git"},{"version":"969d8beaa2e374387bf9aa5602ef84fc50bb48d8","status":"affected","lessThan":"916e27f71a80f6d77c48d1a1a5782d6d5ef9017c","versionType":"git"},{"version":"9ca67840c0ddf3f39407339624cef824a4f27599","status":"affected","lessThan":"a60bc2df2d323cc1342f0cf95563cae266801e20","versionType":"git"},{"version":"9ca67840c0ddf3f39407339624cef824a4f27599","status":"affected","lessThan":"c59b3393df1348a12308aaabd5fbc58ed6b21cf5","versionType":"git"},{"version":"9ca67840c0ddf3f39407339624cef824a4f27599","status":"affected","lessThan":"6abe8fe36b29ff51d1a42c2f338972883f4751a5","versionType":"git"},{"version":"91ff1e9652fb9beb0174267d6bb38243dff211bb","status":"affected","versionType":"git"},{"version":"8a8a3547d5c4960da053df49c75bf623827a25da","status":"affected","versionType":"git"},{"version":"6.1.138","status":"affected","lessThan":"6.1.191","versionType":"semver"},{"version":"6.6.90","status":"affected","lessThan":"6.6.160","versionType":"semver"},{"version":"6.12.28","status":"affected","lessThan":"6.12.114","versionType":"semver"},{"version":"5.15.182","status":"affected","lessThan":"5.16","versionType":"semver"},{"version":"6.14.6","status":"affected","lessThan":"6.15","versionType":"semver"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/firmware/arm_scmi/bus.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"6.15","status":"affected"},{"version":"0","status":"unaffected","lessThan":"6.15","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.114","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.57","status":"unaffected","lessThanOrEqual":"6.18.*","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/firmware/arm_scmi/bus.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/afe5c022a180e0ade394d3fffbafc1a701f50993"},{"url":"https://git.kernel.org/stable/c/d8ecdceeb90cd2c265b222a7b65487faf68fea73"},{"url":"https://git.kernel.org/stable/c/916e27f71a80f6d77c48d1a1a5782d6d5ef9017c"},{"url":"https://git.kernel.org/stable/c/a60bc2df2d323cc1342f0cf95563cae266801e20"},{"url":"https://git.kernel.org/stable/c/c59b3393df1348a12308aaabd5fbc58ed6b21cf5"},{"url":"https://git.kernel.org/stable/c/6abe8fe36b29ff51d1a42c2f338972883f4751a5"}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-10-30T12:35:49.648Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.1.138","versionEndExcluding":"6.1.191"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.6.90","versionEndExcluding":"6.6.160"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.12.28","versionEndExcluding":"6.12.114"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.15","versionEndExcluding":"6.18.57"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.15","versionEndExcluding":"7.2.6"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.15","versionEndExcluding":"7.3"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.15.182"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.14.6"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}}}}}