{"id":"CVE-2026-90284","summary":"firmware_loader: do not queue completed sysfs fallback requests","details":"In the Linux kernel, the following vulnerability has been resolved:\n\nfirmware_loader: do not queue completed sysfs fallback requests\n\nfw_load_sysfs_fallback() calls device_add() before adding the fw_priv to\npending_fw_head. device_add() publishes the fallback loading interface, so\na userspace helper which discovers the device by scanning sysfs can write 0\nto the loading attribute and complete the request before it is queued as\npending.\n\nIn that interleaving firmware_loading_store() calls fw_state_done() while\npending_list still points to itself, so it cannot remove an entry from\npending_fw_head. The subsequent unconditional list_add() then queues an\nalready-completed fw_priv. Once the request is released, pending_fw_head\ncan retain a pointer to freed memory and the next fallback request can\nfault while validating the list.\n\nOnly in-flight fallback requests need suspend or reboot abort handling. If\nthe request is already DONE after device_add(), return success from the\nfallback path without sending another uevent, waiting again, or queueing it\nas pending. This preserves the invariant that pending_fw_head contains only\nactive fallback requests.","modified":"2026-11-13T04:07:10.671945434Z","published":"2026-09-17T16:08:13.993Z","related":["SUSE-SU-2026:24550-1","SUSE-SU-2026:24619-1","SUSE-SU-2026:24643-1","SUSE-SU-2026:24648-1","SUSE-SU-2026:24651-1","SUSE-SU-2026:24662-1","SUSE-SU-2026:5091-1","openSUSE-SU-2026:11893-1"],"database_specific":{"cna_assigner":"Linux","osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/90xxx/CVE-2026-90284.json"},"references":[{"type":"WEB","url":"https://git.kernel.org/stable/c/5a250bff75a446374c05622973b18b4ab662b504"},{"type":"WEB","url":"https://git.kernel.org/stable/c/6eaa632d0ed7bbb84f9cb670e5ec4e2cecf4cc7b"},{"type":"WEB","url":"https://git.kernel.org/stable/c/85aeb8fc61839098ae0942ccba86e669c08e75d4"},{"type":"WEB","url":"https://git.kernel.org/stable/c/93a2385730540105df8524447dcc11309ad280f9"},{"type":"WEB","url":"https://git.kernel.org/stable/c/b48373c901951fad1a26bd7c33ad91172b3945b5"},{"type":"WEB","url":"https://git.kernel.org/stable/c/c8b97c5130f27b64fa2cfe1aa4bebb13f724c6c7"},{"type":"WEB","url":"https://git.kernel.org/stable/c/ea33fac0df7fe7b49a4b27acb83e227b82317d1d"},{"type":"WEB","url":"https://git.kernel.org/stable/c/fb4824880b0dba0e7b3a497c46c642f979630392"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/90xxx/CVE-2026-90284.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-90284"},{"type":"PACKAGE","url":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","events":[{"introduced":"ecb739cf15a9bae040ce6b60209b78b92512d120"},{"fixed":"c8b97c5130f27b64fa2cfe1aa4bebb13f724c6c7"}]},{"type":"GIT","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","events":[{"introduced":"75d95e2e39b27f733f21e6668af1c9893a97de5e"},{"fixed":"93a2385730540105df8524447dcc11309ad280f9"},{"fixed":"ea33fac0df7fe7b49a4b27acb83e227b82317d1d"},{"fixed":"5a250bff75a446374c05622973b18b4ab662b504"},{"fixed":"85aeb8fc61839098ae0942ccba86e669c08e75d4"},{"fixed":"6eaa632d0ed7bbb84f9cb670e5ec4e2cecf4cc7b"},{"fixed":"fb4824880b0dba0e7b3a497c46c642f979630392"},{"fixed":"b48373c901951fad1a26bd7c33ad91172b3945b5"}]},{"type":"GIT","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","events":[{"introduced":"67cf0fbcac0d42d4d4686cddc1e39f465bbfec37"}]},{"type":"GIT","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","events":[{"introduced":"d09639528b66b5c7c20dc8f7fb8928aacabd40bb"}]},{"type":"GIT","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","events":[{"introduced":"c14a54675db7131791402fa22fb0fa6da1f5fb66"}]}],"versions":["v5.10.269","v5.10.268","v5.10.267","v5.10.266","v5.10.265","v5.10.264","v5.10.263","v5.10.262","v5.10.261","v5.10.260","v5.10.259","v5.10.258","v5.10.257","v5.10.256","v5.10.255","v5.10.254","v5.10.253","v5.10.252","v5.10.251","v5.10.250","v5.10.249","v5.10.248","v5.10.247","v5.10.246","v5.10.245","v5.10.244","v5.10.243","v5.10.242","v5.10.241","v5.10.240","v5.10.239","v5.10.238","v5.10.237","v5.10.236","v5.10.235","v5.10.234","v5.10.233","v5.10.232","v5.10.231","v5.10.230","v5.10.229","v5.10.228","v5.10.227","v5.10.226","v5.10.225","v5.10.224","v5.10.223","v5.10.222","v5.10.221","v5.10.220","v5.10.219","v5.10.218","v5.10.217","v5.10.216","v5.10.215","v5.10.214","v5.10.213","v5.10.212","v5.10.211","v5.10.210","v5.10.209","v5.10.208","v5.10.207","v5.10.206","v5.10.205","v5.10.204","v5.10.203","v5.10.202","v5.10.201","v5.10.200","v5.10.199","v5.10.198","v5.10.197","v5.10.196","v5.10.195","v5.10.194","v5.10.193","v5.10.192","v5.10.191","v5.10.190","v5.10.189","v5.10.188","v5.10.187","v5.10.186","v5.10.185","v5.10.184","v5.10.183","v5.10.182","v5.10.181","v5.10.180","v5.10.179","v5.10.178","v5.10.177","v5.10.176","v5.10.175","v5.10.174","v5.10.173","v5.10.172","v5.10.171","v5.10.170","v5.10.169","v5.10.168","v5.10.167","v5.10.166","v5.10.165","v5.10.164","v5.10.163","v5.10.162","v5.10.161","v5.10.160","v5.10.159","v5.10.158","v5.10.157","v5.10.156","v5.10.155","v5.10.154","v5.10.153","v5.10.152","v5.10.151","v5.10.150","v5.10.149","v5.10.148","v5.10.147","v5.10.146","v5.10.145","v5.10.144","v5.10.143","v5.10.142","v5.10.141","v5.10.140","v5.10.139","v5.10.138","v5.10.137","v5.10.136","v5.10.135","v5.10.134","v5.10.133","v5.10.132","v5.10.131","v5.10.130","v5.10.129","v5.10.128","v5.10.127","v5.10.126","v5.10.125","v5.10.124","v5.10.123","v5.10.122","v5.10.121","v5.10.120","v5.10.119","v5.10.118","v5.10.117","v5.10.116","v5.10.115","v5.10.114","v5.10.113","v5.10.112","v5.10.111","v5.10.110","v5.10.109","v5.10.108","v5.10.107","v5.10.106","v5.10.105","v5.10.104","v5.10.103","v5.10.102","v5.10.101","v5.10.100","v5.10.99","v5.10.98","v5.10.97","v5.10.96","v5.10.95","v5.10.94","v5.10.93","v5.10.92","v5.10.91","v5.10.90","v5.10.89","v5.10.88","v5.10.87","v5.10.86","v5.10.85","v5.10.84","v5.10.83","v5.10.82","v5.10.81","v5.10.80","v5.10.79","v5.10.78","v5.10.77","v5.10.76","v5.10.75","v5.10.74","v5.10.73","v5.10.72","v5.10.71","v5.10.70","v5.10.69","v5.10.68","v5.10.67","v5.10.66","v5.10.65","v5.10.64","v5.10.63","v5.10.62","v5.10.61","v5.10.60","v5.10.59","v5.10.58","v4.19.325","v4.19.324","v4.19.323","v4.19.322","v4.19.321","v4.19.320","v4.19.319","v4.19.318","v4.19.317","v4.19.316","v4.19.315","v4.19.314","v4.19.313","v4.19.312","v4.19.311","v4.19.310","v4.19.309","v4.19.308","v4.19.307","v4.19.306","v4.19.305","v4.19.304","v4.19.303","v4.19.302","v4.19.301","v4.19.300","v4.19.299","v4.19.298","v4.19.297","v4.19.296","v4.19.295","v4.19.294","v4.19.293","v4.19.292","v4.19.291","v4.19.290","v4.19.289","v4.19.288","v4.19.287","v4.19.286","v4.19.285","v4.19.284","v4.19.283","v4.19.282","v4.19.281","v4.19.280","v4.19.279","v4.19.278","v4.19.277","v4.19.276","v4.19.275","v4.19.274","v4.19.273","v4.19.272","v4.19.271","v4.19.270","v4.19.269","v4.19.268","v4.19.267","v4.19.266","v4.19.265","v4.19.264","v4.19.263","v4.19.262","v4.19.261","v4.19.260","v4.19.259","v4.19.258","v4.19.257","v4.19.256","v4.19.255","v4.19.254","v4.19.253","v4.19.252","v4.19.251","v4.19.250","v4.19.249","v4.19.248","v4.19.247","v4.19.246","v4.19.245","v4.19.244","v4.19.243","v4.19.242","v4.19.241","v4.19.240","v4.19.239","v4.19.238","v4.19.237","v4.19.236","v4.19.235","v4.19.234","v4.19.233","v4.19.232","v4.19.231","v4.19.230","v4.19.229","v4.19.228","v4.19.227","v4.19.226","v4.19.225","v4.19.224","v4.19.223","v4.19.222","v4.19.221","v4.19.220","v4.19.219","v4.19.218","v4.19.217","v4.19.216","v4.19.215","v4.19.214","v4.19.213","v4.19.212","v4.19.211","v4.19.210","v4.19.209","v4.19.208","v4.19.207","v4.19.206","v4.19.205","v4.19.204","v4.19.203","v5.4.302","v5.4.301","v5.4.300","v5.4.299","v5.4.298","v5.4.297","v5.4.296","v5.4.295","v5.4.294","v5.4.293","v5.4.292","v5.4.291","v5.4.290","v5.4.289","v5.4.288","v5.4.287","v5.4.286","v5.4.285","v5.4.284","v5.4.283","v5.4.282","v5.4.281","v5.4.280","v5.4.279","v5.4.278","v5.4.277","v5.4.276","v5.4.275","v5.4.274","v5.4.273","v5.4.272","v5.4.271","v5.4.270","v5.4.269","v5.4.268","v5.4.267","v5.4.266","v5.4.265","v5.4.264","v5.4.263","v5.4.262","v5.4.261","v5.4.260","v5.4.259","v5.4.258","v5.4.257","v5.4.256","v5.4.255","v5.4.254","v5.4.253","v5.4.252","v5.4.251","v5.4.250","v5.4.249","v5.4.248","v5.4.247","v5.4.246","v5.4.245","v5.4.244","v5.4.243","v5.4.242","v5.4.241","v5.4.240","v5.4.239","v5.4.238","v5.4.237","v5.4.236","v5.4.235","v5.4.234","v5.4.233","v5.4.232","v5.4.231","v5.4.230","v5.4.229","v5.4.228","v5.4.227","v5.4.226","v5.4.225","v5.4.224","v5.4.223","v5.4.222","v5.4.221","v5.4.220","v5.4.219","v5.4.218","v5.4.217","v5.4.216","v5.4.215","v5.4.214","v5.4.213","v5.4.212","v5.4.211","v5.4.210","v5.4.209","v5.4.208","v5.4.207","v5.4.206","v5.4.205","v5.4.204","v5.4.203","v5.4.202","v5.4.201","v5.4.200","v5.4.199","v5.4.198","v5.4.197","v5.4.196","v5.4.195","v5.4.194","v5.4.193","v5.4.192","v5.4.191","v5.4.190","v5.4.189","v5.4.188","v5.4.187","v5.4.186","v5.4.185","v5.4.184","v5.4.183","v5.4.182","v5.4.181","v5.4.180","v5.4.179","v5.4.178","v5.4.177","v5.4.176","v5.4.175","v5.4.174","v5.4.173","v5.4.172","v5.4.171","v5.4.170","v5.4.169","v5.4.168","v5.4.167","v5.4.166","v5.4.165","v5.4.164","v5.4.163","v5.4.162","v5.4.161","v5.4.160","v5.4.159","v5.4.158","v5.4.157","v5.4.156","v5.4.155","v5.4.154","v5.4.153","v5.4.152","v5.4.151","v5.4.150","v5.4.149","v5.4.148","v5.4.147","v5.4.146","v5.4.145","v5.4.144","v5.4.143","v5.4.142","v5.4.141","v5.4.140","v5.13.19","v5.13.18","v5.13.17","v5.13.16","v5.13.15","v5.13.14","v5.13.13","v5.13.12","v5.13.11","v5.13.10"],"database_specific":{"source":"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2026-90284.json"}},{"package":{"name":"Kernel","ecosystem":"Linux"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"4.19.203"},{"fixed":"4.20"}]},{"type":"ECOSYSTEM","events":[{"introduced":"5.4.140"},{"fixed":"5.5"}]},{"type":"ECOSYSTEM","events":[{"introduced":"5.10.58"},{"fixed":"5.10.270"}]},{"type":"ECOSYSTEM","events":[{"introduced":"5.13.10"},{"fixed":"5.14"}]},{"type":"ECOSYSTEM","events":[{"introduced":"5.14.0"},{"fixed":"5.15.221"}]},{"type":"ECOSYSTEM","events":[{"introduced":"5.16.0"},{"fixed":"6.1.188"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.2.0"},{"fixed":"6.6.157"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.7.0"},{"fixed":"6.12.110"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.13.0"},{"fixed":"6.18.52"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.19.0"},{"fixed":"7.2.6"}]}],"database_specific":{"source":"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2026-90284.json"}}],"schema_version":"1.9.2"}