Debian でシャドウパッケージをアップグレードする方法

Debian でシャドウパッケージをアップグレードする方法

私のDockerイメージの1つに「Dockerセキュリティ問題CVE-2017-12424」があり、そのパッケージのシャドウバージョンの1つが「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

Shadow githubリポジトリが見つかりました。https://github.com/shadow-maint/shadowしかし、関連文書を見つけることができませんでした。

シャドウパッケージのバージョンを確認する方法とDebian環境からアップグレードする方法を教えてください。

ベストアンサー1

パッケージのバージョン番号からoldstable、2019-07-06バージョンのDebian 9(「ストレッチ」)のように見えます。それでは、最新の安定版を使用するようにDockerイメージを更新することを検討する必要がありますか?

/usr/sbin/newusersCVE-2017-12424はソフトウェアパッケージのツールに関連しているようですpasswd。 Dockerイメージに特定のツールが必要ない場合は、.dockerignore回避策としてファイルを使用して完全に省略できますか?

shadow複数のユーティリティを構築するソースコードパッケージです。 Debian はユーティリティを 3 つの別々のパッケージにパッケージ化します。この場合、脆弱なユーティリティがパッケージ内にpasswd あるため、アップグレードする必要があります。しかし、現在Debian 9で利用可能なアップデートバージョンのパッケージはないようです。 Debian 10(「buster」、新しいstableバージョン)以降でのみ修正が提供されます。

passwd残りのイメージと一致するようにアップグレードせずにDebian 10からパッケージにアップグレードすると、ライブラリの依存関係エラーが発生する可能性があります。この時点で、デフォルトのイメージ全体をDebian 9からDebian 10にアップグレードすると、良い時間の投資になる可能性があります。


passwdしかし、他のDebian 9パッケージと互換性のある固定バージョンのパッケージが必要な場合、あなたがしなければならないかもしれませんShadow 4.5-1.1のDebianソースパッケージをダウンロードしてください。コンパイラと他のビルドツールがインストールされているDebian 9システムに移動し、dpkg-buildpackageソースコードで実行して、passwdDebian 9ライブラリ用にコンパイルされた最新バージョンのパッケージをインポートします。このカスタムパッケージをDockerイメージビルドプロセスに挿入するのはあなたの仕事です。

(ビルドの副作用により、最新バージョンのパッケージも入手できますが、これらのパッケージの標準Debian 9リリースに脆弱であることがわかっていない限りloginuidmapそれを無視することを選択できます。)


newusersCVE-2017-12424は、システムがWebホスティング環境のコントロールパネルまたはroot以外の/etc/sudoersユーザーがコマンドを実行できるようにするなど、権限のないユーザーが特権コンテキストでコマンドを実行できるようにする場合にのみ適用されます。ルートとして実行しますnewusers。おそらく、これが修正がまだDebian 9に適用されていない理由です。セキュリティチームはこれを最優先事項とみなしません。

おすすめ記事