Linux の sudo 脆弱性により不正な特権アクセスが発生する可能性がある

Linux の sudo 脆弱性により不正な特権アクセスが発生する可能性がある

Linux で新たに発見された sudo の脆弱性を悪用すると、特定のユーザーが root としてコマンドを実行できるようになる可能性がありますが、これには制限があります。

最近、sudo コマンドに重大な脆弱性が発見されました。この脆弱性が悪用されると、 /etc/sudoersファイルで明示的に禁止されていても、通常のユーザーが root としてコマンドを実行できるようになります。

sudo をバージョン 1.8.28 に更新すると問題は解決するはずなので、Linux 管理者はできるだけ早く更新することをお勧めします。

この脆弱性がどのように悪用されるかは/etc/sudoersで付与された特定の権限によって異なります。たとえば、ユーザーが root 以外のユーザーとしてファイルを編集できるようにするルールでは、実際にはそのユーザーが root としてファイルを編集することも許可されます。この場合、脆弱性により非常に深刻な問題が発生する可能性があります。

ユーザーがこの脆弱性を悪用するには、 /etc/sudoersでそのユーザーに別のユーザーとしてコマンドを実行できる権限が割り当てられている必要があります。この脆弱性は、このように割り当てられたコマンド権限に限定されます。

この問題は 1.8.28 より前のバージョンに影響します。 sudo のバージョンを確認するには、次のコマンドを使用します。

$ sudo -V
sudo バージョン 1.8.27 <===
Sudoers ポリシー プラグイン バージョン 1.8.27
Sudoers ファイルの文法バージョン 46
Sudoers I/O プラグイン バージョン 1.8.27

この脆弱性には、CVE データベースで CVE-2019-14287 という番号が割り当てられています。リスクは、明示的に root として実行することを禁止されている場合でも、任意のユーザーとしてコマンドを実行できるように指定されているすべてのユーザーが制限を回避できることです。

次の行により、jdoe は root 以外のユーザーとして vi を使用してファイルを編集できるようになります (!root は「非 root」を意味します)。一方、nemo には root 以外のユーザーとして id コマンドを実行する権限が与えられます。

# ホスト「dragonfly」上の影響を受けるエントリ
jdoe トンボ = (ALL, !root) /usr/bin/vi
nemo dragonfly = (ALL, !root) /usr/bin/id

ただし、脆弱性により、これらのユーザーは制限を回避して root としてファイルを編集したり、root として id コマンドを実行したりする可能性があります。

攻撃者は、ユーザー ID -1 または 4294967295 を指定して、root としてコマンドを実行できます。

sudo -u#-1 id -u

または

sudo -u#4294967295 id -u

応答が 1 の場合、コマンドが root として実行されたことを示します (root のユーザー ID が表示されます)。

Apple の情報セキュリティ チームの Joe Vennix 氏がこの問題を発見し、分析しました。

要約する

上記は、不正な特権アクセスにつながる可能性のある Linux sudo の脆弱性についてご紹介しました。お役に立てれば幸いです。ご質問がある場合は、メッセージを残していただければ、すぐに返信いたします。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。
この記事が役に立ったと思われた方は、ぜひ転載していただき、出典を明記してください。ありがとうございます!

以下もご興味があるかもしれません:
  • lynis を使用して Linux の脆弱性をスキャンする方法
  • Linux が Sudo 権限昇格の脆弱性を公開、どのユーザーでも root コマンドを実行可能
  • Linux カーネルの脆弱性の簡単な分析
  • Linuxユーザーは脆弱性を修正するために注意する必要がある
  • Linux コマンドライン ツールを使用して JSON 出力を解析およびフォーマットする方法
  • clamscan - Linux ウイルス検出ツール コマンドの詳細な説明
  • Linuxでスクリーンショットを撮って編集するための最高のツール
  • Linux 脆弱性スキャンツール lynis の使用分析

<<:  MySQL クエリの重複データ (重複データを削除し、ID が最も小さいデータのみを保持します)

>>:  ネイティブ JS を使用してタッチスライド監視イベントを実装する方法

推薦する

MYSQL パフォーマンス アナライザー EXPLAIN 使用例分析

この記事では、例を使用して MYSQL パフォーマンス アナライザー EXPLAIN の使用方法を説...

MySQL でのインデックスの追加と削除に関連する操作

目次1. インデックスの役割2. インデックスの作成と削除(1)ALTER TABLE文を使用して、...

JavaScript のモジュール性の説明

目次序文: 1. コンセプト2. モジュール化の利点3. 複数のスクリプトタグを導入した後の問題1....

JavaScript の矢印関数と通常の関数の違いの詳細な説明

この記事では、JavaScriptにおけるアロー関数と通常の関数の違いについて解説します。具体的な内...

Linux の ufw ファイアウォールの紹介

Linux のufw (Uncomplicated Firewall) を見て、ファイアウォールに変...

Vue+elementuiはドロップダウンテーブルの複数選択と検索機能を実現します

この記事では、ドロップダウンテーブルの複数選択と検索を実現するためのvue+elementuiの具体...

Docker ポート マッピングと外部アクセス不可の問題

Docker コンテナはサービスを提供し、ポート 8888 をリッスンします。外部からアクセスできる...

MySQLが中国語の文字を挿入する問題を永久に解決するコツを教えます

目次序文最初のステップ:ステップ2: このmy.iniを変更する要約する序文問題の説明:不正な文字列...

MySQL sql_mode の変更が有効にならない理由と解決策

目次序文シナリオシミュレーション要約する序文最近、sql_mode の話題については何度も話し合われ...

HTMLのマーキータグは、シームレスなスクロールマーキー効果を実現します。

<marquee> タグはペアで表示されるタグです。最初のタグ <marquee...

マスタークラスタに再参加する k8s ノードの実装

1. ノードを削除するkubectl delete node node01を実行します。 2. この...

CSSはフロントエンドの画像変形の問題を完璧に解決します

Toutiao IT School で、CSS がフロントエンドの画像変形の問題を完璧に解決するとい...

Dockerイメージの作成、アップロード、プル、デプロイを理解するための記事

目次1. 画像1. 鏡とは何ですか? 2. 画像の構成と目的(1) Dockerファイル(2)スクラ...

Windows システムで MySQL が起動しない場合の一般的な解決策

MySQL 起動エラーWindows 10 に MySQL をインストールする前は、net star...

DockerでのinfluxDB分散時系列データベースのインストールと関連操作について簡単に説明します。

influxDB の紹介influxDB は分散型時系列データベースです。 cAdvisor はリ...