Skip to main content

Linux Kernel CVE-2026-64376

| EUVDEUVD-2026-48920 MEDIUM
2026-07-25 Linux GHSA-vfm9-vf3r-mgwg
5.5
CVSS 3.1 · NVD
Share

Severity by source

NVD PRIMARY
5.5 MEDIUM
AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
vuln.today AI
5.5 MEDIUM

Local low-privilege error-path trigger; refcount leak produces availability impact only; no confidentiality or integrity effect confirmed.

3.1 AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
4.0 AV:L/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
SUSE
4.7 MEDIUM
AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H
Red Hat
5.5 LOW
qualitative

Primary rating from NVD.

CVSS VectorNVD

Attack Vector
Local
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
High

Lifecycle Timeline

6
Metadata Corrected
Sep 08, 2026 - 17:40 vuln.today
tag: Information Disclosure removed
Analysis Generated
Sep 08, 2026 - 16:46 vuln.today
CVSS changed
Sep 08, 2026 - 14:37 NVD
5.5 (MEDIUM)
Patch available
Jul 25, 2026 - 11:18 EUVD
CVE Published
Jul 25, 2026 - 08:50 nvd
MEDIUM 5.5
CVE Published
Jul 25, 2026 - 08:50 cve.org
UNKNOWN (no severity yet)

DescriptionNVD

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.

AnalysisAI

Device reference count leak in the Linux kernel's firmware_loader subsystem exposes systems to local denial-of-service conditions. Specifically, firmware_upload_register() fails to call put_device() on the fw_dev pointer when alloc_lookup_fw_priv() fails after fw_create_instance() has already called device_initialize(), leaving the embedded struct device reference count unbalanced and potentially preventing proper memory cleanup. Discovered via static analysis and confirmed by manual code review, the issue is patched across multiple stable kernel branches including 6.1.178, 6.6.145, 6.12.96, 6.18.39, and 7.1.4. No public exploit exists and no active exploitation has been observed.

Technical ContextAI

The Linux kernel firmware_loader subsystem provides a mechanism for drivers to register firmware upload interfaces via sysfs. The function firmware_upload_register() orchestrates instance creation by first calling fw_create_instance(), which internally calls device_initialize() on an embedded struct device, transferring lifecycle management to the device reference-counting framework (kobject/kref). The bug manifests in the error-handling path: if alloc_lookup_fw_priv() subsequently fails, the code jumps to 'free_fw_sysfs' and frees the fw_sysfs structure directly via kfree() rather than via put_device(), which would invoke fw_dev_release() for proper cleanup. This violates the device core contract - once device_initialize() has been called, all cleanup must go through put_device(). The root cause is a resource management defect (conceptually CWE-401/CWE-772: missing release of resource) in a low-frequency error path. CPE cpe:2.3:a:linux:linux identifies the mainline and LTS kernel trees as affected, anchored to the introducing commit 97730bbb242c.

RemediationAI

Upgrade to a patched kernel version: 6.1.178, 6.6.145, 6.12.96, 6.18.39, 7.1.4, or 7.2-rc1 as appropriate for the deployed branch. Ubuntu users should apply USN-8726-1 or USN-8727-1 via the standard apt update mechanism. For systems that cannot be patched immediately, the practical risk is low given the error path conditions required; however, operators can limit exposure by restricting sysfs/udev access permissions to firmware upload interfaces (e.g., using udev rules to limit /sys/class/firmware write access to root-only), which reduces the privilege surface available to low-privilege local users at the cost of potentially preventing legitimate firmware upload operations. Blacklisting or not loading firmware upload drivers for devices that do not require this capability is another targeted mitigation with no functional side effects for those devices.

Vendor StatusVendor

SUSE

Severity: Moderate
Product Status
Container suse/sl-micro/6.0/base-os-container:2.1.3-7.208 Container suse/sl-micro/6.1/base-os-container:2.2.1-5.184 Affected
Container suse/sl-micro/6.0/kvm-os-container:2.1.3-6.218 Container suse/sl-micro/6.1/kvm-os-container:2.2.1-5.186 Affected
Container suse/sl-micro/6.0/rt-os-container:2.1.3-7.237 Container suse/sl-micro/6.1/rt-os-container:2.2.1-5.180 Affected
SUSE Linux Enterprise Real Time 15 SP7 SUSE Real Time Module 15 SP7 Fixed
SUSE Linux Micro 6.0 Fixed

Share

CVE-2026-64376 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy