Security Vulnerability Report
中文
CVE-2025-65083 CVSS 3.2 LOW

CVE-2025-65083

Published: 2025-11-17 16:15:51
Last Modified: 2026-04-15 00:35:42

Description

GoSign Desktop through 2.4.1 disables TLS certificate validation when configured to use a proxy server. This can be problematic if the GoSign Desktop user selects an arbitrary proxy server without consideration of whether outbound HTTPS connections from the proxy server to Internet servers succeed even for untrusted or invalid server certificates. In this scenario (which is outside of the product's design objectives), integrity protection could be bypassed. In typical cases of a proxy server for outbound HTTPS traffic from an enterprise, those connections would not succeed. (Admittedly, the usual expectation is that a client application is configured to trust an enterprise CA and does not set SSL_VERIFY_NONE.) Also, it is of course unsafe to place ~/.gosign in the home directory of an untrusted user and then have other users execute downloaded files.

CVSS Details

CVSS Score
3.2
Severity
LOW
CVSS Vector
CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:C/C:N/I:L/A:N

Configurations (Affected Products)

No configuration data available.

GoSign Desktop < 2.4.1

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
#!/usr/bin/env python3 """ CVE-2025-65083 PoC - GoSign Desktop TLS Certificate Validation Bypass This PoC demonstrates the concept of the vulnerability where GoSign Desktop disables TLS certificate validation when configured with a proxy server. Note: This is for educational and authorized testing purposes only. """ import socket import ssl import json from datetime import datetime def create_malicious_proxy_response(): """ Simulate a malicious proxy server that performs MITM attack """ print("[*] Simulating malicious proxy server behavior...") print("[*] In vulnerable GoSign Desktop, certificate validation would be disabled") print("[*] This allows arbitrary certificates to be accepted") # Simulate the vulnerable behavior vulnerable_config = { "proxy_enabled": True, "certificate_verification": "SSL_VERIFY_NONE", "security_impact": "Integrity protection bypassed", "attack_vector": "Man-in-the-Middle (MITM)" } return vulnerable_config def demonstrate_attack_scenario(): """ Demonstrate the attack chain for exploiting this vulnerability """ attack_steps = [ { "step": 1, "action": "Attacker sets up malicious proxy server", "description": "Attacker configures a proxy server under their control" }, { "step": 2, "action": "Victim configures GoSign Desktop to use malicious proxy", "description": "User unknowingly configures the software to use the attacker's proxy" }, { "step": 3, "action": "GoSign Desktop disables certificate validation", "description": "Due to vulnerability, TLS verification is set to SSL_VERIFY_NONE" }, { "step": 4, "action": "Attacker performs MITM attack", "description": "Attacker intercepts and can modify HTTPS traffic" }, { "step": 5, "action": "Integrity protection bypassed", "description": "Communication integrity is compromised" } ] return attack_steps def check_vulnerability(product_name="GoSign Desktop", version="2.4.1"): """ Check if the product version is vulnerable """ print(f"[*] Checking vulnerability status for {product_name} v{version}") # Known affected versions affected_versions = ["2.4.1", "2.4.0", "2.3.x", "2.2.x", "2.1.x"] if version in affected_versions or version.startswith("2."): result = { "vulnerable": True, "product": product_name, "version": version, "reason": "Versions through 2.4.1 disable TLS cert validation with proxy" } else: result = { "vulnerable": False, "product": product_name, "version": version, "recommendation": "Update to latest version" } return result if __name__ == "__main__": print("=" * 60) print("CVE-2025-65083 PoC - GoSign Desktop TLS Bypass") print("=" * 60) # Demonstrate vulnerability config = create_malicious_proxy_response() print(f"\n[*] Vulnerable Configuration: {json.dumps(config, indent=2)}") # Show attack chain print("\n[*] Attack Chain:") for step in demonstrate_attack_scenario(): print(f" Step {step['step']}: {step['action']}") print(f" -> {step['description']}") # Check vulnerability status print("\n[*] Vulnerability Check:") result = check_vulnerability() print(json.dumps(result, indent=2))

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-65083", "sourceIdentifier": "[email protected]", "published": "2025-11-17T16:15:51.007", "lastModified": "2026-04-15T00:35:42.020", "vulnStatus": "Deferred", "cveTags": [{"sourceIdentifier": "[email protected]", "tags": ["disputed"]}], "descriptions": [{"lang": "en", "value": "GoSign Desktop through 2.4.1 disables TLS certificate validation when configured to use a proxy server. This can be problematic if the GoSign Desktop user selects an arbitrary proxy server without consideration of whether outbound HTTPS connections from the proxy server to Internet servers succeed even for untrusted or invalid server certificates. In this scenario (which is outside of the product's design objectives), integrity protection could be bypassed. In typical cases of a proxy server for outbound HTTPS traffic from an enterprise, those connections would not succeed. (Admittedly, the usual expectation is that a client application is configured to trust an enterprise CA and does not set SSL_VERIFY_NONE.) Also, it is of course unsafe to place ~/.gosign in the home directory of an untrusted user and then have other users execute downloaded files."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:C/C:N/I:L/A:N", "baseScore": 3.2, "baseSeverity": "LOW", "attackVector": "LOCAL", "attackComplexity": "HIGH", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "CHANGED", "confidentialityImpact": "NONE", "integrityImpact": "LOW", "availabilityImpact": "NONE"}, "exploitabilityScore": 1.4, "impactScore": 1.4}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-295"}]}], "references": [{"url": "https://securityaffairs.com/184672/hacking/multiple-vulnerabilities-in-gosign-desktop-lead-to-remote-code-execution.html", "source": "[email protected]"}, {"url": "https://www.firma.infocert.it/prodotti/gosign", "source": "[email protected]"}]}}