CVE-2015-6018

HIGH10.0/ 10.0
Share:
Published: December 31, 2015 at 05:59 AM
Modified: April 12, 2025 at 10:46 AM
Source: cret@cert.org

Vulnerability Description

The diagnostic-ping implementation on ZyXEL PMG5318-B20A devices with firmware before 1.00(AANC.2)C0 allows remote attackers to execute arbitrary commands via the PingIPAddr parameter.

CVSS Metrics

Base Score
10.0
Severity
HIGH
Vector String
AV:N/AC:L/Au:N/C:C/I:C/A:C

Weaknesses (CWE)

Source: nvd@nist.gov

AI Security Analysis

01 // Technical Summary

Remote attackers can execute arbitrary commands on vulnerable ZyXEL PMG5318-B20A devices due to a flaw in the diagnostic ping functionality. This vulnerability allows for complete system compromise, potentially leading to data theft, network disruption, and further exploitation. The impact is amplified due to the device's likely role as a gateway, providing access to the internal network.

02 // Vulnerability Mechanism

Step 1: Target Identification: The attacker identifies a vulnerable ZyXEL PMG5318-B20A device with firmware versions prior to 1.00(AANC.2)C0. This can be achieved through network scanning or information gathering.

Step 2: Payload Delivery: The attacker crafts a malicious HTTP request to the device's web interface, targeting the diagnostic-ping functionality. The request includes a specially crafted PingIPAddr parameter containing a command injection payload (e.g., 127.0.0.1; <malicious_command>).

Step 3: Command Execution: The vulnerable device's web server receives the malicious request and passes the PingIPAddr value to the system's ping command. Due to the lack of input validation, the injected command is executed by the operating system.

Step 4: Command Output/Control: The attacker can use the injected command to execute arbitrary code, potentially gaining a reverse shell, uploading malware, or modifying system configurations. The attacker can then use this access to further compromise the network.

03 // Deep Technical Analysis

The vulnerability stems from a command injection flaw within the diagnostic-ping implementation of the ZyXEL PMG5318-B20A firmware. The PingIPAddr parameter, intended to specify an IP address for pinging, is directly passed to a system command without proper input validation or sanitization. This allows an attacker to inject arbitrary shell commands, which are then executed with the privileges of the web server process. The root cause is a lack of input validation, which allows the attacker to craft a malicious payload that is interpreted as a command by the operating system. Specifically, the code likely uses a function like system() or popen() to execute the ping command, making it susceptible to command injection.

CVE-2015-6018 - HIGH Severity (10) | Free CVE Database | 4nuxd