Severity by source
AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Primary rating from GitHub Advisory · only source for this CVE.
CVSS VectorGitHub Advisory
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Lifecycle Timeline
6DescriptionGitHub Advisory
vcpkg is a free and open-source C/C++ package manager. Prior to version 3.6.1#3, vcpkg's Windows builds of OpenSSL set openssldir to a path on the build machine, making that path be attackable later on customer machines. This issue has been patched in version 3.6.1#3.
AnalysisAI
Local privilege escalation via hardcoded build path in vcpkg's OpenSSL binaries affects Windows users of the C/C++ package manager prior to version 3.6.1#3. The vulnerability allows authenticated local attackers with low privileges to achieve high confidentiality, integrity, and availability impact (CVSS 7.8) by exploiting the hardcoded openssldir path that references the original build machine. Upstream fix available (PR #50518, commit 5111afd); patched version 3.6.1#3 released. No public exploit identified at time of analysis, with EPSS data not available for this recent CVE.
Technical ContextAI
vcpkg is Microsoft's cross-platform C/C++ dependency manager that builds libraries from source. The vulnerability stems from CWE-427 (Uncontrolled Search Path Element) in how vcpkg configured OpenSSL builds for Windows. When vcpkg compiled OpenSSL on Windows, it embedded the build machine's filesystem path as the openssldir configuration parameter within the resulting OpenSSL binaries. This hardcoded path creates a search path vulnerability on customer machines: if an attacker can create or control files at that specific path on a target system, they can manipulate OpenSSL's runtime behavior (certificate stores, configuration files, engine modules) to execute malicious code or intercept cryptographic operations. This affects any Windows application using OpenSSL binaries distributed via vcpkg versions before 3.6.1#3, as the binaries carry the build-time path dependency rather than a relative or customer-appropriate configuration directory.
RemediationAI
Upgrade to vcpkg version 3.6.1#3 or later, which corrects the OpenSSL build configuration to avoid hardcoding build-machine paths into distributed binaries. After upgrading vcpkg, rebuild all OpenSSL-dependent libraries and applications to ensure new binaries contain the corrected configuration. The fix is implemented in commit 5111afdf55cc1429d9951e4c7b02010e659346a9 and merged via pull request #50518, both available in the GitHub repository (https://github.com/microsoft/vcpkg/pull/50518 and https://github.com/microsoft/vcpkg/commit/5111afdf55cc1429d9951e4c7b02010e659346a9). Organizations unable to immediately upgrade should implement compensating controls: restrict local user permissions to prevent directory creation at predictable build paths, monitor for suspicious filesystem activity at known vcpkg build path patterns, and apply principle of least privilege to limit impact of local account compromise. Review and rebuild any production applications using OpenSSL libraries originally compiled with vulnerable vcpkg versions, as the binary artifacts themselves carry the vulnerability regardless of current vcpkg installation status.
The (1) TLS and (2) DTLS implementations in OpenSSL 1.0.1 before 1.0.1g do not properly handle Heartbeat Extension packe
The dtls1_reassemble_fragment function in d1_both.c in OpenSSL before 0.9.8za, 1.0.0 before 1.0.0m, and 1.0.1 before 1.0
OpenSSL before 0.9.8za, 1.0.0 before 1.0.0m, and 1.0.1 before 1.0.1h does not properly restrict processing of ChangeCiph
The SSLv2 protocol, as used in OpenSSL before 1.0.1s and 1.0.2 before 1.0.2g and other products, requires a server to se
The ssl3_get_key_exchange function in s3_clnt.c in OpenSSL before 0.9.8zd, 1.0.0 before 1.0.0p, and 1.0.1 before 1.0.1k
The SSL protocol 3.0, as used in OpenSSL through 1.0.1i and other products, uses nondeterministic CBC padding, which mak
The AES-NI implementation in OpenSSL before 1.0.1t and 1.0.2 before 1.0.2h does not consider memory allocation during a
The X509_verify_cert function in crypto/x509/x509_vfy.c in OpenSSL 1.0.1n, 1.0.1o, 1.0.2b, and 1.0.2c does not properly
A buffer overrun can be triggered in X.509 certificate verification, specifically in name constraint checking. Rated hig
The ssl3_send_client_key_exchange function in s3_clnt.c in OpenSSL before 0.9.8za, 1.0.0 before 1.0.0m, and 1.0.1 before
In OpenSSL 1.1.0 before 1.1.0d, if a malicious server supplies bad parameters for a DHE or ECDHE key exchange then this
A denial of service flaw was found in OpenSSL 0.9.8, 1.0.1, 1.0.2 through 1.0.2h, and 1.1.0 in the way the TLS/SSL proto
Same weakness CWE-427 – Uncontrolled Search Path Element
View allSame technique Information Disclosure
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-17285