Cloudanix VulnDB

CVE-2025-38137

None

CVSS

—

EPSS

0.2%

Published

Jul 3, 2025

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A flaw in the Linux kernel could let attackers crash systems or run code by manipulating power management for certain hardware devices.

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

What it actually does

Use-after-free in Linux kernel PCI/pwrctrl when rescan_work_func executes after pwrctrl driver unload during device unregister, allowing access to freed data structures.

Why it matters to the business

Kernel instability, crashes, or potential privilege escalation on affected Linux systems, particularly those using dynamic PCI power management, increasing downtime and security risk in servers and embedded devices.

How an attack unfolds

An attacker triggers prolonged execution of rescan_work_func while simultaneously unloading a pwrctrl driver, causing the work item to reference freed memory after unregister completes and data structures are cleaned up.

How to fix it

Update Linux kernel to the fixed commit b3ad6d23fec23fbef382ce9ea640c37446593cf5 or later stable versions; for nsc-fips (Chainguard) upgrade to 2.11.0-r2 or newer.

How to confirm the fix worked

Confirm kernel source contains the cancel work logic in PCI/pwrctrl unregister path and verify no outstanding rescan work after driver unload via code review or runtime testing.

Typical attack path

  1. Identify system with PCI power control and loadable pwrctrl drivers
  2. Force rescan_work_func to delay execution
  3. Unload pwrctrl driver to initiate unregister and cleanup
  4. Trigger use-after-free when delayed work accesses freed structures

How to detect it

Review kernel logs for PCI power control errors or oops around driver unload events; inspect for workqueue anomalies tied to rescan_work_func.

What your security team should do

  • Prioritize kernel updates on systems exposing PCI power control interfaces
  • Monitor EPSS trend for any increase in exploit likelihood
  • Apply fixes within standard patch cycles given low current EPSS and no KEV listing

The record

In the Linux kernel, the following vulnerability has been resolved: PCI/pwrctrl: Cancel outstanding rescan work when unregistering It's possible to trigger use-after-free here by: (a) forcing rescan_work_func() to take a long time and (b) utilizing a pwrctrl driver that may be unloaded for some reason Cancel outstanding work to ensure it is finished before we allow our data structures to be cleaned up. [bhelgaas: tidy commit log]

Affected packages

Ecosystem Package Introduced Fixed
Chainguard hyperv-daemons-6.12 0 6.12.58-r1
Chainguard linux-aws-6.12-boot-installed 0 6.12.58-r0
Chainguard linux-aws-6.12-fips-boot-installed 0 6.12.58-r0
Chainguard linux-aws-6.12-headers 0 6.12.58-r0
Chainguard linux-aws-6.12-modules 0 6.12.58-r0
Chainguard linux-azure-6.12-boot-installed 0 6.12.58-r1
Chainguard linux-azure-6.12-fips-boot-installed 0 6.12.60-r1
Chainguard linux-azure-6.12-headers 0 6.12.60-r2
Chainguard linux-azure-6.12-modules 0 6.12.58-r1
Chainguard linux-gcp-6.12-boot-installed 0 6.12.58-r0
Chainguard linux-gcp-6.12-fips-boot-installed 0 6.12.58-r0
Chainguard linux-gcp-6.12-headers 0 6.12.58-r0
Chainguard linux-gcp-6.12-modules 0 6.12.58-r0
Chainguard linux-qemu-6.12-boot-installed 0 6.12.63-r0
Chainguard linux-qemu-6.12-fips-boot-installed 0 6.12.63-r0
Chainguard linux-qemu-6.12-headers 0 6.12.63-r0
Chainguard linux-qemu-6.12-modules 0 6.12.63-r0
Chainguard linux-vmware-6.12 0 6.12.67-r0
Chainguard linux-vmware-6.12-boot-installed 0 6.12.63-r0
Chainguard linux-vmware-6.12-fips-boot-installed 0 6.12.63-r0
Chainguard linux-vmware-6.12-headers 0 6.12.63-r0
Chainguard linux-vmware-6.12-modules 0 6.12.63-r0
Debian:13 linux 0 No fix
Debian:14 linux 0 6.16.3-1
Linux Kernel 6.11.0 6.15.3
openSUSE:Leap 16.0 dtb-aarch64 0 6.12.0-160000.6.1
openSUSE:Leap 16.0 kernel-64kb 0 6.12.0-160000.6.1
openSUSE:Leap 16.0 kernel-default 0 6.12.0-160000.6.1
openSUSE:Leap 16.0 kernel-default-base 0 6.12.0-160000.6.1.160000.2.4
openSUSE:Leap 16.0 kernel-docs 0 6.12.0-160000.6.1
openSUSE:Leap 16.0 kernel-kvmsmall 0 6.12.0-160000.6.1
openSUSE:Leap 16.0 kernel-obs-build 0 6.12.0-160000.6.1
openSUSE:Leap 16.0 kernel-obs-qa 0 6.12.0-160000.6.1
openSUSE:Leap 16.0 kernel-rt 0 6.12.0-160000.6.1
openSUSE:Leap 16.0 kernel-source 0 6.12.0-160000.6.1
openSUSE:Leap 16.0 kernel-syms 0 6.12.0-160000.6.1
openSUSE:Leap 16.0 kernel-zfcpdump 0 6.12.0-160000.6.1

Related vulnerabilities