CVE-2018-25421
Executive Summary
CVE-2018-25421 is a path traversal vulnerability in Open STA Manager version 2.3 that enables authenticated attackers to download arbitrary files from the underlying operating system. The flaw resides in the file parameter of modules/backup/actions.php, where insufficient input validation permits directory traversal using ../ sequences. Successful exploitation exposes sensitive system files such as /etc/passwd, application configuration files, and database credentials, potentially leading to full system compromise in enterprise environments where the management console is deployed.
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
Technical Analysis
The vulnerability exists in the backup management module of Open STA Manager 2.3, a web-based network management application. The affected endpoint, modules/backup/actions.php, handles user-initiated file backup operations. When an authenticated user supplies the op=getfile parameter, the application retrieves the file specified in the file parameter and streams its contents back to the client.
The root cause is the absence of input sanitization on the file parameter. The application concatenates the user-supplied value with a base directory path without validating that the resolved path remains within the intended backup directory. This allows an attacker to inject ../ sequences to navigate upward through the directory structure.
Code-level mechanism (hypothesized based on vulnerability class):
// Vulnerable code pattern in modules/backup/actions.php
if ($_GET['op'] == 'getfile') {
$file = $_GET['file'];
$backup_dir = '/var/www/sta/backups/';
// NO sanitization of $file
$full_path = $backup_dir . $file;
if (file_exists($full_path)) {
header('Content-Type: application/octet-stream');
readfile($full_path);
}
}
The attack vector is HTTP GET requests to modules/backup/actions.php with two parameters: op=getfile and a file value containing traversal sequences. Authentication is required, but the default credentials for many Open STA Manager installations are weak or widely documented, significantly lowering the exploitation barrier.
Attack surface: Authenticated web interface (HTTP/HTTPS), typically listening on port 80 or 443. The management console is often exposed to internal networks and, in misconfigured environments, to the internet.
CVSS analysis: The base score of 6.5 (Medium severity) reflects that while the vulnerability allows high-impact file disclosure, it requires authenticated access and does not directly enable code execution or data modification. The confidentiality impact is high, while integrity and availability impacts are none.
Exploitation Scenarios
Scenario: Enterprise Network Management Server Compromise
Step 1 — Reconnaissance:
The attacker identifies Open STA Manager instances by scanning internal network ranges for open HTTP ports (80, 443, 8080). Fingerprinting uses HTTP response headers (Server: Apache/2.4.x with STA-related cookies) or login page titles. Shodan queries can locate internet-exposed instances.
Step 2 — Authentication: The attacker obtains valid credentials through:
- Default credentials (e.g.,
admin/admin,sta/sta) that were never changed post-deployment - Credential stuffing using previously breached passwords
- Brute-forcing the login form (if no rate-limiting is enforced)
Step 3 — File Download Request Construction: With authenticated access, the attacker crafts the following HTTP request:
GET /modules/backup/actions.php?op=getfile&file=../../../../../../etc/passwd HTTP/1.1
Host: target-sta-server:8080
Cookie: PHPSESSID=<valid_session_id>
Connection: close
URL-encoded alternative:
GET /modules/backup/actions.php?op=getfile&file=..%2F..%2F..%2F..%2F..%2F..%2Fetc%2Fpasswd HTTP/1.1
Step 4 — Payload Execution:
The server responds with the contents of /etc/passwd, revealing system usernames. The attacker then iterates through additional sensitive files:
/etc/shadow(if permissions allow)/var/www/sta/config/database.php— application database credentials/var/www/sta/config/settings.php— management console configuration/proc/self/environ— environment variables, potentially containing secrets- SSH private keys (
/home/admin/.ssh/id_rsa) for lateral movement
Step 5 — Post-Exploitation: The attacker uses extracted database credentials to connect directly to the backend MySQL/PostgreSQL server, extracting network device credentials, SNMP community strings, and configuration backups. SSH keys enable direct host access. The compromised STA instance becomes a pivot point for deeper network penetration.
Additional Scenario: Chained File Disclosure
If the attacker identifies files with write permissions (e.g., log files, temporary directories), they can potentially overwrite system files by first downloading them to discover structure, then exploiting other vulnerabilities or misconfigurations to achieve arbitrary write.
Impact Assessment
Business Impact:
- Confidentiality: Critical — arbitrary file disclosure exposes system configuration, credentials, network architecture diagrams, and potentially customer data stored within backup files
- Integrity: Limited direct impact, but leaked credentials enable unauthorized modifications
- Availability: No direct denial-of-service, but full compromise could lead to service disruption
CVSS Subscore Analysis (Score: 6.5, Medium):
- Attack Vector: Network (remote exploitation over HTTP)
- Attack Complexity: Low (no special conditions required beyond authentication)
- Privileges Required: Low (single authenticated account needed)
- User Interaction: None
- Confidentiality Impact: High (arbitrary file read)
- Integrity Impact: None
- Availability Impact: None
Affected Systems:
- Open STA Manager 2.3 installations (exact version range unconfirmed)
- Systems where the management console is accessible to untrusted network segments
- Deployments using default or weak administrative credentials
Blast Radius: In enterprise environments, STA Manager typically manages network infrastructure (switches, routers, wireless controllers). Compromise cascades to all managed devices whose configuration credentials are stored in the application database. A single exploitation event can expose hundreds of device credentials and network topology information.
Detection Guidance
Sigma Rule
title: Open STA Manager Path Traversal - Backup File Download
id: 4c0d2813-3f1e-4e7a-9d1a-bc4e5f6a7d8e
status: experimental
description: Detects path traversal attempts against Open STA Manager backup module (CVE-2018-25421)
references:
- https://nvd.nist.gov/vuln/detail/CVE-2018-25421
author: Valtersit Threat Intel
date: 2024/01/15
logsource:
category: webserver
product: apache
detection:
selection:
c-uri|contains:
- '/modules/backup/actions.php'
c-uri|contains|all:
- 'op=getfile'
- 'file='
traversal:
c-uri|contains:
- '..%2f'
- '..%2F'
- '..%5c'
- '%2e%2e%2f'
- '%2e%2e%5c'
- '..%252f'
- '....//'
condition: selection and traversal
falsepositives:
- Legitimate backup file downloads referencing files within the backup directory (unlikely to contain traversal sequences)
level: high
YARA Rule
rule Open_STA_Manager_Path_Traversal_CVE_2018_25421
{
meta:
author = "Valtersit Threat Intel"
description = "Detects path traversal attempts targeting Open STA Manager backup module"
cve = "CVE-2018-25421"
date = "2024-01-15"
score = 80
strings:
$endpoint = "/modules/backup/actions.php" ascii wide nocase
$op_param = "op=getfile" ascii wide nocase
$traversal1 = "../" ascii wide
$traversal2 = "..\\" ascii wide
$traversal3 = "%2e%2e%2f" ascii wide nocase
$traversal4 = "..%2f" ascii wide nocase
$traversal5 = "..%252f" ascii wide nocase
$traversal6 = "%2e%2e%5c" ascii wide nocase
condition:
$endpoint and $op_param and (uint16(0) == 0x4D5A or filesize < 100KB) and
(
$traversal1 or $traversal2 or $traversal3 or
$traversal4 or $traversal5 or $traversal6
)
}
Suricata IDS Rule
alert http any any -> any any (
msg:"CVE-2018-25421 - Open STA Manager Path Traversal Attempt";
flow:established,to_server;
http.method:GET;
http.uri:contains, "/modules/backup/actions.php";
http.uri:contains, "op=getfile";
http.uri:contains, "file=";
pcre:"/(?i)(\.\.%2f|\.\.%5c|%2e%2e%2f|%2e%2e%5c|\.\.\/|\.\.\\)/";
classtype:attempted-user;
reference:cve,2018-25421;
sid:10001254;
rev:1;
metadata:created_at 2024_01_15, updated_at 2024_01_15, deployment Perimeter, signature_severity Major;
)
Elastic Detection
sequence by host.name with maxspan=30s
[ http where http.request.method == "GET" and
http.request.uri contains "/modules/backup/actions.php" and
http.request.uri contains "op=getfile" and
http.request.uri contains "file=" and
(http.request.uri contains "..%2f" or http.request.uri contains "..%5c" or
http.request.uri contains "%2e%2e%2f" or http.request.uri contains "..//")
]
Splunk SPL Query
index=web sourcetype=iis OR sourcetype=apache
| uri_path="/modules/backup/actions.php"
| where like(uri_query, "%op=getfile%")
| regex uri_query="(?i)(\.\.%2f|\.\.%5c|%2e%2e%2f|\.\.\/|\.\.\\)"
| table _time, src_ip, dest_ip, user, uri_query, status_code, http_user_agent
| sort - _time
Wazuh OSSEC Rule
<group name="web_application,">
<rule id="100254" level="10">
<decoded_as>web-access</decoded_as>
<field name="url">\./modules/backup/actions\.php</field>
<field name="url">op=getfile</field>
<regex offset="attack">\.\.%2f|\.\.%5c|%2e%2e%2f|\.\./</regex>
<description>CVE-2018-25421 - Open STA Manager path traversal exploitation attempt</description>
<group>path_traversal,attack,cve-2018-25421,</group>
<mitre>
<id>T1190</id>
</mitre>
</rule>
</group>
Mitigation & Patch Guidance
Patch Confidence: 2/4 (CLAIMED — single source claims patch (not independently confirmed))
Immediate Mitigations (until patch verification):
- Restrict network access: Implement firewall rules to limit access to the Open STA Manager web console to only authorized administrative IP ranges. Never expose the management interface directly to the internet.
- Review and rotate credentials: Change all administrative passwords immediately, especially if default credentials are in use.
- Deploy virtual patching: Use a WAF to block requests containing directory traversal patterns (
../,%2e%2e%2f, etc.) targeting/modules/backup/actions.php. Deploy the Suricata or Sqreen rules above in forward-proxy or inline mode. - Disable the backup module: If the backup functionality is not actively used, modify the web server configuration to return 403 for access to the
modules/backup/directory:<Directory "/var/www/sta/modules/backup/"> Require all denied </Directory>
Patch/Upgrade Steps:
- Verify patch availability: Contact the vendor (Open STA Manager maintainer) to confirm the patched version and obtain the update. A single source claims a fix exists (patch confidence 2/4).
- If patch confirmed: Apply the vendor-provided update. Ensure the patch is obtained from an official source and verify its checksum.
- If patch unverified or unavailable: Continue with immediate mitigations. Monitor vendor advisory channels and community forums for patch release announcements.
Long-Term Hardening:
- Input validation: Ensure the application properly canonicalizes file paths and validates that resolved paths remain within the intended directory. Use a whitelist-based approach rather than blacklisting traversal strings.
- Least privilege: Run the web server with minimal filesystem permissions. Restrict read access to sensitive system files (
/etc/shadow, application config files) from the web server user account. - Credential management: Implement multi-factor authentication for administrative access to the management console. Enforce strong password policies.
- Network segmentation: Place network management systems in a separate VLAN with strict ACLs limiting access from the general user network.
- Deployment review: Conduct a security audit of all Open STA Manager deployments to identify other configuration weaknesses (default credentials, exposed interfaces, missing security headers).
- Monitoring: Deploy the provided detection rules (Sigma, Suricata, SPL) to monitor for ongoing exploitation attempts.
- Alternative solutions: Evaluate whether the STA Manager functionality can be replaced with a maintained, actively-supported alternative. The age of this CVE (2018) suggests the product may be deprecated or lack active security support.
References
- NVD Entry: https://nvd.nist.gov/vuln/detail/CVE-2018-25421 — Official CVE record with vulnerability description and CVSS scoring.
- CWE-22 (Path Traversal): https://cwe.mitre.org/data/definitions/22.html — Weakness classification reference for path traversal vulnerabilities.
- CISA Known Exploited Vulnerabilities Catalog: https://www.cisa.gov/known-exploited-vulnerabilities-catalog — CVE-2018-25421 is NOT listed in KEV, indicating no confirmed exploitation in the wild, though this does not preclude targeted attacks.
- MITRE ATT&CK — T1190 (Exploit Public-Facing Application): https://attack.mitre.org/techniques/T1190/ — Associated tactic for remote exploitation of application vulnerabilities.
- FIRST EPSS: CVE-2018-25421 has not yet been scored by FIRST.org; treat exposure as moderate-to-high given the age of the CVE and likelihood of unprotected legacy deployments.
Threat actor campaigns: No public documentation exists attributing this CVE to a specific threat actor group or campaign. However, path traversal vulnerabilities in network management software are routinely targeted by ransomware operations and APT groups seeking credentials and network visibility. The absence of CISA KEV listing and public PoCs suggests exploitation is likely restricted to targeted, skilled adversaries rather than broad opportunistic scanning.
💣 PoC CODE AVAILABLE
Exploit code for this CVE is tracked in our database.
Access poc_code via API Pro.