-
判断方法 您可以在节点上执行命令查看容器运行时使用的cgroup。 容器运行时为containerd的节点,执行以下命令: crictl info |grep -i systemdCgroup 显示如下: "systemdCgroup": false 容器运行时为docker的节点,执行以下命令: docker info |grep "Cgroup" 显示如下: Cgroup Driver: cgroupfs 表明容器运行时使用的cgroup系统为cgroupfs,并未使用systemd cgroup,不受此漏洞影响。
-
E
CS 重置密码插件升级(可选) 华为云ECS服务提供了一键式重置密码功能,弹性云服务器的密码丢失或过期时,可使用该功能进行一键式重置密码。重置密码插件为ECS内部运行的客户端进程,不对外提供任何网络服务,重置密码插件CloudResetPwdUpdateAgent使用了Apache Log4j2组件,经华为
云安全 实验室分析验证,ECS重置密码插件无可利用条件,无安全风险。 如果用户需要升级该插件中的Log4j2版本,可通过下面的步骤升级插件: 将“
MRS _Log4j_Patch.tar.gz”上传至主
OMS 节点的“/home/omm”目录下。具体可参考如何上传本地文件到集群内节点?。 使用root用户登录主OMS节点,修改补丁工具相应权限,切到omm用户下,并解压补丁工具至当前目录。 chown omm:wheel -R /home/omm/MRS_Log4j_Patch.tar.gz su - omm cd /home/omm tar -zxf MRS_Log4j_Patch.tar.gz 在“/home/omm/MRS_Log4j_Patch/bin/ips.ini”文件中配置需要打补丁的节点IP(当前集群所有节点IP)。 每行配置一个IP,中间不能有空行。 根据节点登录方式执行以下步骤: 密码登录 执行以下命令: nohup sh install.sh upgrade_resetpwdagent passwd:登录密码 & 例如密码为xyz123,则命令为: nohup sh install.sh upgrade_resetpwdagent passwd:xyz123 & 通过tail -f nohup.out查看执行情况,打印“upgrade_resetpwdagent patch success.”表示执行完成。 密钥登录 将root用户对应的私钥文件上传到“/home/omm/MRS_Log4j_Patch/bin”目录下,保证文件的属组为root:root,执行命令: chown root:root /home/omm/MRS_Log4j_Patch/bin/密钥文件 chmod 644 /home/omm/MRS_Log4j_Patch/bin/密钥文件 执行以下命令 su - omm cd /home/omm/MRS_Log4j_Patch/bin nohup sh install.sh upgrade_resetpwdagent privatekey:私钥文件路径 & 例如私钥文件路径为‘/home/omm/MRS_Log4j_Patch/bin/abc.pem’,则执行命令为: nohup sh install.sh upgrade_resetpwdagent privatekey:/home/omm/MRS_Log4j_Patch/bin/abc.pem & 通过tail -f nohup.out查看执行情况,打印“upgrade_resetpwdagent patch success.”表示执行完成。
-
现有集群节点安装补丁 将“MRS_Log4j_Patch.tar.gz”上传至主OMS节点的“/home/omm”目录下。具体可参考如何上传本地文件到集群内节点?。 使用root用户登录主OMS节点,修改补丁工具相应权限,切到omm用户下,并解压补丁工具至当前目录。 chown omm:wheel -R /home/omm/MRS_Log4j_Patch.tar.gz su - omm cd /home/omm tar -zxf MRS_Log4j_Patch.tar.gz 在“/home/omm/MRS_Log4j_Patch/bin/ips.ini”文件中配置需要打补丁的节点IP(当前集群所有节点IP)。 每行配置一个IP,中间不能有空行。 执行脚本安装补丁。 cd /home/omm/MRS_Log4j_Patch/bin nohup sh install.sh upgrade & 通过tail -f nohup.out可查看执行情况(打印 “upgrade patch success.” 表示执行完成)。 登录Manager页面,重启受影响的组件,受影响组件请参考受影响组件列表。建议业务低峰期时执行重启操作。 (可选)如果要新下载的客户端安装上补丁,需要先为部件包安装补丁,可执行如下命令: su - omm cd /home/omm/MRS_Log4j_Patch/bin nohup sh install.sh upgrade_package & 通过tail -f nohup.out查看执行情况,打印“upgrade_package patch success.”表示执行完成。 执行完之后,重新下载的客户端就已经是安装补丁的客户端。 该步骤耗时比较长,且执行完之后不需要重启组件。 补丁安装完成后,不能删除补丁目录相关文件,否则会影响补丁的卸载功能。
-
补丁卸载方法 使用root用户登录主OMS节点,执行如下命令,卸载脚本: su - omm cd /home/omm/MRS_Log4j_Patch/bin nohup sh install.sh rollback & 通过tail -f nohup.out可查看执行情况,打印“rollback patch success.”表示执行完成。 登录Manager页面,重启受影响的组件,受影响组件请参考受影响组件列表。建议业务低峰期时执行重启操作。 如果安装补丁时执行了现有集群节点安装补丁的6,且希望回退部件包中的修改,可在2执行完之后执行如下操作: 使用root用户登录主OMS节点,执行如下命令: su - omm cd /home/omm/MRS_Log4j_Patch/bin nohup sh install.sh rollback_package & 通过tail -f nohup.out查看执行情况(打印“rollback_package patch success.”表示执行完成)。
-
受影响组件列表 MRS集群版本 受影响组件 MRS 3.1.1 Hive、Oozie、Flink、Ranger、Tez MRS 3.1.0 Hive、Flink、Spark、Tez、Impala、Ranger、Presto、Oozie MRS 3.0.5 Hive、Flink、Spark、Tez、Impala、Ranger、Presto、Oozie、Storm、Loader MRS 3.0.2 Hive、Flink、Spark、Tez、Ranger、Oozie、Storm、Loader MRS 2.1.1 Hive、Tez、Storm、Loader、Impala、Presto MRS 2.1.0 Loader、Hive、Storm、Presto、Impala、Tez、Spark、HBase MRS 1.9.3 Loader、Hive、Tez、Spark、Flink MRS 1.9.2 Loader、Hive、Tez、Spark、Flink、Impala MRS 1.9.0 Loader、Hive、Spark、Flink MRS 1.8.10 Loader、Storm MRS 1.7.1 Loader、Storm
-
前提条件 从OBS路径中下载的补丁工具“MRS_Log4j_Patch.tar.gz”,下载路径:https://mrs-container1-patch-cn-south-1.obs.cn-south-1.myhuaweicloud.com/MRS_Common_Script/MRS_Log4j_Patch.tar.gz。 确认集群主OMS节点: OMS节点一般为Master1和Master2节点,主OMS节点判断方法,执行以下命令,返回结果为active的节点为主OMS节点,返回结果为standby的节点为备OMS节点: 3.x之前版本: sh /opt/Bigdata/*/workspace0/ha/module/hacom/script/get_harole.sh 3.x及之后版本: sh /opt/Bigdata/om-server*/OMS/workspace0/ha/module/hacom/script/get_harole.sh
-
扩容节点安装补丁 扩容操作时关闭“启动组件”开关。 将“MRS_Log4j_Patch.tar.gz”上传至主OMS节点的“/home/omm”目录下。具体可参考如何上传本地文件到集群内节点?。 使用root用户登录主OMS节点,修改补丁工具相应权限,切到omm用户下,并解压补丁工具至当前目录。 chown omm:wheel -R /home/omm/MRS_Log4j_Patch.tar.gz su - omm cd /home/omm tar -zxf MRS_Log4j_Patch.tar.gz 在“/home/omm/MRS_Log4j_Patch/bin/ips.ini”文件中配置需要打补丁的节点IP(当前集群扩容节点IP)。 每行配置一个IP,中间不能有空行。 执行脚本安装补丁。 cd /home/omm/MRS_Log4j_Patch/bin nohup sh install.sh upgrade & 通过tail -f nohup.out可查看执行情况,打印“upgrade patch success.”表示执行完成。 登录Manager页面,启动新扩容节点上的实例。
-
漏洞影响 docker daemon组件在拉取镜像的过程中没有对镜像层digest进行有效性校验,拉取一个被恶意损坏的镜像可能会导致docker daemon崩溃。 该漏洞可能在以下场景触发: 在集群内的节点上手动docker pull一个被恶意损坏的镜像。 部署工作负载时负载模板中定义了一个被恶意损坏的镜像,kubelet自动拉取镜像时触发。 该漏洞的影响范围如下: 若镜像被恶意损坏,拉取镜像时可能会导致docker daemon崩溃。 使用容器
镜像服务 (SWR)时,如果您的镜像是通过在SWR获取的,上传到镜像仓库的镜像会进行digest校验,此场景不受影响。 该漏洞不会影响运行中的容器。
-
漏洞详情 Docker是一款开源的应用容器运行时,支持在Linux系统上创建一个容器(轻量级虚拟机)并部署和运行应用程序,以及通过配置文件实现应用程序的自动化安装、部署和升级。 Docker 19.03.15和20.10.3之前的版本存在资源管理错误漏洞,攻击者可以利用该漏洞导致dockerd守护进程崩溃。 表1 漏洞信息 漏洞类型 CVE-ID 漏洞级别 披露/发现时间 资源管理错误 CVE-2021-21285 中 2021-02-02
-
判断方法 如果节点是EulerOS和CentOS,可以用如需命令查看安全包版本: rpm -qa |grep docker 使用EulerOS或者CentOS的节点,docker版本低于18.09.0.100.51.h10.51.h3-1.h15.eulerosv2r7的docker包涉及该CVE漏洞。 使用其它非EulerOS和CentOS的镜像(如Ubuntu),可以使用docker version查看docker版本。若版本低于19.03.15、20.10.3,则涉及该漏洞。
-
漏洞利用条件 CCE服务的正常使用场景不受此漏洞影响。 仅当攻击者同时具备以下条件时,可利用该漏洞: 攻击者能自定义容器镜像。 容器以root权限运行。 典型漏洞利用场景: 在容器启动时,快速将容器内的/dev/null替换为指向/proc目录下文件的符号链接,实现容器逃逸。 将/dev/pts/$n替换为指向/proc目录下文件的符号链接,实现容器逃逸。 将/proc/self/attr/current(AppArmor标签文件)重定向到/proc/self/sched。导致容器进程的AppArmor或SELinux配置未被应用,运行在“无约束”状态。
-
漏洞修复方案 规避措施: 确保工作负载使用的容器镜像来源可信。 通过使用集群Pod安全策略或其他admission准入机制限制以root用户启动容器,并设置参数allowPrivilegeEscalation为false: securityContext:
allowPrivilegeEscalation: false 执行以上规避措施前前请评估对业务的影响,并进行充分测试。 修复方案: 当前CCE团队将发布新版本修复该漏洞,请您关注补丁版本发布记录,及时将集群升级至漏洞修复版本。已EOS集群版本请升级到在维版本进行修复。
-
漏洞详情 表1 漏洞信息 漏洞类型 CVE-ID 漏洞级别 披露/发现时间 容器逃逸、信息泄露、拒绝服务 CVE-2025-31133 CVE-2025-52565 CVE-2025-52881 高 2025-11-05 CVE-2025-31133:runc在实现maskedPaths特性时存在竞态条件漏洞,攻击者可利用符号链接欺骗runc,使本应被掩盖的敏感文件(如/proc/sys/kernel/core_pattern)在容器内保持可写状态,此漏洞可导致容器逃逸。 CVE-2025-52565:runc在创建/dev/console设备时存在竞态条件漏洞,攻击者可将/dev/pts/$n替换为指向/proc目录下文件的符号链接,该漏洞可导致容器逃逸或拒绝服务。 CVE-2025-52881:runc存在竞态条件漏洞,攻击者可将安全标签和系统参数的写入操作重定向到其他/proc文件,导致LSM(Linux Security Module,如AppArmor、SELinux)安全策略被绕过,结合其他漏洞可导致容器逃逸或拒绝服务。
-
相关链接 开源NGINX Ingress控制器v1.11.5版本发布记录:https://github.com/kubernetes/ingress-nginx/releases/tag/controller-v1.11.5 开源NGINX Ingress控制器v1.12.1版本发布记录:https://github.com/kubernetes/ingress-nginx/releases/tag/controller-v1.12.1 Kubernetes社区关于CVE-2025-1974的披露公告:https://kubernetes.io/blog/2025/03/24/ingress-nginx-cve-2025-1974
-
漏洞修复方案 CCE已发布新的NGINX Ingress控制器插件修复该漏洞,请升级到v3.0.34及以上版本修复,详情请参见NGINX Ingress控制器插件版本发布记录。 本次漏洞修复集群版本为范围v1.25-v1.31,若CCE集群版本低于v1.25,请先升级集群版本,再升级NGINX Ingress控制器插件。升级前建议先阅读升级NGINX Ingress控制器的兼容性说明。 针对CVE-2025-1974漏洞:您可以通过关闭 NGINX Ingress控制器插件的准入校验特性来消减风险,操作方法如下: CCE NGINX Ingress控制器插件版本在2.4.6以下时,默认未启用准入校验(Admission Webhook),无需消减。 如果您需要关闭准入校验,建议在业务低峰期进行操作。 登录CCE控制台,单击集群名称进入集群。 前往“插件中心”,在已安装NGINX Ingress控制器插件页面单击“管理”,选择在漏洞影响范围内的插件版本,单击“编辑”。 图2 管理插件 关闭“开启准入校验”开关并单击“确定”,等待插件状态正常即可。 图3 关闭准入控制 升级NGINX Ingress控制器插件到指定版本修复该漏洞后,您可以重新开启准入控制。 关闭准入校验将不再对Ingress配置进行前置校验,这可能导致配置错误,进而影响服务的可靠性和稳定性。因此,在关闭准入校验后,创建或更新Ingress资源时,您需要确保配置的合法性,建议先在测试环境中充分验证,再升级至生产环境。 针对CVE-2025-1097、CVE-2025-1098、CVE-2025-24514漏洞:若已按上述操作关闭准入校验(Admission Webhook)特性,该漏洞风险已进行消减。在修复之前,您可以按最小权限原则,只给予受信用户创建及管理Ingress的权限,详情请参见命名空间权限(Kubernetes RBAC授权)。 登录CCE控制台。 前往“权限管理”,选择需要添加权限的集群,单击右上角“添加权限”。 选择需要授予的用户/用户组、命名空间和权限类型,单击“查看详细内容”。 单击“克隆”。 输入新建的自定义权限名称。 删除ingresses的写入权限,并单击“确定”。 返回添加权限页面,权限类型选择“自定义权限”,并勾选上一步中创建的自定义权限。 单击“确定”。