CVE-2020-17438

9.8 CRITICAL

📋 TL;DR

This vulnerability in uIP 1.0 allows attackers to write beyond allocated memory buffers by sending specially crafted fragmented IP packets. This can cause denial of service or potentially execute arbitrary code on affected systems. It impacts products using uIP 1.0, including Contiki 3.0 and various embedded/IoT devices.

💻 Affected Systems

Products:
  • uIP
  • Contiki
  • various embedded/IoT devices using uIP
Versions: uIP 1.0, Contiki 3.0
Operating Systems: Embedded systems running Contiki or uIP
Default Config Vulnerable: ⚠️ Yes
Notes: Affects any device using vulnerable uIP implementation for IP packet reassembly.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Remote code execution leading to complete system compromise and attacker persistence on vulnerable devices.

🟠

Likely Case

Denial of service causing device crashes or instability, disrupting operations of affected systems.

🟢

If Mitigated

Limited impact with proper network segmentation and packet filtering preventing exploitation attempts.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ⚠️ Yes
Weaponized: LIKELY
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

Exploitation requires sending specially crafted IP packets; no authentication needed.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Contiki-NG (successor to Contiki 3.0) and updated uIP versions

Vendor Advisory: https://us-cert.cisa.gov/ics/advisories/icsa-20-343-01

Restart Required: Yes

Instructions:

1. Update to Contiki-NG or patched uIP version. 2. Recompile and redeploy firmware. 3. Restart affected devices.

🔧 Temporary Workarounds

Network filtering of fragmented packets

linux

Block or drop fragmented IP packets at network perimeter

iptables -A INPUT -f -j DROP

Disable IP packet reassembly

all

Configure devices to drop fragmented packets if functionality not required

🧯 If You Can't Patch

  • Segment affected devices on isolated networks with strict access controls
  • Implement network monitoring for fragmented packet attacks and anomaly detection

🔍 How to Verify

Check if Vulnerable:

Check if device uses uIP 1.0 or Contiki 3.0; examine firmware version strings

Check Version:

Check device documentation or firmware version strings

Verify Fix Applied:

Verify updated firmware version and test with fragmented packet handling

📡 Detection & Monitoring

Log Indicators:

  • Device crashes
  • Memory corruption errors
  • Unexpected reboots

Network Indicators:

  • Unusual fragmented IP packets
  • Packets with malformed IP headers

SIEM Query:

source_ip=* AND (ip_fragmented=true AND (ip_header_length>20 OR ip_offset>8191))

🔗 References

📤 Share & Export