CVE-2023-41910

9.8 CRITICAL

📋 TL;DR

CVE-2023-41910 is a critical heap memory out-of-bounds read vulnerability in lldpd network discovery daemon. Attackers can exploit this by sending specially crafted CDP packets, potentially leading to information disclosure or service disruption. Systems running vulnerable versions of lldpd are affected.

💻 Affected Systems

Products:
  • lldpd
Versions: All versions before 1.0.17
Operating Systems: Linux, Unix-like systems
Default Config Vulnerable: ⚠️ Yes
Notes: lldpd must be running and listening for CDP packets. Default installations on network devices/servers are vulnerable.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Remote code execution leading to complete system compromise, though CWE-125 typically indicates information disclosure rather than direct RCE

🟠

Likely Case

Service crash (denial of service) and potential information disclosure from heap memory

🟢

If Mitigated

Limited impact if network segmentation prevents malicious CDP packets from reaching vulnerable systems

🌐 Internet-Facing: MEDIUM - lldpd typically listens on local network interfaces, but could be exposed if misconfigured
🏢 Internal Only: HIGH - Attackers on the same network segment can exploit this without authentication

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW - Requires sending crafted CDP packets to vulnerable service

Exploitation requires network access to the lldpd service port (typically 161 for SNMP or 5353 for LLDP-MED)

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 1.0.17

Vendor Advisory: https://github.com/lldpd/lldpd/releases/tag/1.0.17

Restart Required: Yes

Instructions:

1. Update lldpd to version 1.0.17 or later using your package manager. 2. For Debian/Ubuntu: 'sudo apt update && sudo apt upgrade lldpd'. 3. For source installations: download from GitHub and compile. 4. Restart lldpd service: 'sudo systemctl restart lldpd'

🔧 Temporary Workarounds

Disable CDP protocol support

linux

Configure lldpd to disable CDP protocol processing

Edit /etc/lldpd.conf and add: 'configure system cdp disable'
Restart lldpd: 'sudo systemctl restart lldpd'

Network segmentation

linux

Restrict access to lldpd service using firewall rules

sudo iptables -A INPUT -p udp --dport 161 -j DROP
sudo iptables -A INPUT -p udp --dport 5353 -j DROP

🧯 If You Can't Patch

  • Implement strict network segmentation to isolate lldpd services from untrusted networks
  • Monitor for unusual CDP traffic patterns and service crashes

🔍 How to Verify

Check if Vulnerable:

Check lldpd version: 'lldpd -v' or 'dpkg -l | grep lldpd' or 'rpm -qa | grep lldpd'. If version is earlier than 1.0.17, system is vulnerable.

Check Version:

lldpd -v

Verify Fix Applied:

Confirm version is 1.0.17 or later: 'lldpd -v' should show 1.0.17+. Verify service is running: 'systemctl status lldpd'

📡 Detection & Monitoring

Log Indicators:

  • lldpd service crashes or restarts
  • Error messages related to CDP decoding in system logs

Network Indicators:

  • Unusual CDP packet patterns or malformed CDP traffic
  • Traffic to lldpd ports from unexpected sources

SIEM Query:

source="lldpd" AND ("crash" OR "segfault" OR "CDP decode error")

🔗 References

📤 Share & Export