漏洞编号 : CVE-2025-32463
影响组件 : Sudo 1.9.14 至 1.9.17 版本
该漏洞源于 Sudo 对--chroot
(或-R
) 选项的不当处理。本地攻击者,即便未在sudoers
文件中授权,也可能通过构造一个恶意的 chroot 环境,欺骗 Sudo 加载任意共享库,从而以 root 权限执行任意代码,实现本地权限提升。
如果像我一样正在使用受影响的版本。但是官方软件仓库暂时还没有发布更新。可以参照此贴从Sudo官网下载最新的1.9.17p1
版本进行编译安装
fedora:/usr/local/share$ sudo dnf info sudo
仓库更新和加载中:
仓库加载完成。
已安装的软件包
Name : sudo
Epoch : 0
Version : 1.9.15
Release : 7.p5.fc42
Architecture : x86_64
Installed size : 4.9 MiB
Source : sudo-1.9.15-7.p5.fc42.src.rpm
Summary : Allows restricted root access for specified users
URL : https://www.sudo.ws
License : ISC
Description : Sudo (superuser do) allows a system administrator to give certain
: users (or groups of users) the ability to run some (or all) commands
: as root while logging all commands and arguments. Sudo operates on a
: per-command basis. It is not a replacement for the shell. Features
: include: the ability to restrict what commands a user may run on a
: per-host basis, copious logging of each command (providing a clear
: audit trail of who did what), a configurable timeout of the sudo
: command, and the ability to use the same configuration file (sudoers)
: on many different machines.
Vendor : Fedora Project
fedora:/usr/local/share$ sudo yum update sudo
仓库更新和加载中:
仓库加载完成。
Nothing to do.
fedora:/usr/local/share$
下载:
$ wget https://www.sudo.ws/dist/sudo-1.9.17p1.tar.gz
$ tar -zxvf sudo-1.9.17p1.tar.gz
$ cd sudo-1.9.17p1
# 备份 sudoers 配置文件
$ sudo cp /etc/sudoers /etc/sudoers.bak
$ sudo cp -r /etc/sudoers.d /etc/sudoers.d.bak
编译 Sudo 需要 gcc
、make
和 pam-devel
等开发工具和库。
-
在 Fedora / RHEL / CentOS 等系统上:
$ sudo dnf install -y gcc make pam-devel zlib-devel krb5-devel
-
*在 Debian / Ubuntu 等系统上:
$ sudo apt-get update $ sudo apt-get install -y build-essential libpam0g-dev zlib1g-dev libkrb5-dev
-
在 Arch Linux 系统上:
$ sudo pacman -Syu --needed base-devel pam krb5 zlib
编译安装:
# 配置编译选项
# --prefix=/usr : 将程序安装到 /usr 目录,以覆盖系统自带版本
# --sysconfdir=/etc : 将配置文件(如 sudoers)放在 /etc 目录
# --with-pam : 启用 PAM 支持
$ ./configure --prefix=/usr --sysconfdir=/etc --with-pam
$ make
$ sudo make install
版本变为1.9.17p1就成功了
$ sudo --version
Sudo 版本 1.9.17p1
Sudoers 策略插件版本 1.9.17p1
Sudoers 文件语法版本 50
Sudoers I/O plugin version 1.9.17p1
Sudoers audit plugin version 1.9.17p1
当官方的软件仓库的版本更新后,你可以重新安装将软件交给包管理器管理。
- 在 Fedora / RHEL / CentOS 等系统上:
$ sudo dnf reinstall sudo
- 在 Debian / Ubuntu 等系统上:
$ sudo apt-get install --reinstall sudo
- 在 Arch Linux 系统上:
$ sudo pacman -S sudo