CVE-2020-22283

7.5 HIGH

📋 TL;DR

This CVE describes a buffer overflow vulnerability in lwIP's ICMPv6 packet handling that allows attackers to read sensitive memory contents via crafted packets. It affects systems using vulnerable versions of the lwIP networking stack, particularly embedded devices and IoT systems. The vulnerability enables information disclosure but not code execution.

💻 Affected Systems

Products:
  • lwIP (lightweight IP)
Versions: git head version prior to fix (specific commit not specified in CVE)
Operating Systems: Any OS using vulnerable lwIP version
Default Config Vulnerable: ⚠️ Yes
Notes: Primarily affects embedded systems, IoT devices, and applications using lwIP networking stack. Requires ICMPv6 support enabled.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers could read sensitive memory contents including passwords, keys, or other application data from the device's memory space.

🟠

Likely Case

Information disclosure of network stack memory, potentially revealing internal state or adjacent memory contents.

🟢

If Mitigated

With proper network segmentation and filtering, impact is limited to information disclosure within the affected network segment.

🌐 Internet-Facing: MEDIUM - Requires ICMPv6 packets to reach vulnerable systems, but many networks filter ICMPv6 or have limited IPv6 deployment.
🏢 Internal Only: MEDIUM - Internal attackers could exploit this to gather information about network stack state and adjacent memory.

🎯 Exploit Status

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

Exploitation requires sending crafted ICMPv6 packets to vulnerable systems. No public exploit code identified in references.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Fixed in lwIP git repository (specific commit not specified)

Vendor Advisory: https://savannah.nongnu.org/bugs/index.php?58553

Restart Required: Yes

Instructions:

1. Update lwIP to patched version from official repository. 2. Recompile applications using lwIP. 3. Restart affected services or devices.

🔧 Temporary Workarounds

Disable ICMPv6

linux

Disable ICMPv6 processing if not required for network functionality

sysctl -w net.ipv6.icmp.echo_ignore_all=1
iptables -A INPUT -p ipv6-icmp -j DROP

Filter ICMPv6 traffic

linux

Block incoming ICMPv6 packets at network perimeter

iptables -A INPUT -p ipv6-icmp --icmpv6-type echo-request -j DROP

🧯 If You Can't Patch

  • Implement network segmentation to isolate vulnerable devices
  • Deploy network-based intrusion detection to monitor for ICMPv6 anomalies

🔍 How to Verify

Check if Vulnerable:

Check lwIP version in use and compare against patched versions. For embedded devices, check firmware version against vendor advisories.

Check Version:

Check application documentation or vendor information for lwIP version. For source builds: grep LWIP_VERSION in lwipopts.h or similar configuration files.

Verify Fix Applied:

Verify lwIP version has been updated to include the fix for CVE-2020-22283. Test with ICMPv6 packets to ensure no memory disclosure occurs.

📡 Detection & Monitoring

Log Indicators:

  • Unusual ICMPv6 traffic patterns
  • System crashes or instability in network stack

Network Indicators:

  • Malformed ICMPv6 packets targeting vulnerable systems
  • Unusual ICMPv6 response patterns

SIEM Query:

source="network" AND protocol="ICMPv6" AND (payload_size>normal OR malformed_packet=true)

🔗 References

📤 Share & Export