CIFSwitch 是内核 CIFS 子系统中的一个漏洞。 Linux从而使您获得 root 权限

CIFS内核模块和cifs-utils工具包中存在一个CIFSwitch漏洞(尚未分配CVE编号),相关细节已披露,并发布了相应的利用程序。该漏洞允许非特权用户获得系统root权限。目前仅提供补丁修复,该补丁已于5月16日发布,并于5月19日被主线内核接受。 Linux (内核维护版本尚未发布)。

该漏洞影响支持 cifs.spnego 机制的代码,该机制用于在连接到 SMB 服务器时通过 SPNEGO(简单且受保护的 GSSAPI 协商)协议执行身份验证。当使用 cifs.spnego 确定 Kerberos/SPNEGO 密钥时,内核会调用 cifs.upcall 处理程序,该处理程序由 cifs-utils 软件包提供,并在具有 root 权限的用户空间中运行。

非特权用户可以通过发送请求来调用处理程序,该请求会请求带有伪造的“CIFS SPNEGO”描述的“cifs.spnego”密钥。cifs.upcall 处理程序不会对通过内核传递的参数执行额外的验证检查;此外,它还会将进程 ID (pid)、用户 ID (uid)、凭据 ID (creduid) 等视为无效参数。
upcall_target。激活后,cifs.upcall 处理程序会切换到发送请求的用户进程的命名空间,并在重置权限之前在系统的 NSS(名称服务切换)数据库中执行搜索。

攻击者可以在独立的挂载点命名空间中启动自己的进程,从而导致 NSS 在其上下文中被访问。要利用此漏洞,只需将自己的配置文件 /etc/nsswitch.conf 和一组虚拟库 libnss_*.so.2 放置在攻击者创建的环境中即可。cifs.upcall 处理程序执行 NSS 请求时,将以 root 权限加载这些虚拟库。

要利用此漏洞,系统必须允许用户命名空间或挂载点,并且必须安装 cifs-utils 软件包。以下发行版在其默认配置下即可利用此漏洞:

  • Linux 薄荷肉桂味 21.3/22.3
  • CentOS Stream 9 GNOME
  • Rocky Linux 9个工作站
  • 卡利 Linux
  • AlmaLinux 9.7个工作站
  • SUSE 15 SP7/SAP 15 SP7/SAP 16

需要 cifs-utils 软件包才能使用此漏洞利用程序的发行版:

  • Ubuntu 18.04/20.04/22.04 桌面/服务器
  • Pop!_OS 22.04 Intel/24.04 通用版
  • Ubuntu 24.04 桌面版(精简/完整)和服务器版
  • Debian 13 年 11 月 12 日 netinst 标准和 GNOME/KDE/standard/XFCE
  • CentOS 流 9 Cinnamon/KDE/MATE/XFCE
  • Rocky Linux 9 KDE/Workstation-Lite
  • openSUSE Leap 15.6 GNOME/KDE
  • openSUSE Tumbleweed GNOME/KDE
  • Rocky Linux 8 通用云
  • Oracle Linux 8/9 KVM
  • Amazon Linux 2023KVM

具有默认配置的发行版可以阻止通过安全增强(SE)利用漏洞。Linux 或者 Apparmor,即使 cifs-utils 软件包已存在:

  • Ubuntu 26.04 桌面/服务器
  • Fedora 40/41/42/43/44 Workstation/Server
  • CentOS Stream 10 GNOME/KDE
  • Rocky Linux 10个工作站
  • AlmaLinux 10.1个工作站
  • Oracle Linux 10KVM
  • openSUSE Tumbleweed GNOME/KDE
  • openSUSE Leap 16.0 OEM GNOME/KDE/Minimal-VM
  • SUSE Linux 16

作为一种变通方法,您可以阻止 cifs 内核模块的自动加载:

sh -c "p​​rintf 'install cifs /bin/false\n' > /etc/modprobe.d/cifs.conf; rmmod cifs 2>/dev/null; true"

您还可以禁用用户命名空间的使用(“sysctl -w kernel.unprivileged_userns_clone=0”),并删除或覆盖 cifs-utils 设置中的 cifs.spnego 规则:

cat >/etc/request-key.d/cifs.spnego.conf <'EOF'
创建 cifs.spnego * * /usr/sbin/keyctl negate %k 30 %S
EOF

与此同时,5月28日发布了137份内核漏洞报告。 Linux以及 5 月 27 日的 277 份报告。

来源: opennet.ru

为具有 DDoS 保护、VPS VDS 服务器的站点购买可靠的主机 🔥 购买具备 DDoS 防护的可靠网站托管服务,包括 VPS 和 VDS 服务器 | ProHoster