CVE-2025-54469CVE-2025-54469是NeuVector企业级容器安全平台中的一个严重命令注入漏洞。NeuVector的enforcer组件在容器停止时,monitor进程需要检查consul子进程是否已退出。为此,monitor进程使用popen函数执行shell命令来检查consul进程使用的端口是否仍然活跃。然而,在构造这些shell命令时,程序直接使用了CLUSTER_RPC_PORT和CLUSTER_LAN_PORT这两个环境变量的值,而没有对这些变量进行任何验证或消毒处理。由于这些环境变量可以在容器启动时由用户控制,攻击者可以通过设置恶意的环境变量值来注入任意shell命令,从而在enforcer容器中执行任意代码。该漏洞CVSS评分高达9.9,属于严重级别,对系统的机密性、完整性和可用性都造成严重影响。
NeuVector的enforcer容器启动后会运行monitor进程作为入口点。当enforcer容器停止时,monitor进程负责检查consul子进程是否已正常退出。为此,monitor进程会使用C语言的标准库函数popen()来执行shell命令,该命令用于检查consul进程使用的网络端口是否仍然处于活跃状态。在构造这些检查命令时,程序直接拼接了CLUSTER_RPC_PORT和CLUSTER_LAN_PORT环境变量的值,而没有对这些环境变量进行任何输入验证或特殊字符转义。popen()函数会调用系统的/bin/sh来执行命令,因此攻击者可以通过在环境变量值中注入分号(;)、管道符(|)、反引号(`)或$()等shell特殊字符来执行任意命令。攻击者只需在启动enforcer容器时设置恶意的环境变量值,即可实现命令注入。成功利用此漏洞可以在enforcer容器内以root权限执行任意命令。