CVE-2026-34054vcpkg是一个广泛使用的C/C++包管理器。在3.6.1#3版本之前,vcpkg生成的Windows版OpenSSL构建中,将openssldir配置参数错误地设置为了构建机器上的特定路径。这一硬编码路径问题使得该路径在后续部署到客户机器时变得可被攻击。由于该路径在客户机上可能不存在或权限设置不当,本地攻击者可利用此漏洞进行攻击。该安全漏洞已在vcpkg 3.6.1#3版本中被修复。
该漏洞的根源在于vcpkg在构建OpenSSL时未能正确隔离构建环境与运行环境。构建系统将构建机器上的绝对路径硬编码到了OpenSSL的openssldir配置参数中。当受影响的OpenSSL库在客户机器上运行时,它会尝试访问这个特定的硬编码路径。由于该路径在客户机上往往不存在,或者处于一个可被非特权用户控制的目录结构中,本地低权限攻击者可以预先在该位置植入恶意文件(例如修改过的openssl.cnf配置文件)。当任何高权限的应用程序或系统服务调用此OpenSSL库并尝试加载配置时,恶意配置将被解析并执行。攻击者可以通过配置文件指定加载恶意的动态链接库或执行OpenSSL指令,从而触发任意代码执行,导致本地权限提升(LPE),完全控制受影响系统。