CVE-2023-7245

7.8 HIGH

📋 TL;DR

This vulnerability allows a local user to execute arbitrary code within the nodejs process context of OpenVPN Connect by exploiting the ELECTRON_RUN_AS_NODE environment variable. It affects OpenVPN Connect versions 3.0 through 3.4.3 on Windows and 3.0 through 3.4.7 on macOS. Attackers with local access can escalate privileges or execute malicious code.

💻 Affected Systems

Products:
  • OpenVPN Connect
Versions: 3.0 through 3.4.3 (Windows), 3.0 through 3.4.7 (macOS)
Operating Systems: Windows, macOS
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects OpenVPN Connect client software, not OpenVPN server. Linux versions are not affected.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Local attacker gains full control of the system by executing arbitrary code with the privileges of the OpenVPN Connect process, potentially leading to complete system compromise.

🟠

Likely Case

Local user executes malicious code to steal credentials, install malware, or pivot to other systems on the network.

🟢

If Mitigated

With proper access controls and patching, impact is limited to denial of service or minimal data exposure.

🌐 Internet-Facing: LOW - This is a local privilege escalation vulnerability requiring local access to the system.
🏢 Internal Only: HIGH - Internal users with local access can exploit this to gain elevated privileges or execute arbitrary code.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: LOW

Exploitation requires local access to the system. The vulnerability leverages environment variable manipulation which is relatively straightforward for attackers with local access.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Windows: 3.4.4+, macOS: 3.4.8+

Vendor Advisory: https://openvpn.net/vpn-server-resources/openvpn-connect-change-log/

Restart Required: Yes

Instructions:

1. Download latest OpenVPN Connect from official website. 2. Uninstall current version. 3. Install updated version. 4. Restart system.

🔧 Temporary Workarounds

Remove local user access

all

Restrict local access to systems running vulnerable OpenVPN Connect versions

Disable ELECTRON_RUN_AS_NODE

windows

Set ELECTRON_RUN_AS_NODE environment variable to empty or restricted value

set ELECTRON_RUN_AS_NODE=

🧯 If You Can't Patch

  • Restrict local user access to systems running vulnerable OpenVPN Connect
  • Monitor for suspicious process creation from OpenVPN Connect executable

🔍 How to Verify

Check if Vulnerable:

Check OpenVPN Connect version in application settings or About dialog. Windows: 3.0-3.4.3, macOS: 3.0-3.4.7 are vulnerable.

Check Version:

Windows: Check Help > About in OpenVPN Connect GUI. macOS: OpenVPN Connect > About OpenVPN Connect.

Verify Fix Applied:

Verify version is Windows 3.4.4+ or macOS 3.4.8+ in application settings.

📡 Detection & Monitoring

Log Indicators:

  • Unusual process creation from OpenVPN Connect executable
  • Suspicious environment variable manipulation

Network Indicators:

  • Unusual outbound connections from OpenVPN Connect process

SIEM Query:

Process Creation where Parent Process Name contains 'openvpn' AND Command Line contains unusual parameters

🔗 References

📤 Share & Export