Cloudanix VulnDB

CVE-2025-38041

Medium · 5.5

CVSS

5.5

EPSS

0.2%

Published

Jun 18, 2025

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A bug in the Linux kernel for certain graphics chips can cause the graphics processor to crash or freeze when adjusting its speed.

Exploitation
Local Privilege
Attacker needs
Local User
Complexity
Low
Impact
Denial Of Service
Component
OS kernel
Class
Race Condition
Remediation
Patch
Effort
Medium
Patch risk
Low

What it actually does

Race condition in sunxi-ng h616 GPU clock handling prevents safe reparenting during PLL frequency changes, allowing concurrent DVFS operations to trigger panfrost driver oops and GPU hangs.

Why it matters to the business

Systems using Allwinner H616 SoCs experience GPU instability and crashes during graphics workloads or power management transitions, reducing reliability for multimedia, compute, and embedded applications until patched kernels are deployed.

How an attack unfolds

An attacker with local access triggers GPU dynamic voltage and frequency scaling through graphics or compute workloads; the missing clock reparenting logic allows the PLL change to race with active GPU operations, resulting in driver faults and device hangs.

How to fix it

Update to a kernel containing commit 1439673b78185eaaa5fae444b3a9d58c434ee78e or later; rebuild and deploy the fixed kernel image on all H616-based devices.

How to confirm the fix worked

Confirm the presence of commit 1439673b78185eaaa5fae444b3a9d58c434ee78e in the running kernel source or binary; exercise GPU DVFS workloads and verify absence of panfrost oops or GPU hangs.

Typical attack path

  1. Obtain local execution on an affected H616-based Linux system
  2. Initiate GPU-accelerated workloads that invoke DVFS
  3. Trigger PLL frequency change without proper reparenting to GPU1 clock
  4. Cause race leading to panfrost oops and GPU hang

How to detect it

Review kernel logs for panfrost oops messages and GPU hang indicators on systems running affected sunxi-ng clock code prior to the fix commit.

What your security team should do

  • Prioritize kernel upgrade on all H616 hardware within maintenance windows
  • Test GPU workloads under DVFS after patching to validate stability
  • Monitor kernel logs for panfrost errors on unpatched systems

The record

In the Linux kernel, the following vulnerability has been resolved: clk: sunxi-ng: h616: Reparent GPU clock during frequency changes The H616 manual does not state that the GPU PLL supports dynamic frequency configuration, so we must take extra care when changing the frequency. Currently any attempt to do device DVFS on the GPU lead to panfrost various ooops, and GPU hangs. The manual describes the algorithm for changing the PLL frequency, which the CPU PLL notifier code already support, so we reuse that to reparent the GPU clock to GPU1 clock during frequency changes.

Affected packages

Ecosystem Package Introduced Fixed
Chainguard hyperv-daemons-6.12 0 6.12.57-r2
Chainguard linux-aws-6.12-boot-installed 0 6.12.57-r2
Chainguard linux-aws-6.12-fips-boot-installed 0 6.12.57-r2
Chainguard linux-aws-6.12-headers 0 6.12.57-r2
Chainguard linux-aws-6.12-modules 0 6.12.57-r2
Chainguard linux-azure-6.12-boot-installed 0 6.12.57-r2
Chainguard linux-azure-6.12-fips-boot-installed 0 6.12.57-r2
Chainguard linux-azure-6.12-headers 0 6.12.57-r2
Chainguard linux-azure-6.12-modules 0 6.12.57-r2
Chainguard linux-gcp-6.12-boot-installed 0 6.12.58-r0
Chainguard linux-gcp-6.12-fips-boot-installed 0 6.12.57-r2
Chainguard linux-gcp-6.12-headers 0 6.12.57-r2
Chainguard linux-gcp-6.12-modules 0 6.12.57-r2
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:11 linux 0 No fix
Debian:12 linux 0 No fix
Debian:13 linux 0 No fix
Debian:14 linux 0 6.16.3-1
Linux Kernel 0 6.14.9
Linux Kernel 5.12.0 6.14.9

Related vulnerabilities