漏洞概述
SUSE Rancher安全团队发布紧急公告,披露其全生命周期容器安全平台NeuVector中存在命令注入和缓冲区溢出漏洞。该漏洞被追踪为CVE-2025-54469,获得了CVSS满分10.0的评分,表明其可能造成远程代码执行和完整的容器沦陷。
技术细节
根据安全公告所述:“NeuVector中存在一个漏洞,执行器(enforcer)使用环境变量CLUSTER_RPC_PORT和CLUSTER_LAN_PORT通过popen生成要执行的命令,但未事先净化这些变量的值。”
该漏洞存在于Enforcer容器的监控进程(monitor process)中,该进程负责管理Consul服务等内部子进程。当Enforcer容器停止时,此监控器会通过popen()函数执行shell命令来检查Consul子进程是否已退出。
然而,SUSE发现环境变量CLUSTER_RPC_PORT和CLUSTER_LAN_PORT的值被直接插入到shell命令中——未进行任何输入验证或净化处理。
SUSE警告称:“环境变量CLUSTER_RPC_PORT和CLUSTER_LAN_PORT的值未经验证或净化直接用于通过popen组成shell命令。这种行为可能允许恶意用户通过这些变量在enforcer容器中注入恶意命令。”
攻击影响
这种设计缺陷实际上实现了任意命令注入,允许能够修改这些环境变量的攻击者在Enforcer启动例程中执行未经授权的shell命令。
利用CVE-2025-54469漏洞可能使攻击者在Enforcer容器内获得root级代码执行权限,可能导致:
- 容器化环境的完全沦陷
- 在Kubernetes集群内横向移动
- 篡改NeuVector的运行时安全执行
- 如果容器以提升权限运行,可能实现权限升级
考虑到NeuVector在保护容器化工作负载和执行运行时策略方面的作用,此漏洞对DevSecOps流水线和生产级Kubernetes部署构成了特别严重的风险。
修复方案
SUSE已在NeuVector版本v5.4.7及更高版本中发布修复程序,监控进程现在在执行shell命令之前会验证两个环境变量的值。