针对 CVE-2021-3156 更新 Debian Wheezy 中的 sudo

Jes*_*gel 5 sudo

我在 Debian Wheezy 中安装了 sudo 1.8.5p2-1+nmu3+deb7u1,我需要更新它以修复 CVE-2021-3156 漏洞。不幸的是,Wheezy 不再有安全补丁,升级到 Stretch 也不是一种选择。

我无法从 Stretch 安装 sudo 包,因为它依赖于 libc6 (>= 2.17) 而 Wheezy 中可用的版本是 2.13。

我还没有为 Wheezy 找到打过补丁的 sudo 包。你知道它是否存在以及在哪里可以找到它吗?我必须自己修补源代码吗?我下载了 sudo 1.8.5p2-1+nmu3+deb7u1 的源代码并检查了 sudo_1.8.19p1-2.1+deb9u3 的补丁,但是源代码完全不同,我不知道如何打补丁。

Ste*_*itt 11

我认为对您来说最简单的选择是构建 Debian 9 版本sudo

apt-get install devscripts libpam0g-dev libldap2-dev libsasl2-dev libselinux1-dev autoconf autotools-dev bison flex libaudit-dev
dget -u http://security.debian.org/pool/updates/main/s/sudo/sudo_1.8.19p1-2.1+deb9u3.ds
cd sudo-1.8.19p1
debian/rules binary
Run Code Online (Sandbox Code Playgroud)

如果测试失败(它们对我来说失败了/dev/console),禁用它们并重新构建:

sed -i '/build-simple check/d' debian/rules
debian/rules binary
Run Code Online (Sandbox Code Playgroud)

您最终将在父目录中获得软件包,您可以从那里安装所需的dpkg -i.

完成所有这些后,您可以删除构建依赖项:

sed -i '/build-simple check/d' debian/rules
debian/rules binary
Run Code Online (Sandbox Code Playgroud)

正如 Artem 所建议的那样,可以使用来自 Debian 不稳定的最新源代码来完成同样的操作:

apt-get purge devscripts libpam0g-dev libldap2-dev libsasl2-dev libselinux1-dev autoconf autotools-dev bison flex libaudit-dev
apt-get --purge autoremove
Run Code Online (Sandbox Code Playgroud)

(传统上,人们会使用apt-get build-depand dpkg-buildpackage -uc -us,但如果不对包进行更多更改,这将无法在这里工作——它有一些构建依赖项,在 Wheezy 中无法满足,但没有它们,包构建得很好。)


Art*_*nov 5

我建议简单地从 Debian Unstable 构建和安装软件包:

源文件:https : //packages.debian.org/source/unstable/sudo

构建包:https : //www.debian.org/doc/manuals/maint-guide/build.en.html

我提供最新和最好的原因是因为:一个新的包包含新的方便的功能,例如支持/etc/sudo.d/和可能其他你还不知道的已修复漏洞。