CVE-2019-14287:sudoの脆弱性によりユーザ制限がバイパス可能 #AquaSecurity #Vulnerability #DevSecOps
この記事は1年以上前に投稿されました。情報が古い可能性がありますので、ご注意ください。
本ブログは「Aqua Security」社の技術ブログで2019年10月17日に公開された「CVE-2019-14287 sudo Vulnerability Allows Bypass of User Restrictions」の日本語翻訳です。
CVE-2019-14287:sudoの脆弱性によりユーザ制限がバイパス可能
今週、sudoパッケージに新しい脆弱性が発見されました。sudoは、ほとんどすべてのUNIXおよびLinuxベースのオペレーティングシステムにインストールされる最も強力で一般的に使用されるユーティリティの1つです。
sudoの脆弱性CVE-2019-14287はセキュリティポリシーバイパスの問題であり、「sudoers構成」が明示的にルートアクセスを許可しない場合に、ユーザまたはプログラムがLinuxシステムでrootとしてコマンドを実行できるようなります。この脆弱性を悪用するには、root以外の任意のユーザIDでコマンドを実行できるsudo特権がユーザに必要です。
脆弱性の検証
この脆弱性を検証するためには、次の条件を満たしている必要があります。
1./etc/sudoersファイル内で、root以外のすべてのユーザにプログラム実行許可がされていること
2.上記ユーザに、任意のユーザIDでコマンドを実行できるsudo特権が与えられること
ユーザID -1または4294967295でsudoコマンドを実行します。
ユーザIDをユーザ名に変換する関数は、符号付きで-1(符号なしで4294967295),を 0と誤って処理します。0は本来はrootユーザのIDです。
環境が影響を受けているかどうかを確認する
脆弱かどうかを調べるには、1.8.28より前のバージョンのsudoを使用し、次のコマンドを実行して指定した文字列がsudoerファイルに含まれることを確認します。
cat /etc/sudoers | grep "(\sALL\s,\s!root\s)"
cat /etc/sudoers | grep "(\sALL\s,\s!#0\s)"
Aquaを使用して脆弱性を軽減および検出する
sudoパッケージは一般的にコンテナで実行されないため、このセキュリティ脆弱性は「懸念」というよりは「興味」になるでしょう。コンテナは通常、コンテナ内のrootとして実行できる単一のユーザで実行されます。さらに、複数のユーザでコンテナを実行する特別な運用上の理由はありません。
とはいえ、sudoが利用可能なコンテナ環境使用している場合は、Aquaによって以下の対処をすることが可能です。
Aqua Image Assurance Policy
- コンテナイメージをスキャンするAssurance Policyを作成し、脆弱性にさらされているイメージを検知
- 特定のバージョンのパッケージのみの実行を許可
- コンテナイメージまたはVM(ホスト)に上記Policyを適用
- 影響を受けるイメージが環境に展開されるのを防ぎ、操作エラー、イメージのスプロール、および不正な展開を阻止
- パイプラインと統合して、構築されたイメージをスキャン
Aqua Runtime Protection
- 実行中のコンテナに不変性を実装
- コンテナアクティビティをリアルタイムで監視および制御
- 元のイメージのパラメータと異なる設定をコンテナで使用することを防止
- コンテナを止めたり一時停止したりすることなく、不正なプロセスを警告またはブロック
Aqua Image Profile
- 許可されたイメージアクティビティを定義するためのコントロールを提供
- 特定のイメージからインスタンス化されたコンテナに適用
これらの機能などを使用すると、より多くの制御と可視性を得ることができます。Aquaを使用して、ビジネスの継続性を中断したりコンテナを一時停止したりすることなく、クラウドネイティブ環境を保護します。