CVE-2016-15058
Executive Summary
CVE-2016-15058 is a critical credential exposure vulnerability affecting Hirschmann HiLCOS Classic Platform switches (Classic L2E, L2P, L3E, L3P, and L2B series). The vulnerability arises from a design flaw where user passwords are synchronized with SNMPv1/v2 community strings and transmitted in plaintext when the feature is enabled. This allows an attacker with local network access to sniff SNMP traffic or extract configuration data to recover plaintext credentials, leading to unauthorized administrative access to the switches. The vulnerability has a CVSS score of 8.1 (High) and is currently unpatched in older firmware versions. No public proof-of-concept (PoC) or exploit code is available, but the attack vector is straightforward for an attacker with network access.
This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.
No signup required
Supply Chain & Package Security
This vulnerability is not related to software packages (NPM, PyPI, Go, Ruby) but affects embedded firmware on network hardware. The supply chain risk is limited to the physical switches and their firmware distribution.
CVSS Breakdown & Threat Level
- CVSS Score: 8.1 (High)
- Attack Vector (AV): Network (AV:N) – The vulnerability can be exploited remotely over the network.
- Attack Complexity (AC): Low (AC:L) – No special conditions are required; the attacker only needs network access.
- Privileges Required (PR): None (PR:N) – No authentication is needed to exploit.
- User Interaction (UI): None (UI:N) – No user action is required.
- Scope (S): Unchanged (S:U) – The exploit does not affect other components.
- Confidentiality (C): High (C:H) – Full disclosure of credentials.
- Integrity (I): High (I:H) – Attacker can gain administrative access.
- Availability (A): High (A:H) – Attacker can disrupt switch operations.
Threat Level: Critical for environments where these switches are exposed to untrusted networks. The lack of a patch for older firmware versions increases the risk.
Deep Dive & Mechanics
The vulnerability is rooted in the SNMPv1/v2 community string synchronization feature of Hirschmann HiLCOS Classic switches. When enabled, the switch synchronizes user passwords with SNMP community strings. SNMPv1 and v2c transmit community strings in plaintext over the network. An attacker can:
- Sniff SNMP Traffic: Capture SNMP packets (UDP port 161) to extract community strings, which are the same as user passwords.
- Extract Configuration Data: If the attacker gains access to the switch's configuration file (e.g., via TFTP or backup), they can read plaintext passwords.
The vulnerability is present in firmware versions prior to 09.0.06 (Classic L2E, L2P, L3E, L3P) and prior to 05.3.07 (Classic L2B). The feature is enabled by default in some configurations, making it a widespread risk.
Vulnerable vs. Patched Code
Vulnerable Code (Conceptual):
// SNMP community string is set to user password
void set_snmp_community(char *password) {
snmp_community = password; // No encryption
}
Patched Code (Conceptual):
// SNMP community string is independent of user passwords
void set_snmp_community(char *community) {
snmp_community = community; // Separate from passwords
}
The patch removes the synchronization between user passwords and SNMP community strings, ensuring that passwords are not exposed via SNMP.
Exploitation & Lab Setup
Red Team (Exploitation)
Prerequisites:
- Network access to the target switch (e.g., same VLAN or subnet).
- Target switch running vulnerable firmware (e.g., HiLCOS Classic L2E version 08.0.00).
Steps:
- Scan for SNMP: Use
nmapto discover SNMP-enabled devices.nmap -sU -p 161 --script=snmp-info <target_ip> - Sniff SNMP Traffic: Use
tcpdumpor Wireshark to capture SNMP packets.tcpdump -i eth0 -X udp port 161 - Extract Community Strings: Look for SNMP Get/Set requests containing the community string in plaintext.
- Authenticate: Use the extracted password to log in via SSH, Telnet, or web interface.
ssh admin@<target_ip>
No public exploit code is available.
Blue Team (Defense)
Detection:
- Monitor for SNMP traffic on UDP port 161 from unexpected sources.
- Use network intrusion detection systems (NIDS) to alert on SNMP community strings in plaintext.
Mitigation:
- Disable SNMPv1/v2c and use SNMPv3 with encryption.
- If SNMPv1/v2c is required, restrict access via ACLs to trusted IPs only.
- Upgrade firmware to patched versions.
Indicators of Compromise (IOCs)
- Network Traffic: SNMP packets (UDP port 161) containing plaintext community strings that match known user passwords.
- Configuration Files: Backup configuration files containing plaintext passwords in SNMP community string fields.
- Logs: Unauthorized administrative logins (SSH, Telnet, HTTP) from IPs that previously scanned for SNMP.
Detection Engineering
YARA Rule
rule CVE_2016_15058_SNMP_Credential_Exposure {
meta:
description = "Detects SNMP community strings that may contain exposed credentials from Hirschmann switches"
author = "Valters IT"
date = "2025-04-10"
reference = "CVE-2016-15058"
strings:
$snmp_get = "GET" ascii
$snmp_set = "SET" ascii
$community = /public|private|[a-zA-Z0-9]{8,}/ ascii
condition:
any of ($snmp_get, $snmp_set) and $community
}
Sigma Rule
title: CVE-2016-15058 SNMP Credential Exposure Detection
id: 7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d
status: experimental
description: Detects SNMP traffic with plaintext community strings that may indicate credential exposure on Hirschmann switches
author: Valters IT
date: 2025-04-10
logsource:
category: network
product: suricata
detection:
selection:
dest_port: 161
protocol: udp
payload|contains:
- 'public'
- 'private'
condition: selection
falsepositives:
- Legitimate SNMP monitoring tools
level: high
Suricata Rule
alert udp any any -> any 161 (msg:"CVE-2016-15058 SNMP Credential Exposure"; content:"|30|"; depth:1; content:"|02 01 00|"; distance:0; within:3; content:"|04|"; distance:0; within:1; pcre:"/^.{0,100}(public|private)/R"; sid:1000001; rev:1;)
Remediation & Mitigation
Immediate Actions:
- Upgrade Firmware: Update to HiLCOS Classic L2E/L2P/L3E/L3P version 09.0.06 or later, and Classic L2B version 05.3.07 or later.
- Disable SNMPv1/v2c: If not required, disable SNMPv1 and v2c. Use SNMPv3 with authentication and encryption.
- Restrict SNMP Access: Apply ACLs to limit SNMP access to trusted management IPs only.
- Change Passwords: After patching, change all user passwords to ensure they are not compromised.
Long-Term Measures:
- Implement network segmentation to isolate management interfaces.
- Regularly audit SNMP configurations and monitor for plaintext community strings.
- Use encrypted protocols (SSH, HTTPS) for device management.
Valters IT
What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.