CVE-2017-17833
📋 TL;DR
CVE-2017-17833 is a critical heap memory corruption vulnerability in OpenSLP versions 1.0.2 and 1.1.0 that allows remote attackers to cause denial-of-service or execute arbitrary code. This affects systems running vulnerable OpenSLP implementations, particularly Linux distributions that package these versions. The vulnerability is remotely exploitable without authentication.
💻 Affected Systems
- OpenSLP
📦 What is this software?
Bm Nextscale Fan Power Controller by Lenovo
Cmm by Lenovo
Flex System Fc3171 8gb San Switch Firmware by Lenovo
View all CVEs affecting Flex System Fc3171 8gb San Switch Firmware →
Imm1 by Lenovo
Imm2 by Lenovo
Openslp by Openslp
Openslp by Openslp
Ubuntu Linux by Canonical
Ubuntu Linux by Canonical
⚠️ Risk & Real-World Impact
Worst Case
Remote code execution with full system compromise, allowing attackers to install malware, exfiltrate data, or pivot to other systems.
Likely Case
Denial-of-service causing service disruption and potential system crashes, though RCE is possible with crafted exploits.
If Mitigated
Limited impact if systems are patched, firewalled, or running in isolated environments with proper network segmentation.
🎯 Exploit Status
Heap corruption vulnerabilities typically require careful exploitation but public advisories suggest working exploits exist.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Versions after the vulnerable 1.0.2 and 1.1.0 streams
Vendor Advisory: https://access.redhat.com/errata/RHSA-2018:2240
Restart Required: Yes
Instructions:
1. Update OpenSLP package using your distribution's package manager. 2. For Red Hat: 'yum update openslp'. 3. For Debian: 'apt-get update && apt-get upgrade openslp'. 4. Restart affected services or reboot system.
🔧 Temporary Workarounds
Disable OpenSLP Service
linuxCompletely disable the OpenSLP service if not required
systemctl stop slpd
systemctl disable slpd
chkconfig slpd off
Firewall Blocking
linuxBlock OpenSLP ports (427/tcp, 427/udp) at network perimeter
iptables -A INPUT -p tcp --dport 427 -j DROP
iptables -A INPUT -p udp --dport 427 -j DROP
🧯 If You Can't Patch
- Implement strict network segmentation to isolate vulnerable systems
- Deploy intrusion detection/prevention systems to monitor for exploitation attempts
🔍 How to Verify
Check if Vulnerable:
Check OpenSLP version: 'slptool -v' or 'rpm -q openslp' or 'dpkg -l | grep openslp'
Check Version:
slptool -v 2>/dev/null || openslp -v 2>/dev/null || rpm -q openslp 2>/dev/null || dpkg -l openslp 2>/dev/null
Verify Fix Applied:
Verify updated version is installed and service is running patched version
📡 Detection & Monitoring
Log Indicators:
- Unusual OpenSLP service crashes
- Memory corruption errors in system logs
- Failed service initialization
Network Indicators:
- Unusual traffic to port 427/tcp or 427/udp
- Malformed SLP packets
- Connection attempts from unexpected sources
SIEM Query:
source="*syslog*" AND ("slpd" OR "openslp") AND ("segmentation fault" OR "memory corruption" OR "crash")
🔗 References
- http://support.lenovo.com/us/en/solutions/LEN-18247
- https://access.redhat.com/errata/RHSA-2018:2240
- https://access.redhat.com/errata/RHSA-2018:2308
- https://lists.debian.org/debian-lts-announce/2018/04/msg00029.html
- https://security.gentoo.org/glsa/202005-12
- https://sourceforge.net/p/openslp/mercurial/ci/151f07745901cbdba6e00e4889561b4083250da1/
- https://usn.ubuntu.com/3708-1/
- http://support.lenovo.com/us/en/solutions/LEN-18247
- https://access.redhat.com/errata/RHSA-2018:2240
- https://access.redhat.com/errata/RHSA-2018:2308
- https://lists.debian.org/debian-lts-announce/2018/04/msg00029.html
- https://security.gentoo.org/glsa/202005-12
- https://sourceforge.net/p/openslp/mercurial/ci/151f07745901cbdba6e00e4889561b4083250da1/
- https://usn.ubuntu.com/3708-1/