CVE-2024-41660

9.8 CRITICAL

📋 TL;DR

CVE-2024-41660 is a critical buffer overflow vulnerability in slpd-lite, a unicast SLP UDP server included by default in OpenBMC builds. Attackers can send specially crafted SLP packets to UDP port 427 to trigger memory corruption, potentially leading to remote code execution or denial of service. All OpenBMC systems with the slpd-lite package installed are affected, which is the default configuration.

💻 Affected Systems

Products:
  • OpenBMC-based systems
Versions: All versions prior to patched slpd-lite repository updates
Operating Systems: OpenBMC Linux distributions
Default Config Vulnerable: ⚠️ Yes
Notes: Default OpenBMC builds include slpd-lite package automatically. Vulnerability requires UDP port 427 to be accessible.

⚠️ Manual Verification Required

This CVE does not have specific version information in our database, so automatic vulnerability detection cannot determine if your system is affected.

Why? The CVE database entry doesn't specify which versions are vulnerable (no version ranges provided by the vendor/NVD).

🔒 Custom verification scripts are available for registered users. Sign up free to download automated test scripts.

Recommended Actions:
  1. Review the CVE details at NVD
  2. Check vendor security advisories for your specific version
  3. Test if the vulnerability is exploitable in your environment
  4. Consider updating to the latest version as a precaution

⚠️ Risk & Real-World Impact

🔴

Worst Case

Remote code execution with root privileges on the BMC, allowing complete system compromise, persistent backdoors, and potential lateral movement to connected systems.

🟠

Likely Case

Denial of service causing BMC unavailability, requiring physical intervention to restore management functionality.

🟢

If Mitigated

Limited impact if network segmentation prevents access to UDP port 427 from untrusted networks.

🌐 Internet-Facing: HIGH
🏢 Internal Only: HIGH

🎯 Exploit Status

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

Exploitation requires only network access to UDP port 427 with no authentication. The CWE-120 (buffer overflow) classification suggests straightforward exploitation.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Latest openbmc/slpd-lite repository version

Vendor Advisory: https://github.com/openbmc/slpd-lite/security/advisories/GHSA-wmgv-jffg-v3xr

Restart Required: Yes

Instructions:

1. Update to latest slpd-lite package from openbmc repository. 2. Restart slpd-lite service or reboot BMC. 3. Verify patch is applied and service is running.

🔧 Temporary Workarounds

Block UDP port 427

linux

Prevent access to vulnerable service using firewall rules

iptables -A INPUT -p udp --dport 427 -j DROP
iptables -A INPUT -p udp --dport 427 -s trusted_networks -j ACCEPT

Disable slpd-lite service

linux

Stop and disable the vulnerable service if SLP functionality is not required

systemctl stop slpd-lite
systemctl disable slpd-lite

🧯 If You Can't Patch

  • Implement strict network segmentation to isolate BMC management interfaces from untrusted networks
  • Deploy network-based intrusion prevention systems (IPS) with rules to detect and block SLP protocol anomalies

🔍 How to Verify

Check if Vulnerable:

Check if slpd-lite package is installed and UDP port 427 is listening: 'dpkg -l | grep slpd-lite' and 'netstat -tulpn | grep :427'

Check Version:

dpkg -l | grep slpd-lite || rpm -qa | grep slpd-lite

Verify Fix Applied:

Verify slpd-lite package version is updated and service is running with patch: 'slpd-lite --version' and 'systemctl status slpd-lite'

📡 Detection & Monitoring

Log Indicators:

  • slpd-lite service crashes or restarts in system logs
  • Unusual UDP traffic to port 427 in firewall/network logs

Network Indicators:

  • High volume of SLP protocol packets to UDP port 427
  • Malformed SLP packets exceeding normal protocol specifications

SIEM Query:

source="*slpd-lite*" AND ("segmentation fault" OR "buffer overflow" OR "crash") OR dest_port=427 AND protocol=UDP AND packet_size>normal_threshold

🔗 References

📤 Share & Export