Cloudanix VulnDB

CVE-2026-90284

None

CVSS

—

EPSS

0.2%

Published

Sep 17, 2026

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A flaw in how Linux loads firmware files could let a local attacker crash the computer or gain higher privileges.

Exploitation
Local Privilege
Attacker needs
Local User
Complexity
Moderate
Impact
Denial Of Service
Component
OS kernel
Class
Use After Free
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

Use-after-free in the Linux kernel firmware_loader where a completed sysfs fallback request can be queued onto pending_fw_head, leaving a dangling pointer to freed memory that is dereferenced on subsequent list operations.

Why it matters to the business

Linux systems may experience kernel crashes, memory corruption, or potential local privilege escalation, disrupting services and requiring urgent patching across server and embedded fleets.

How an attack unfolds

An attacker with local access triggers the race by allowing a userspace firmware helper to complete a request via the loading attribute immediately after device_add but before the entry is queued, causing the kernel to later dereference freed memory during list validation or abort handling.

How to fix it

Update to a Linux kernel version containing the fix that prevents queuing already-completed fw_priv entries and returns success early from the fallback path when the request is done after device_add.

How to confirm the fix worked

Confirm the kernel source contains the check that returns success without queuing when the request state is already DONE after device_add, and verify pending_fw_head only holds active requests.

Typical attack path

  1. Obtain local code execution on a Linux system
  2. Trigger firmware fallback loading via a device that uses sysfs interface
  3. Race the completion write to the loading attribute against internal queuing
  4. Force subsequent fallback request or suspend/reboot handling to dereference the freed list entry
  5. Achieve memory corruption for denial of service or privilege escalation

How to detect it

Inspect kernel logs for oops or list corruption messages referencing firmware_loader, pending_fw_head, or fw_load_sysfs_fallback during device initialization or reboot sequences.

What your security team should do

  • Prioritize kernel updates on all internet-facing and multi-tenant Linux hosts
  • Review any custom firmware loading helpers that interact with sysfs loading attributes
  • Monitor for kernel oops or list corruption in firmware paths after applying updates

The record

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.

Affected packages

Ecosystem Package Introduced Fixed