Sudo

為 CVE-2021-3156 更新 Debian Wheezy 中的 sudo

  • January 28, 2021

我在 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 的更新檔,但原始碼完全不同,我不知道如何修補程式碼。

我認為對您來說最簡單的選擇是建構 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

如果測試失敗(他們對我來說失敗了/dev/console),禁用它們並重新建構:

sed -i '/build-simple check/d' debian/rules
debian/rules binary

您最終將獲得父目錄中的軟體包,您可以使用dpkg -i.

完成所有這些後,您可以刪除建構依賴項:

apt-get purge devscripts libpam0g-dev libldap2-dev libsasl2-dev libselinux1-dev autoconf autotools-dev bison flex libaudit-dev
apt-get --purge autoremove

正如 Artem 所建議的,使用來自 Debian stable 的最新資源也可以做到這一點:

apt-get install devscripts libpam0g-dev libldap2-dev libsasl2-dev libselinux1-dev autoconf bison flex libaudit-dev zlib1g-dev
dget -u https://deb.debian.org/debian/pool/main/s/sudo/sudo_1.9.5p2-1.dsc
cd sudo-1.9.5p2/
debian/rules binary

(傳統上,人們會使用apt-get build-depand dpkg-buildpackage -uc -us,但如果不對包進行更多更改,這將無法在這里工作——它有一些在 Wheezy 中無法滿足的建構依賴項,但沒有它們,包建構得很好。)

引用自:https://unix.stackexchange.com/questions/631438