CVE-2025-21936

5.5 MEDIUM

📋 TL;DR

This CVE describes a null pointer dereference vulnerability in the Linux kernel's Bluetooth subsystem. When mgmt_alloc_skb() fails to allocate memory in mgmt_device_connected(), the kernel could crash, causing denial of service. This affects Linux systems with Bluetooth enabled.

💻 Affected Systems

Products:
  • Linux kernel
Versions: Specific affected versions not specified in CVE, but patches exist for multiple stable branches
Operating Systems: Linux distributions using vulnerable kernel versions
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects systems with Bluetooth functionality enabled and in use.

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

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 requiring physical or remote reboot.

🟠

Likely Case

System instability or crash when Bluetooth device connections fail under memory pressure.

🟢

If Mitigated

Minor performance impact from additional error checking with no security breach.

🌐 Internet-Facing: LOW - Requires local Bluetooth access or specific Bluetooth protocol exploitation.
🏢 Internal Only: MEDIUM - Internal attackers with Bluetooth access could potentially crash systems.

🎯 Exploit Status

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

Exploitation requires triggering specific Bluetooth connection scenarios under memory constraints.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Multiple stable kernel versions with commits: 7841180342c9a0fd97d54f3e62c7369309b5cd84, 7d39387886ffe220323cbed5c155233c3276926b, bdb1805c248e9694dbb3ffa8867cef2e52cf7261, d8df010f72b8a32aaea393e36121738bb53ed905, dc516e66fb28c61b248b393e2ddd63bd7f104969

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

Restart Required: Yes

Instructions:

1. Update Linux kernel to patched version. 2. Reboot system. 3. Verify kernel version matches patched release.

🔧 Temporary Workarounds

Disable Bluetooth

linux

Disable Bluetooth functionality to prevent exploitation

sudo systemctl stop bluetooth
sudo systemctl disable bluetooth
sudo rfkill block bluetooth

🧯 If You Can't Patch

  • Disable Bluetooth functionality entirely
  • Implement strict memory limits and monitoring to prevent allocation failures

🔍 How to Verify

Check if Vulnerable:

Check kernel version and compare with patched versions in git commits. Use 'uname -r' and examine Bluetooth subsystem logs for allocation failures.

Check Version:

uname -r

Verify Fix Applied:

Verify kernel version is updated to patched version and test Bluetooth connectivity under memory pressure.

📡 Detection & Monitoring

Log Indicators:

  • Kernel panic logs
  • Bluetooth subsystem error messages
  • Memory allocation failure logs

Network Indicators:

  • Unusual Bluetooth connection attempts followed by system instability

SIEM Query:

source="kernel" AND ("panic" OR "Oops" OR "null pointer dereference") AND "bluetooth"

🔗 References

📤 Share & Export