CVE-2025-57848CVE-2025-57848是一个影响Container-native Virtualization(CNV)镜像的容器权限提升漏洞。该漏洞的根本原因是在镜像构建过程中,/etc/passwd文件的权限设置不当,被赋予了组可写(group-writable)权限。在Linux系统中,root组(GID 0)是一个特殊的高权限组,通常默认情况下所有用户都属于root组。当攻击者能够在受影响的容器内执行命令时,即使是非root用户,也可以利用其root组成员的身份来修改/etc/passwd文件。通过在/etc/passwd文件中添加新的用户记录,并指定任意UID(包括UID 0,即root用户的UID),攻击者可以创建一个具有完全root权限的新用户账户。这将导致容器内的完全权限提升,使攻击者能够以root身份执行任意命令,完全控制整个容器环境。该漏洞的CVSS评分为6.4,属于中等严重程度,攻击向量为本地攻击,需要高权限(能在容器内执行命令),无需用户交互即可完成攻击。
该漏洞的技术原理涉及Linux权限系统和容器安全机制的不当配置。具体分析如下:
1. 漏洞根因:在Container-native Virtualization镜像构建过程中,/etc/passwd文件的权限被设置为644或更宽松的权限,导致组可写位被设置。这意味着任何属于root组(GID 0)的用户都有权修改该文件。
2. 利用条件:攻击者需要满足以下条件才能利用此漏洞:
- 能够在受影响的容器内执行任意命令
- 拥有容器内用户账户(即使是非root用户)
- 默认情况下,Linux系统中的所有用户都属于root组
3. 利用过程:攻击者通过以下步骤实现权限提升:
a. 生成加密的密码哈希值
b. 在/etc/passwd文件中追加新用户记录,格式为:username:encrypted_password:UID:GID:comment:home_dir:shell
c. 将新用户的UID设置为0,使其具有root权限
d. 使用新创建的root账户登录
4. 攻击影响:成功利用后,攻击者可以在容器内获得完全的root权限,执行任意命令、访问所有文件、修改系统配置等。虽然这只是容器内的权限提升,但在某些场景下,攻击者可能进一步利用容器逃逸技术突破容器边界。