CVE-2025-57850CVE-2025-57850是Red Hat CodeReady Workspaces容器镜像中的一个容器权限提升漏洞。该漏洞的根本原因在于镜像构建过程中,/etc/passwd文件被错误地设置了组可写权限。在正常情况下,/etc/passwd文件应该只允许root用户具有写权限,其他用户应仅有读权限。然而,由于构建配置错误,该文件继承了一个允许组内成员修改它的权限位。攻击者如果能够在受影响的容器内执行命令,即使是以非root用户身份运行,也可以利用其所在的组(通常是root组)对该文件具有的写权限来修改/etc/passwd内容。通过在/etc/passwd文件中添加一个新的用户记录,并为其分配UID 0(root用户的UID),攻击者可以成功创建一个具有完整root权限的新账户。这将导致攻击者获得容器内的完全控制权,可以执行任意操作、安装恶意软件、窃取敏感数据或横向移动到其他系统。此漏洞的CVSS评分为6.4,属于中等严重程度,攻击向量为本地,认证要求为高权限,但攻击成功后可导致机密性、完整性和可用性均达到高影响。
该漏洞属于容器环境下的权限配置错误类漏洞。在Docker容器镜像构建过程中,/etc/passwd文件的权限被错误设置为组可写(模式644变为664或类似)。具体技术细节如下:1)漏洞触发条件:攻击者需要在受影响的CodeReady Workspaces容器内拥有一个有效账户,且该账户属于具有/etc/passwd写权限的组(通常是root组或特定组)。2)漏洞利用原理:Linux系统中,/etc/passwd文件存储用户账户信息,每行格式为username:password:UID:GID:GECOS:home:shell。攻击者通过在文件末尾添加一行newuser:x:0:0:root:/bin/bash:/bin/sh,创建一个UID为0的新用户。3)密码设置:需要使用openssl或python生成加密密码,并替换x字段,或使用passwd命令(如果容器内可用)。4)利用限制:此攻击需要容器文件系统支持/etc/passwd修改,且攻击者需具有对该文件的写权限。由于容器通常以root或特权用户运行,/etc/passwd组权限配置错误会直接影响容器安全性。修复方案是在镜像构建时确保/etc/passwd权限设置为644(-rw-r--r--)。