{"id":"CVE-2026-93081","title":"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 pointe…","summary":"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 pointe…","severity":"none","vendor":"Linux","product":"Linux","affected":["Linux >= 9ca67840c0ddf3f39407339624cef824a4f27599 < c59b3393df1348a12308aaabd5fbc58ed6b21cf5","Linux >= 9ca67840c0ddf3f39407339624cef824a4f27599 < 6abe8fe36b29ff51d1a42c2f338972883f4751a5","Linux 91ff1e9652fb9beb0174267d6bb38243dff211bb","Linux ff4273d47da81b95ed9396110bcbd1b7b7470fe8","Linux 2fbf6c9695ad9f05e7e5c166bf43fac7cb3276b3","Linux 969d8beaa2e374387bf9aa5602ef84fc50bb48d8","Linux 8a8a3547d5c4960da053df49c75bf623827a25da","Linux >= 5.15.182 < 5.16","Linux >= 6.1.138 < 6.2","Linux >= 6.6.90 < 6.7","Linux >= 6.12.28 < 6.13","Linux >= 6.14.6 < 6.15","Linux 6.15"],"published":"2026-09-17","updated":"2026-09-17","sourceUpdated":"2026-09-17T17:18:02.063","source":"NVD","sourceUrl":"https://nvd.nist.gov/vuln/detail/CVE-2026-93081","references":[{"url":"https://git.kernel.org/stable/c/6abe8fe36b29ff51d1a42c2f338972883f4751a5","label":"416baaa9-dc9f-4396-8d5f-8c081fb06d67"},{"url":"https://git.kernel.org/stable/c/c59b3393df1348a12308aaabd5fbc58ed6b21cf5","label":"416baaa9-dc9f-4396-8d5f-8c081fb06d67"}],"tags":["nvd","cve.org"],"ingestedAt":"2026-09-17T16:21:47.764Z","epss":0.00189,"epssPercentile":0.08793,"slug":"CVE-2026-93081","body":"## Overview\n\nIn 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.\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.","depth":"sunlit","depthScore":3,"depthScoreParts":{"impact":2.8,"likelihood":0,"exploitation":0,"ransomware":0},"changes":[]}