CVE-2023-24822
📋 TL;DR
CVE-2023-24822 is a NULL pointer dereference vulnerability in RIOT-OS's 6LoWPAN network stack that allows attackers to cause denial of service by sending crafted frames. When exploited, it triggers a hard fault exception that crashes affected IoT devices. This affects all RIOT-OS deployments using versions before 2022.10 that process 6LoWPAN network traffic.
💻 Affected Systems
- RIOT-OS
📦 What is this software?
Riot by Riot Os
⚠️ Risk & Real-World Impact
Worst Case
Permanent device crash requiring physical reset or power cycle, potentially disrupting critical IoT operations in industrial, medical, or infrastructure systems.
Likely Case
Temporary denial of service requiring device reboot, disrupting normal IoT device functionality until recovery.
If Mitigated
No impact if patched or workarounds applied; devices continue normal operation without vulnerability.
🎯 Exploit Status
Exploitation requires network access to send crafted frames to vulnerable devices.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 2022.10
Vendor Advisory: https://github.com/RIOT-OS/RIOT/security/advisories/GHSA-8x69-5fhj-72wh
Restart Required: Yes
Instructions:
1. Update RIOT-OS to version 2022.10 or later. 2. Rebuild firmware with updated RIOT-OS source. 3. Flash updated firmware to affected devices. 4. Restart devices to apply changes.
🔧 Temporary Workarounds
Manual patch application
allApply the specific commits that fix the NULL pointer dereference in the 6LoWPAN IPHC header encoding.
git cherry-pick 639c04325de4ceb9d444955f4927bfae95843a39
git cherry-pick 7253e261556f252816f4a3b7c4f96fc10d642485
🧯 If You Can't Patch
- Implement network segmentation to isolate IoT devices from untrusted networks.
- Use firewalls to block or filter 6LoWPAN traffic from unauthorized sources.
🔍 How to Verify
Check if Vulnerable:
Check RIOT-OS version: if using version earlier than 2022.10 and 6LoWPAN is enabled, device is vulnerable.
Check Version:
Check RIOT-OS version in source code or firmware: grep 'RIOT_VERSION' in source or check device firmware version.
Verify Fix Applied:
Verify RIOT-OS version is 2022.10 or later and test with crafted 6LoWPAN frames to ensure no crash occurs.
📡 Detection & Monitoring
Log Indicators:
- Hard fault exception logs
- Device crash/restart events
- 6LoWPAN parsing errors
Network Indicators:
- Unusual 6LoWPAN frame patterns
- Crafted IPHC headers in network traffic
SIEM Query:
Search for: 'hard fault' OR 'NULL pointer' OR '6LoWPAN crash' in device logs
🔗 References
- https://github.com/RIOT-OS/RIOT/pull/18817/commits/639c04325de4ceb9d444955f4927bfae95843a39
- https://github.com/RIOT-OS/RIOT/pull/18820/commits/7253e261556f252816f4a3b7c4f96fc10d642485
- https://github.com/RIOT-OS/RIOT/security/advisories/GHSA-8x69-5fhj-72wh
- https://github.com/RIOT-OS/RIOT/pull/18817/commits/639c04325de4ceb9d444955f4927bfae95843a39
- https://github.com/RIOT-OS/RIOT/pull/18820/commits/7253e261556f252816f4a3b7c4f96fc10d642485
- https://github.com/RIOT-OS/RIOT/security/advisories/GHSA-8x69-5fhj-72wh