CVE-2024-1638

8.2 HIGH

📋 TL;DR

This vulnerability in Zephyr RTOS Bluetooth stack allows unauthorized read/write access to Bluetooth characteristics that should require LE Secure Connections encryption. Attackers can bypass security controls to access sensitive data or modify device behavior. This affects any Zephyr-based IoT/embedded devices using Bluetooth LE with specific permission configurations.

💻 Affected Systems

Products:
  • Zephyr RTOS
Versions: All versions prior to v3.6.0
Operating Systems: Zephyr RTOS
Default Config Vulnerable: ✅ No
Notes: Only vulnerable when using BT_GATT_PERM_READ_LESC or BT_GATT_PERM_WRITE_LESC permissions without combining them with BT_GATT_PERM_READ_ENCRYPT/BT_GATT_PERM_READ_AUTHEN or BT_GATT_PERM_WRITE_ENCRYPT/BT_GATT_PERM_WRITE_AUTHEN.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete compromise of Bluetooth-enabled device allowing data exfiltration, unauthorized control, or injection of malicious firmware updates.

🟠

Likely Case

Unauthorized access to sensitive device data or configuration settings that should be protected by encryption.

🟢

If Mitigated

Minimal impact if devices use proper permission combinations or don't rely solely on BT_GATT_PERM_READ_LESC/BT_GATT_PERM_WRITE_LESC permissions.

🌐 Internet-Facing: MEDIUM - Requires physical proximity for Bluetooth access but could be combined with other attacks for remote exploitation.
🏢 Internal Only: MEDIUM - Bluetooth range limitation reduces risk but still significant for sensitive environments.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

Exploitation requires Bluetooth proximity and knowledge of vulnerable characteristic UUIDs. No authentication needed when permissions are misconfigured.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Zephyr v3.6.0 and later

Vendor Advisory: https://github.com/zephyrproject-rtos/zephyr/security/advisories/GHSA-p6f3-f63q-5mc2

Restart Required: Yes

Instructions:

1. Update Zephyr RTOS to version 3.6.0 or later. 2. Rebuild and flash firmware to affected devices. 3. Verify permission combinations in Bluetooth GATT characteristics.

🔧 Temporary Workarounds

Modify Bluetooth Permission Combinations

all

Ensure BT_GATT_PERM_READ_LESC and BT_GATT_PERM_WRITE_LESC are always combined with appropriate encryption/authentication permissions in source code.

// In Bluetooth characteristic definitions:
// Replace: .perm = BT_GATT_PERM_READ_LESC
// With: .perm = BT_GATT_PERM_READ_LESC | BT_GATT_PERM_READ_ENCRYPT

🧯 If You Can't Patch

  • Disable Bluetooth functionality on affected devices if not required
  • Implement network segmentation to isolate Bluetooth-enabled devices from critical networks

🔍 How to Verify

Check if Vulnerable:

Review Bluetooth GATT characteristic definitions in source code for BT_GATT_PERM_READ_LESC or BT_GATT_PERM_WRITE_LESC used without combined encryption/authentication permissions.

Check Version:

Check Zephyr version in project configuration or build output

Verify Fix Applied:

Check that Zephyr version is 3.6.0+ and verify permission combinations in Bluetooth characteristic definitions include proper encryption flags.

📡 Detection & Monitoring

Log Indicators:

  • Unexpected Bluetooth characteristic access attempts
  • Unauthorized GATT read/write operations

Network Indicators:

  • Bluetooth traffic to characteristics that should be encrypted
  • Unencrypted LE Secure Connections traffic

SIEM Query:

Not applicable for embedded Bluetooth traffic detection

🔗 References

📤 Share & Export