CVE-2023-34101

7.3 HIGH

📋 TL;DR

This vulnerability in Contiki-NG OS allows attackers to trigger out-of-bounds memory reads by sending specially crafted truncated ICMP DAO packets. IoT devices running Contiki-NG version 4.8 or earlier are affected, potentially exposing sensitive memory contents or causing crashes.

💻 Affected Systems

Products:
  • Contiki-NG Operating System
Versions: 4.8 and prior versions
Operating Systems: Contiki-NG
Default Config Vulnerable: ⚠️ Yes
Notes: All devices using Contiki-NG with ICMP functionality enabled are vulnerable by default.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Information disclosure of up to 16 bytes of adjacent memory, potentially revealing sensitive data or enabling further exploitation leading to remote code execution.

🟠

Likely Case

Denial of service through device crashes or instability, with possible information leakage from memory.

🟢

If Mitigated

Minimal impact with proper network segmentation and packet filtering preventing malicious ICMP packets from reaching devices.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Exploitation requires sending malicious ICMP packets to vulnerable devices, which is straightforward for attackers with network access.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 4.9 (expected), currently available in 'develop' branch

Vendor Advisory: https://github.com/contiki-ng/contiki-ng/security/advisories/GHSA-fp66-ff6x-7w2w

Restart Required: Yes

Instructions:

1. Update to Contiki-NG version 4.9 when released. 2. For immediate fix, apply changes from pull request #2435 to the 'develop' branch. 3. Recompile and redeploy the OS on affected devices.

🔧 Temporary Workarounds

Apply GitHub Pull Request #2435

all

Manually apply the buffer size validation fix from the Contiki-NG repository

git clone https://github.com/contiki-ng/contiki-ng.git
cd contiki-ng
git checkout develop
git pull origin pull/2435/head
make clean
make TARGET=<your_target>

🧯 If You Can't Patch

  • Implement network segmentation to isolate IoT devices from untrusted networks
  • Deploy network firewalls or intrusion prevention systems to filter malicious ICMP packets targeting vulnerable devices

🔍 How to Verify

Check if Vulnerable:

Check Contiki-NG version: if running version 4.8 or earlier, device is vulnerable. Review source code for presence of buffer size validation in dao_input_storing function.

Check Version:

Check device firmware version or Contiki-NG build configuration files for version information

Verify Fix Applied:

Verify the patch is applied by checking that buffer size validation exists before memory access in dao_input_storing function, or confirm running version 4.9+.

📡 Detection & Monitoring

Log Indicators:

  • Unexpected device crashes or reboots
  • Memory access violation logs
  • Abnormal ICMP packet processing errors

Network Indicators:

  • Malformed ICMP DAO packets with truncated payloads targeting IoT devices
  • Unusual ICMP traffic patterns to IoT network segments

SIEM Query:

source="network_firewall" AND (proto="icmp" AND (payload_size < expected_size OR packet_truncated=true)) AND dest_ip IN (iot_device_ips)

🔗 References

📤 Share & Export