CVE-2023-24818
📋 TL;DR
CVE-2023-24818 is a NULL pointer dereference vulnerability in RIOT-OS's 6LoWPAN network stack that allows attackers to cause denial of service by sending crafted fragmented frames. The vulnerability affects RIOT-OS versions prior to 2022.10, impacting Internet of Things devices running this operating system.
💻 Affected Systems
- RIOT-OS
📦 What is this software?
Riot by Riot Os
⚠️ Risk & Real-World Impact
Worst Case
Complete device crash requiring physical reset or power cycle, potentially disrupting critical IoT operations.
Likely Case
Device becomes unresponsive, requiring manual intervention to restore functionality.
If Mitigated
No impact if fragmentation is disabled or patches are applied.
🎯 Exploit Status
Exploitation requires network access to the device but no authentication.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 2022.10
Vendor Advisory: https://github.com/RIOT-OS/RIOT/security/advisories
Restart Required: Yes
Instructions:
1. Update RIOT-OS to version 2022.10 or later. 2. Rebuild and redeploy firmware to affected devices. 3. Verify the fix by checking the version.
🔧 Temporary Workarounds
Disable 6LoWPAN fragmentation
allPrevents processing of fragmented IP datagrams that trigger the vulnerability.
CONFIG_GNRC_SIXLOWPAN_FRAGMENT_RBUF_SIZE=0
🧯 If You Can't Patch
- Implement network segmentation to isolate IoT devices from untrusted networks.
- Use network firewalls to block fragmented 6LoWPAN packets to vulnerable devices.
🔍 How to Verify
Check if Vulnerable:
Check RIOT-OS version: if version < 2022.10 and 6LoWPAN fragmentation is enabled, device is vulnerable.
Check Version:
Use RIOT shell command 'version' or check firmware build information.
Verify Fix Applied:
Verify RIOT-OS version is 2022.10 or later and test with fragmented packet transmission.
📡 Detection & Monitoring
Log Indicators:
- Hard fault exceptions
- Device crash/reboot logs
- Network stack error messages
Network Indicators:
- Unusual fragmented 6LoWPAN packets
- Sudden device unresponsiveness after network traffic
SIEM Query:
Search for: 'hard fault' OR 'null pointer' OR 'reboot' from IoT device logs
🔗 References
- https://github.com/RIOT-OS/RIOT/pull/18817/commits/0bec3e245ed3815ad6c8cae54673f0021777768b
- https://github.com/RIOT-OS/RIOT/pull/18817/commits/17c70f7ee0b1445f2941f516f264ed4a096e82b7
- https://github.com/RIOT-OS/RIOT/pull/18817/commits/aa27ed71fa3e5d48dee1748dcf27b6323ec98a33
- https://github.com/RIOT-OS/RIOT/pull/18820/commits/4b23d93868a28edd8ebf2ff4ebe94540f2475008
- https://github.com/RIOT-OS/RIOT/pull/18820/commits/f4df5b4c4f841ccb460930894cf68ab10b55b971
- https://github.com/RIOT-OS/RIOT/pull/18820/commits/f4fb746d1acaacc962daeed3aa71aadfe307d20e
- https://github.com/RIOT-OS/RIOT/security/advisories/GHSA-69h9-vj5r-xcg6
- https://github.com/RIOT-OS/RIOT/pull/18817/commits/0bec3e245ed3815ad6c8cae54673f0021777768b
- https://github.com/RIOT-OS/RIOT/pull/18817/commits/17c70f7ee0b1445f2941f516f264ed4a096e82b7
- https://github.com/RIOT-OS/RIOT/pull/18817/commits/aa27ed71fa3e5d48dee1748dcf27b6323ec98a33
- https://github.com/RIOT-OS/RIOT/pull/18820/commits/4b23d93868a28edd8ebf2ff4ebe94540f2475008
- https://github.com/RIOT-OS/RIOT/pull/18820/commits/f4df5b4c4f841ccb460930894cf68ab10b55b971
- https://github.com/RIOT-OS/RIOT/pull/18820/commits/f4fb746d1acaacc962daeed3aa71aadfe307d20e
- https://github.com/RIOT-OS/RIOT/security/advisories/GHSA-69h9-vj5r-xcg6