如何在 Debian 中升级影子包

如何在 Debian 中升级影子包

我被告知我的 Docker 镜像之一存在“Docker 安全问题 CVE-2017-12424”,并表示其软件包影子版本之一是“1:4.4-4.1”。而且我需要升级。但我只能看到 Debian 软件包的版本 1:4.4-4.1:

 $ dpkg -l | grep 1:4.4-4.1
ii  login                     1:4.4-4.1                      amd64        system login tools
ii  passwd                    1:4.4-4.1                      amd64        change and administer password and group data

我找到了影子 github 仓库https://github.com/shadow-maint/shadow,但我没有找到任何相关文档。

请您帮助我,告诉我如何检查shadow的软件包版本,以及如何在Debian环境中升级它。

答案1

从包版本号,它看起来像 Debian 9(“stretch”),这是oldstable自 2019-07-06 以来的版本。也许是时候考虑更新 Docker 映像以使用更新的稳定版本了?

CVE-2017-12424 似乎与软件包/usr/sbin/newusers中的工具有关passwd。如果您的 Docker 映像中不需要该特定工具,也许可以使用一个.dockerignore文件来完全省略它,作为解决方法?

shadow是构建多个实用程序的源代码包:Debian 将实用程序打包成三个单独的包。在这种情况下,存在漏洞的实用程序位于passwd 软件包中,需要对其进行升级;然而,Debian 9 目前似乎没有可用的更新版本的软件包。只有 Debian 10(“buster”,新stable版本)及更高版本有可用的修复版本。

从 Debian 10升级到passwd软件包而不升级映像的其余部分以匹配可能会导致库依赖性错误。此时,将整个基础映像从 Debian 9 升级到 Debian 10 可能是一项不错的时间投资。


passwd但如果您想要一个与其他 Debian 9 软件包兼容的固定版本软件包现在,你可能必须下载shadow 4.5-1.1的Debian源码包到安装了编译器和其他构建工具的 Debian 9 系统,并dpkg-buildpackage在源代码上运行 a 以获取passwd针对 Debian 9 库编译的较新版本的软件包。将此自定义软件包注入到您的 Docker 映像构建过程中将是你的任务。

(作为构建的副作用,您还将获得更新版本的软件包loginuidmap:但是,只要这些软件包的标准 Debian 9 版本没有任何已知的易受攻击的内容,您就可以选择忽略它们。)


请注意,CVE-2017-12424 仅适用于您的系统允许非特权用户newusers在特权上下文中运行命令的情况,例如 Web 托管环境中的控制面板或/etc/sudoers允许非 root 用户运行命令的条目。以 root 身份运行newusers。这可能就是修复版本尚未传播到 Debian 9 的原因:安全团队并不认为这是一个高优先级问题。

相关内容