オペレーティングシステムをアップグレードせずに単一の破損したパッケージをアップグレードする方法(Ubuntu)

オペレーティングシステムをアップグレードせずに単一の破損したパッケージをアップグレードする方法(Ubuntu)

Ubuntu 16.04サーバーがあり、クローンの1つに16.04で「修正不可能」と記載されていますが、Ubuntu 20.04で修正された重大な脆弱性があります。パッチをダウンロードしたいのですが、使用するとsudo apt upgrade cron最新バージョンと表示されます(このOSの最新バージョンなので、これはおそらく意味があります)。これは本番サーバーであり、現在オペレーティングシステムを完全にアップグレードできる範囲はありません。

サーバー全体を壊すことなくアップグレードする方法はありますか?

ベストアンサー1

あなたのバージョンが興味のあるアップデートを提供していない場合、一般的に「最良の」オプションは次のとおりです。ソースコードパッケージのダウンロード(具体的には、これ.dscおよび関連ファイル)ローカルでパッケージを再構築します。 (望むよりこの回答パッケージを再構築する方法を詳しく説明する簡単な例です。 )

しかし、これにはいくつかのリスクがあり、そのうちの2つの主なリスクは次のとおりです。

  • 現在使用されているバージョンのため、パッケージに加えられた他の変更がその機能に影響を与える可能性があります。たとえば、現在のバージョンは、実際に使用しているバージョンではなく、ターゲットバージョンと同様の作業環境を採用できます。
  • 必要に応じて、パッケージの自動更新を受け取ることはできません。事実上、パッケージに対するサポート提供の負担を負うことになります。

この特別な例ではCVE-2017-9525、この脆弱性の範囲は制限されています。詳細については、次の注意事項を参照してください。

私は実際に信じる悪用するこのエラーが発生した場合は、cronパッケージを更新する必要があります。 cronが更新されない限り、脆弱なコードは実行されません。したがって、cronで2番目のバグを検出すると同時に競合状態を修正する必要がありますが、cronアップデートをプッシュしない限り、脆弱なコードは実行されません。パッチは単に競争条件のための時間枠を絞ります。

この脆弱性は、ほとんどの場合、パッケージのアップグレード時にのみ発生するパッケージのインストール後にスクリプトを実行した場合にのみ問題になります。 (それはい手動実施は可能dpkg-reconfigureですが、自動的には実施されません。 )したがって、最も安全な選択はパッケージをそのままにしているようです。

おすすめ記事