CVE-2021-21410

8.2 HIGH

📋 TL;DR

CVE-2021-21410 is an out-of-bounds read vulnerability in Contiki-NG's 6LoWPAN packet processing that allows attackers to read beyond allocated memory boundaries. This affects IoT devices running Contiki-NG 4.6 and earlier when processing specially crafted compressed IPv6 packets. The vulnerability could lead to information disclosure or potentially enable further exploitation.

💻 Affected Systems

Products:
  • Contiki-NG
Versions: 4.6 and prior
Operating Systems: Contiki-NG OS
Default Config Vulnerable: ⚠️ Yes
Notes: Affects all devices using Contiki-NG with 6LoWPAN/IPv6 enabled. IoT devices in industrial, home automation, and sensor networks are particularly vulnerable.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Remote code execution or device compromise through memory corruption leading to complete system takeover.

🟠

Likely Case

Information disclosure through memory reads, potential denial of service through crashes, or enabling further exploitation chains.

🟢

If Mitigated

Limited impact with proper network segmentation and monitoring, potentially just crashes or performance issues.

🌐 Internet-Facing: HIGH - IoT devices often directly internet-facing with 6LoWPAN traffic potentially routable.
🏢 Internal Only: MEDIUM - Risk exists on internal networks but requires access to 6LoWPAN traffic.

🎯 Exploit Status

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

Exploitation requires crafting specific 6LoWPAN packets but no authentication needed. No public exploit code known at time of advisory.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Patch available via GitHub PR #1482, no official release with fix at time of advisory

Vendor Advisory: https://github.com/contiki-ng/contiki-ng/security/advisories/GHSA-hhwj-2p59-v8p9

Restart Required: Yes

Instructions:

1. Apply patch from GitHub PR #1482 manually. 2. Recompile Contiki-NG from source. 3. Deploy updated firmware to affected devices. 4. Restart devices to apply changes.

🔧 Temporary Workarounds

Apply GitHub patch manually

all

Manually apply the fix from GitHub pull request #1482 to your Contiki-NG source code

git clone https://github.com/contiki-ng/contiki-ng
cd contiki-ng
git fetch origin pull/1482/head:patch-1482
git checkout patch-1482

🧯 If You Can't Patch

  • Segment IoT devices on isolated networks with strict firewall rules blocking unnecessary 6LoWPAN traffic
  • Implement network monitoring for anomalous 6LoWPAN packet patterns and deploy IDS/IPS systems

🔍 How to Verify

Check if Vulnerable:

Check Contiki-NG version and verify if uncompress_hdr_iphc function lacks proper boundary checks in os/net/ipv6/uip6.c

Check Version:

Check Contiki-NG version in build configuration or device firmware version

Verify Fix Applied:

Verify patch from PR #1482 is applied by checking the uncompress_hdr_iphc function has proper buffer length validation

📡 Detection & Monitoring

Log Indicators:

  • Device crashes or restarts
  • Memory access violation logs
  • Abnormal 6LoWPAN packet processing errors

Network Indicators:

  • Malformed 6LoWPAN packets with unusual compression patterns
  • Traffic spikes to IoT devices on 6LoWPAN ports

SIEM Query:

source="iot-device" AND (event_type="crash" OR event_type="memory_error") OR dest_port IN (61616, 61617) AND packet_size < expected_min

🔗 References

📤 Share & Export