CVE-2025-21803

5.5 MEDIUM

📋 TL;DR

This CVE describes a race condition vulnerability in the Linux kernel's LoongArch architecture during S3 suspend operations. The issue causes kernel warnings and potential system instability when resuming from sleep, affecting systems running vulnerable Linux kernel versions with LoongArch CPUs.

💻 Affected Systems

Products:
  • Linux Kernel
Versions: Specific versions with the vulnerable LoongArch S3 suspend code (check kernel commit history for exact ranges)
Operating Systems: Linux distributions running on LoongArch architecture
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects systems with LoongArch CPUs using ACPI S3 suspend functionality. x86_64, ARM, and other architectures are not affected.

📦 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 →

⚠️ Risk & Real-World Impact

🔴

Worst Case

System crash or kernel panic during resume from suspend, leading to data loss or corruption and requiring physical intervention to reboot.

🟠

Likely Case

Kernel warnings in system logs and potential temporary system instability during resume from suspend, but no persistent damage.

🟢

If Mitigated

Minor performance impact during suspend/resume operations with proper patching.

🌐 Internet-Facing: LOW - This is a local kernel vulnerability requiring physical or local access to trigger.
🏢 Internal Only: MEDIUM - Internal users with physical or console access could trigger the vulnerability, potentially causing system instability.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: NO
Unauthenticated Exploit: ✅ No
Complexity: HIGH

Exploitation requires local access and ability to trigger S3 suspend state. This appears to be a stability bug rather than a security vulnerability with traditional exploit potential.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Kernel versions containing commits 194d26a5a43c26dc98a9b4e2c1d521dcb84dd1bf, 26c0a2d93af55d30a46d5f45d3e9c42cde730168, 8682a71a7f6de7c683f31b4334b04e19685a05f9, or d49ab6857d98266010f3446c9c2063014db5b654

Vendor Advisory: https://git.kernel.org/stable/c/194d26a5a43c26dc98a9b4e2c1d521dcb84dd1bf

Restart Required: Yes

Instructions:

1. Update to a patched Linux kernel version from your distribution vendor. 2. For custom kernels, apply the relevant kernel commits. 3. Reboot the system to load the new kernel.

🔧 Temporary Workarounds

Disable S3 Suspend

linux

Prevent the system from entering S3 suspend state where the vulnerability triggers.

echo deep > /sys/power/mem_sleep
echo 0 > /sys/power/pm_test

Disable ACPI Wakeup GPEs

linux

Disable the specific ACPI functionality that causes the race condition.

echo 0 > /sys/firmware/acpi/interrupts/gpe_all

🧯 If You Can't Patch

  • Disable S3 suspend functionality entirely
  • Restrict physical and console access to affected systems

🔍 How to Verify

Check if Vulnerable:

Check kernel version and architecture: uname -r and uname -m. If running LoongArch and vulnerable kernel version, system is affected.

Check Version:

uname -r

Verify Fix Applied:

Verify kernel version includes the fix commits: grep -q '194d26a5a43c26dc98a9b4e2c1d521dcb84dd1bf\|26c0a2d93af55d30a46d5f45d3e9c42cde730168\|8682a71a7f6de7c683f31b4334b04e19685a05f9\|d49ab6857d98266010f3446c9c2063014db5b654' /proc/version

📡 Detection & Monitoring

Log Indicators:

  • WARNING messages in kernel logs about ktime_get+0xbc/0xc8 during suspend/resume
  • Stack traces showing enable_gpe_wakeup() and acpi_enable_all_wakeup_gpes() calls

Network Indicators:

  • None - this is a local kernel issue

SIEM Query:

source="kernel" AND "WARNING" AND "ktime_get" AND "suspend"

🔗 References

📤 Share & Export