Cloudanix VulnDB

CVE-2025-38634

None

CVSS

—

EPSS

0.2%

Published

Aug 22, 2025

CISA due date

—

Cloudanix analysis

Monitor only SSVC: Track

A bug in how the Linux kernel checks for a power component could let an attacker crash the whole computer under the right hardware conditions.

Exploitation
Local Privilege
Attacker needs
Local User
Complexity
Moderate
Impact
Denial Of Service
Component
OS kernel
Class
Memory Corruption
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

Missing null check after power_supply_get_by_name() in cpcap_usb_detect() allows NULL pointer dereference, resulting in kernel memory corruption or crash.

Why it matters to the business

Systems using affected Linux kernels with the cpcap charger driver may experience unexpected kernel panics or instability, especially during USB power events; older kernels increase exposure window.

How an attack unfolds

An attacker with local access or the ability to trigger USB detection events on hardware using the cpcap charger causes power_supply_get_by_name to return NULL; the subsequent dereference without a check leads to kernel fault. Related privilege-escalation campaigns targeting Container-Optimized OS have exploited similar kernel paths.

How to fix it

Update Linux kernel to commit 4ebbb9106aaa2fd58e0359bc3a2490953db2ef0c or later; for Chainguard packages update openjdk-17-openj9* to 0.53.0-r0.

How to confirm the fix worked

Confirm kernel source contains the added NULL check after power_supply_get_by_name in cpcap-charger.c; verify running kernel version includes the fix commit or package version 0.53.0-r0.

Typical attack path

  1. Gain local execution context on affected Linux system
  2. Trigger cpcap_usb_detect via USB insertion or power supply events
  3. Force power_supply_get_by_name to return NULL
  4. Trigger NULL dereference to induce kernel crash or corruption

How to detect it

Review kernel logs for oops/panic traces mentioning cpcap_usb_detect or power_supply_get_by_name; search audit and dmesg for USB power events preceding crashes.

What your security team should do

  • Prioritize kernel upgrade on all systems exposing the cpcap charger driver
  • Monitor for kernel oops or panic logs related to cpcap_usb_detect
  • Apply updates before the CISA-style deadlines referenced in similar kernel issues
  • Restrict untrusted local access on high-value systems until patched

The record

In the Linux kernel, the following vulnerability has been resolved: power: supply: cpcap-charger: Fix null check for power_supply_get_by_name In the cpcap_usb_detect() function, the power_supply_get_by_name() function may return `NULL` instead of an error pointer. To prevent potential null pointer dereferences, Added a null check.

Affected packages

