CVE-2026-90284
CVE.org · Published
- Record status
- Published
- Identifier year (not publication year)
- 2026
- Source publication
- Source updated
- Imported by cveboard
- Source snapshot
- cve_2026-10-24_midnight_baseline ·
CNA source text (English)
firmware_loader: do not queue completed sysfs fallback requests
In the Linux kernel, the following vulnerability has been resolved: firmware_loader: do not queue completed sysfs fallback requests fw_load_sysfs_fallback() calls device_add() before adding the fw_priv to pending_fw_head. device_add() publishes the fallback loading interface, so a userspace helper which discovers the device by scanning sysfs can write 0 to the loading attribute and complete the request before it is queued as pending. In that interleaving firmware_loading_store() calls fw_state_done() while pending_list still points to itself, so it cannot remove an entry from pending_fw_head. The subsequent unconditional list_add() then queues an already-completed fw_priv. Once the request is released, pending_fw_head can retain a pointer to freed memory and the next fallback request can fault while validating the list. Only in-flight fallback requests need suspend or reboot abort handling. If the request is already DONE after device_add(), return success from the fallback path without sending another uevent, waiting again, or queueing it as pending. This preserves the invariant that pending_fw_head contains only active fallback requests.
Scoped product and version facts
Fix information unknown; no fixed version is derived here. Missing information does not prove that no fix exists.
Exploitation unknown; this catalogue does not assess exploitation.
Linux
- Vendor
- Linux
- Product
- Linux
- Platforms
- Unknown
- Default status
unaffected
| Version (version) | Status (status) | Version scheme (versionType) | Exclusive end (lessThan) | Inclusive end (lessThanOrEqual) | Status changes (at → status) |
|---|---|---|---|---|---|
| ecb739cf15a9bae040ce6b60209b78b92512d120 | affected | git | c8b97c5130f27b64fa2cfe1aa4bebb13f724c6c7 | Unavailable | None listed |
| 75d95e2e39b27f733f21e6668af1c9893a97de5e | affected | git | 93a2385730540105df8524447dcc11309ad280f9 | Unavailable | None listed |
| 75d95e2e39b27f733f21e6668af1c9893a97de5e | affected | git | ea33fac0df7fe7b49a4b27acb83e227b82317d1d | Unavailable | None listed |
| 75d95e2e39b27f733f21e6668af1c9893a97de5e | affected | git | 5a250bff75a446374c05622973b18b4ab662b504 | Unavailable | None listed |
| 75d95e2e39b27f733f21e6668af1c9893a97de5e | affected | git | 85aeb8fc61839098ae0942ccba86e669c08e75d4 | Unavailable | None listed |
| 75d95e2e39b27f733f21e6668af1c9893a97de5e | affected | git | 6eaa632d0ed7bbb84f9cb670e5ec4e2cecf4cc7b | Unavailable | None listed |
| 75d95e2e39b27f733f21e6668af1c9893a97de5e | affected | git | fb4824880b0dba0e7b3a497c46c642f979630392 | Unavailable | None listed |
| 75d95e2e39b27f733f21e6668af1c9893a97de5e | affected | git | b48373c901951fad1a26bd7c33ad91172b3945b5 | Unavailable | None listed |
| 67cf0fbcac0d42d4d4686cddc1e39f465bbfec37 | affected | git | Unavailable | Unavailable | None listed |
| d09639528b66b5c7c20dc8f7fb8928aacabd40bb | affected | git | Unavailable | Unavailable | None listed |
| c14a54675db7131791402fa22fb0fa6da1f5fb66 | affected | git | Unavailable | Unavailable | None listed |
| 5.10.58 | affected | semver | 5.10.270 | Unavailable | None listed |
| 4.19.203 | affected | semver | 4.20 | Unavailable | None listed |
| 5.4.140 | affected | semver | 5.5 | Unavailable | None listed |
| 5.13.10 | affected | semver | 5.14 | Unavailable | None listed |
Linux
- Vendor
- Linux
- Product
- Linux
- Platforms
- Unknown
- Default status
affected
| Version (version) | Status (status) | Version scheme (versionType) | Exclusive end (lessThan) | Inclusive end (lessThanOrEqual) | Status changes (at → status) |
|---|---|---|---|---|---|
| 5.14 | affected | Unavailable | Unavailable | Unavailable | None listed |
| 0 | unaffected | semver | 5.14 | Unavailable | None listed |
| 5.10.270 | unaffected | semver | Unavailable | 5.10.* | None listed |
| 5.15.221 | unaffected | semver | Unavailable | 5.15.* | None listed |
| 6.1.188 | unaffected | semver | Unavailable | 6.1.* | None listed |
| 6.6.157 | unaffected | semver | Unavailable | 6.6.* | None listed |
| 6.12.110 | unaffected | semver | Unavailable | 6.12.* | None listed |
| 6.18.52 | unaffected | semver | Unavailable | 6.18.* | None listed |
| 7.2.6 | unaffected | semver | Unavailable | 7.2.* | None listed |
| 7.3 | unaffected | original_commit_for_fix | Unavailable | * | None listed |