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.
Published: 2026-07-25
Score: 5.5 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The flaw is a reference‐count leak in the Linux kernel’s firmware_loader, triggered when firmware_upload_register() fails to release a device reference after a successful fw_create_instance() call. Because the embedded struct device’s reference counter is not decremented, the leaky reference can accumulate over time. The vulnerability does not expose code execution or privilege escalation; its impact is limited to resource exhaustion that may eventually cause service disruption or system instability.

Affected Systems

All Linux kernel configurations that include the legacy firmware_loader implementation are potentially affected, as the vulnerability resides in core kernel code. The issue applies to every distribution that ships an unpatched kernel containing the vulnerable firmware_loader module. Specific version information is not provided, so any kernel image using the pre-2026 firmware_loader codebase may be at risk until the fix is applied.

Risk and Exploitability

The CVSS score of 5.5 and an EPSS score of less than 1% indicate a moderate severity but a low probability of exploitation. The kernel component is invoked when firmware upload operations occur, so an attacker would need access to that interface or untrusted firmware to trigger the leak. The vulnerability is listed as not in CISA KEV, reducing immediate concern for widespread exploitation. Because the flaw does not lead to data disclosure or privilege escalation, the risk remains mainly that repeated failures could accumulate a reference count leak, potentially degrading system stability over time.

Generated by OpenCVE AI on August 2, 2026 at 13:05 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Apply the upstream patch that adds a put_device() call in the error path of firmware_upload_register().
  • If a kernel update cannot be applied promptly, rebuild the kernel or firmware_loader module from the latest stable tree that contains the fix and deploy it to affected hosts.
  • Monitor system logs and device statistics for unusual reference count increases, and plan a timely kernel upgrade once the patch is confirmed to be in place.

Generated by OpenCVE AI on August 2, 2026 at 13:05 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Debian DLA Debian DLA DLA-4720-1 linux security update
Debian DLA Debian DLA DLA-4723-1 linux-6.1 security update
Debian DLA Debian DLA DLA-4724-1 linux-6.12 new package
History

Sat, 01 Aug 2026 02:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-367
CWE-404

Thu, 30 Jul 2026 00:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-911
References
Metrics threat_severity

None

cvssV3_1

{'score': 5.5, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H'}

threat_severity

Low


Sun, 26 Jul 2026 02:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-367
CWE-404

Sat, 25 Jul 2026 09:30:00 +0000

Type Values Removed Values Added
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.
Title firmware_loader: fix device reference leak in firmware_upload_register()
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-07-25T08:50:27.577Z

Reserved: 2026-07-19T15:36:31.784Z

Link: CVE-2026-64376

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-07-25T10:17:20.717

Modified: 2026-08-11T15:01:50.637

Link: CVE-2026-64376

cve-icon Redhat

Severity : Low

Publid Date: 2026-07-25T00:00:00Z

Links: CVE-2026-64376 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-02T13:15:03Z

Weaknesses
  • CWE-911

    Improper Update of Reference Count