Skip to main content
VulnerabilityPublished Updated

CVE-2026-64376: Linux kernel · firmware_loader: fix device reference leak in firmware_upload_register()

Affects Linux kernelSource CVE Database V5

0
Compare

Not known to be exploited · fixed in 517676ec7dfca064e08f94007a4abd21969de0a0 : update Linux kernel when convenient.

Data as of 6 Nov 2026, 17:04 UTC

Severity
Unrated

Rated by Threat Radar · No CVSS score from NVD or the CNA

Thin evidence

One scorer or none
CISA SSVC
Exploitation
No evidence of active exploitation and no public proof of concept
Automatable
Attackers cannot reliably automate steps 1–4 of the kill chain
Technical impact
Limited control over the software or limited information exposure

CISA SSVC assessment, 2026-11-06.

Patch
Available – fixed in 517676ec7dfca064e08f94007a4abd21969de0a0, 15432f19562fdb9199cce6d9fc24db12c71ed574, 2619b47a0c8114eef980a56ade7e3ef4b58eb384 +3

Exploitation evidence

  1. Disclosed: evidence found.

    CVE published 25 Jul 2026

  2. Detectable: no evidence on record.

    No public nuclei template indexed

  3. Weaponized: no evidence on record.

    No public exploit code indexed in Metasploit or Exploit-DB

  4. Exploited in the wild: no evidence on record.

    Not in CISA KEV and no source reports exploitation

  5. Observed by OffSeq Mirage: no evidence on record.

    No attack traffic recorded by OffSeq Mirage sensors

A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 6 Nov 2026.

What to do

Upgrade to a fixed release listed under Affected software.

Affected software

ProductAffectedFixed in
LinuxLinuxAffected
  • ≥ 97730bbb242cde22b7140acd202ffd88823886c9, < 517676ec7dfca064e08f94007a4abd21969de0a0
Fixed in
  • 517676ec7dfca064e08f94007a4abd21969de0a0
LinuxLinuxAffected
  • ≥ 97730bbb242cde22b7140acd202ffd88823886c9, < 15432f19562fdb9199cce6d9fc24db12c71ed574
Fixed in
  • 15432f19562fdb9199cce6d9fc24db12c71ed574
LinuxLinuxAffected
  • ≥ 97730bbb242cde22b7140acd202ffd88823886c9, < 2619b47a0c8114eef980a56ade7e3ef4b58eb384
Fixed in
  • 2619b47a0c8114eef980a56ade7e3ef4b58eb384
LinuxLinuxAffected
  • ≥ 97730bbb242cde22b7140acd202ffd88823886c9, < 896df22ee57648b0c505bd76ddbc6b2341834696
Fixed in
  • 896df22ee57648b0c505bd76ddbc6b2341834696
LinuxLinuxAffected
  • ≥ 97730bbb242cde22b7140acd202ffd88823886c9, < 92f41769e5fd16bcd9ba97500d0517332e0a5b45
Fixed in
  • 92f41769e5fd16bcd9ba97500d0517332e0a5b45
LinuxLinuxAffected
  • ≥ 97730bbb242cde22b7140acd202ffd88823886c9, < 46d403da376a8b7c1187193294953816e1a8d7fe
Fixed in
  • 46d403da376a8b7c1187193294953816e1a8d7fe

Description

In the Linux kernel, the following vulnerability has been resolved: firmware_loader: fix device reference leak in firmware_upload_register() firmware_upload_register() -> fw_create_instance() -> device_initialize() After fw_create_instance() succeeds, the lifetime of the embedded struct device is expected to be managed through the device core reference counting, since fw_create_instance() has already called device_initialize(). In firmware_upload_register(), if alloc_lookup_fw_priv() fails after fw_create_instance() succeeds, the code reaches free_fw_sysfs and frees fw_sysfs directly instead of releasing the device reference with put_device(). This may leave the reference count of the embedded struct device unbalanced, resulting in a refcount leak. The issue was identified by a static analysis tool I developed and confirmed by manual review. Fix this by using put_device(fw_dev) in the failure path and letting fw_dev_release() handle the final cleanup, instead of freeing the instance directly from the error path.

References

Community reviews

Loading reviews…