CVE-2025-38581

5.5 MEDIUM

📋 TL;DR

A NULL pointer dereference vulnerability in the Linux kernel's AMD Cryptographic Coprocessor (CCP) driver causes a kernel crash when rebinding the CCP device with debugfs enabled. This affects Linux systems with AMD cryptographic hardware and the CONFIG_CRYPTO_DEV_CCP_DEBUGFS kernel configuration option enabled. The vulnerability can lead to denial of service through kernel panic.

💻 Affected Systems

Products:
  • Linux kernel with AMD Cryptographic Coprocessor (CCP) driver
Versions: Specific kernel versions containing the bug (check git commits for exact ranges)
Operating Systems: Linux distributions using affected kernel versions
Default Config Vulnerable: ✅ No
Notes: Only vulnerable when CONFIG_CRYPTO_DEV_CCP_DEBUGFS=y is enabled in kernel configuration and AMD CCP hardware is present.

📦 What is this software?

Linux Kernel by Linux

The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...

Learn more about Linux Kernel →

Linux Kernel by Linux

The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...

Learn more about Linux Kernel →

Linux Kernel by Linux

The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...

Learn more about Linux Kernel →

Linux Kernel by Linux

The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...

Learn more about Linux Kernel →

Linux Kernel by Linux

The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...

Learn more about Linux Kernel →

Linux Kernel by Linux

The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...

Learn more about Linux Kernel →

Linux Kernel by Linux

The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...

Learn more about Linux Kernel →

Linux Kernel by Linux

The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...

Learn more about Linux Kernel →

⚠️ Risk & Real-World Impact

🔴

Worst Case

Kernel panic leading to system crash and denial of service, potentially causing data loss or service disruption.

🟠

Likely Case

Local denial of service when rebinding CCP device, requiring system reboot to recover.

🟢

If Mitigated

No impact if debugfs is disabled or CCP hardware is not present.

🌐 Internet-Facing: LOW - Requires local access to trigger via device rebinding commands.
🏢 Internal Only: MEDIUM - Local users or administrators with device management privileges can trigger the crash.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: MEDIUM

Requires local access and ability to execute device rebinding commands (typically root or privileged user).

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Kernel versions with commits 181698af38d3f93381229ad89c09b5bd0496661a or related fixes

Vendor Advisory: https://git.kernel.org/stable/c/181698af38d3f93381229ad89c09b5bd0496661a

Restart Required: No

Instructions:

1. Update Linux kernel to patched version. 2. Rebuild kernel if using custom configuration. 3. No reboot required for hotfix via module reload.

🔧 Temporary Workarounds

Disable CCP debugfs

all

Disable CONFIG_CRYPTO_DEV_CCP_DEBUGFS kernel configuration option

Rebuild kernel with CONFIG_CRYPTO_DEV_CCP_DEBUGFS=n

Avoid CCP device rebinding

Linux

Restrict access to device rebinding operations

chmod 600 /sys/bus/pci/drivers/ccp/bind
chmod 600 /sys/bus/pci/drivers/ccp/unbind

🧯 If You Can't Patch

  • Restrict access to /sys/bus/pci/drivers/ccp/ directory to root only
  • Monitor for crash logs and restrict user privileges that can trigger device rebinding

🔍 How to Verify

Check if Vulnerable:

Check if CONFIG_CRYPTO_DEV_CCP_DEBUGFS is enabled: grep CONFIG_CRYPTO_DEV_CCP_DEBUGFS /boot/config-$(uname -r)

Check Version:

uname -r

Verify Fix Applied:

Check kernel version includes fix commits: uname -r and verify against patched versions

📡 Detection & Monitoring

Log Indicators:

  • Kernel NULL pointer dereference messages
  • Oops: 0002 errors in dmesg
  • CCP driver crash logs

Network Indicators:

  • None - local vulnerability only

SIEM Query:

search 'NULL pointer dereference' AND 'ccp' in kernel logs

🔗 References

📤 Share & Export