Ecosystem Package Introduced Fixed
Debian:12 linux 0 No fix
Debian:13 linux 0 No fix
Debian:14 linux 0 No fix
Debian:14 linux 0 6.16.3-1
Linux Kernel 5.14.0 5.15.190
Mageia:9 kernel 0 6.6.105-1.mga9
Mageia:9 kernel-linus 0 6.6.105-1.mga9
Mageia:9 kmod-virtualbox 0 7.1.10-10.mga9
Mageia:9 kmod-xtables-addons 0 3.24-86.mga9
Mageia:9 mageia-repos 0 9-4.mga9
Mageia:9 meta-task 0 9-4.mga9
SUSE:Linux Enterprise High Availability Extension 15 SP6 kernel-default 0 6.4.0-150600.23.70.1
SUSE:Linux Enterprise Live Patching 15 SP6 kernel-default 0 6.4.0-150600.23.70.1
SUSE:Linux Enterprise Live Patching 15 SP6 kernel-livepatch-SLE15-SP6-RT_Update_15 0 1-150600.1.3.1
SUSE:Linux Enterprise Live Patching 15 SP6 kernel-livepatch-SLE15-SP6_Update_15 0 1-150600.13.3.2
SUSE:Linux Enterprise Module for Basesystem 15 SP6 kernel-64kb 0 6.4.0-150600.23.70.1
SUSE:Linux Enterprise Module for Basesystem 15 SP6 kernel-default 0 6.4.0-150600.23.70.1
SUSE:Linux Enterprise Module for Basesystem 15 SP6 kernel-default-base 0 6.4.0-150600.23.70.1.150600.12.30.2
SUSE:Linux Enterprise Module for Basesystem 15 SP6 kernel-source 0 6.4.0-150600.23.70.1
SUSE:Linux Enterprise Module for Basesystem 15 SP6 kernel-zfcpdump 0 6.4.0-150600.23.70.1
SUSE:Linux Enterprise Module for Development Tools 15 SP6 kernel-docs 0 6.4.0-150600.23.70.1
SUSE:Linux Enterprise Module for Development Tools 15 SP6 kernel-obs-build 0 6.4.0-150600.23.70.1
SUSE:Linux Enterprise Module for Development Tools 15 SP6 kernel-source 0 6.4.0-150600.23.70.1
SUSE:Linux Enterprise Module for Development Tools 15 SP6 kernel-syms 0 6.4.0-150600.23.70.1
SUSE:Linux Enterprise Module for Legacy 15 SP6 kernel-default 0 6.4.0-150600.23.70.1
SUSE:Linux Enterprise Module for Public Cloud 15 SP6 kernel-azure 0 6.4.0-150600.8.52.1
SUSE:Linux Enterprise Module for Public Cloud 15 SP6 kernel-source-azure 0 6.4.0-150600.8.52.1
SUSE:Linux Enterprise Module for Public Cloud 15 SP6 kernel-syms-azure 0 6.4.0-150600.8.52.1
SUSE:Linux Enterprise Workstation Extension 15 SP6 kernel-default 0 6.4.0-150600.23.70.1
SUSE:Real Time Module 15 SP6 kernel-rt 0 6.4.0-150600.10.52.1
SUSE:Real Time Module 15 SP6 kernel-rt_debug 0 6.4.0-150600.10.52.1
SUSE:Real Time Module 15 SP6 kernel-source-rt 0 6.4.0-150600.10.52.1
SUSE:Real Time Module 15 SP6 kernel-syms-rt 0 6.4.0-150600.10.52.1
openSUSE:Leap 15.6 dtb-aarch64 0 6.4.0-150600.23.70.1
openSUSE:Leap 15.6 kernel-64kb 0 6.4.0-150600.23.70.1
openSUSE:Leap 15.6 kernel-azure 0 6.4.0-150600.8.52.1
openSUSE:Leap 15.6 kernel-debug 0 6.4.0-150600.23.70.1
openSUSE:Leap 15.6 kernel-default 0 6.4.0-150600.23.70.1
openSUSE:Leap 15.6 kernel-default-base 0 6.4.0-150600.23.70.1.150600.12.30.2
openSUSE:Leap 15.6 kernel-docs 0 6.4.0-150600.23.70.1
openSUSE:Leap 15.6 kernel-kvmsmall 0 6.4.0-150600.23.70.1
openSUSE:Leap 15.6 kernel-obs-build 0 6.4.0-150600.23.70.1
openSUSE:Leap 15.6 kernel-obs-qa 0 6.4.0-150600.23.70.1
openSUSE:Leap 15.6 kernel-rt 0 6.4.0-150600.10.52.1
openSUSE:Leap 15.6 kernel-rt_debug 0 6.4.0-150600.10.52.1
openSUSE:Leap 15.6 kernel-source 0 6.4.0-150600.23.70.1
openSUSE:Leap 15.6 kernel-source-azure 0 6.4.0-150600.8.52.1
openSUSE:Leap 15.6 kernel-source-rt 0 6.4.0-150600.10.52.1
openSUSE:Leap 15.6 kernel-syms 0 6.4.0-150600.23.70.1
openSUSE:Leap 15.6 kernel-syms-azure 0 6.4.0-150600.8.52.1
openSUSE:Leap 15.6 kernel-syms-rt 0 6.4.0-150600.10.52.1
openSUSE:Leap 15.6 kernel-zfcpdump 0 6.4.0-150600.23.70.1
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