Linux が Sudo 権限昇格の脆弱性を公開、どのユーザーでも root コマンドを実行可能

Linux が Sudo 権限昇格の脆弱性を公開、どのユーザーでも root コマンドを実行可能

Linux で最も一般的に使用される重要なユーティリティの 1 つである Sudo は、ほぼすべての UNIX および Linux ディストリビューションにインストールされており、ユーザーはコア コマンドを呼び出して実装できます。 しかし、最近明らかになった権限昇格の脆弱性は、sudo のセキュリティ ポリシー リスクを直接的に示しています。設定で明示的に root ユーザー アクセスを許可していない場合でも、この脆弱性により、悪意のあるユーザーまたはプログラムが対象の Linux システムで root ユーザーとして任意のコマンドを実行できる可能性があります。

(タイトル画像はHacker Newsより)

Sudo は具体的には「スーパーユーザー」を指すと報告されています。システム コマンドとして、ユーザーは別の環境に切り替えることなく (通常は root ユーザーとしてコマンドを実行する)、特別な権限でプログラムまたはコマンドを実行できます。

ほとんどの Linux ディストリビューションでは、デフォルトで (スクリーンショットに示すように)、/etc/sudoers の RunAs 仕様ファイル内の ALL キーワードにより、admin グループまたは sudo グループ内のすべてのユーザーが、システム上の有効なユーザーとして任意のコマンドを実行できるようになります。

ただし、権限の分離は Linux における最も基本的なセキュリティ パラダイムの 1 つであるため、管理者は sudoers ファイルを構成して、どのユーザーがどのコマンドを実行できるかを定義できます。

そのため、Baseline はユーザーが特定のコマンドまたは任意のコマンドを root として実行することを制限しており、この脆弱性により、ユーザーがこのセキュリティ ポリシーを回避してシステムを完全に制御できるようになる可能性があります。

「Runas 仕様が明示的にルートアクセスを禁止し、ALL キーワードを最初にリストしている限り、十分な sudo 権限を持つユーザーはそれを使用してルートとしてコマンドを実行できます」と Sudo 開発者は述べています。

この脆弱性は、Apple の情報セキュリティ部門の Joe Vennix 氏によって追跡され発見されたと報告されています (CVE-2019-14287)。このバグを悪用するには、Sudo ユーザー ID -1 または 4294967295 だけが必要です。

これは、ユーザー ID をユーザー名に変換する関数が、-1 (または無効な同等の 4294967295) を 0 と間違え、0 がルート ユーザー ID になるからです。

さらに、-u オプションで指定されたユーザー ID がパスワード データベースに存在しないため、PAM セッション モジュールは実行されません。

要約すると、この脆弱性は最新バージョン 1.8.28 より前のすべての Sudo バージョンに影響します。幸いなことに、主要な Linux ディストリビューションでは、すでに数時間前に新しいバージョンがユーザーに配布されています。

さて、この記事はこれで終わりです。123WORDPRESS.COM を応援していただきありがとうございました!

以下もご興味があるかもしれません:
  • Linux でパスワードを入力せずに sudo コマンドを実行する方法
  • Linux で Sudo を使用して権限を委譲する
  • sudo、su、su の違いのまとめ - Linux のコマンド
  • Linux システムの sudo コマンドに関する 10 のヒントのまとめ
  • Linux で sudo su を使用して一般ユーザーにルート権限を追加する方法
  • Linux における sudo の詳細な設定とその設定ファイル /etc/sudoers の詳細な説明
  • Linuxシステムのsudoコマンドの詳細な説明
  • Linux環境でユーザーにsudo権限を追加する方法

<<:  MySQL でのフィルター条件なしのカウントの詳細な説明

>>:  ReactのuseEffectクロージャの落とし穴についての簡単な説明

推薦する

MySQL 5.5.56 インストール不要版の設定方法

MySQL 5.5.56無料インストール版の設定方法をテキストコードで詳しく説明します。具体的な内容...

Windows Server 2008 のサーバー パフォーマンス監視に関するチュートリアル

次に、ログ管理、ログのアーカイブ、ログのトラブルシューティング、イベントの転送と収集のためのコンピュ...

Nginx で IP と IP 範囲をブロックする方法

前面に書かれたNginx は単なるリバース プロキシおよび負荷分散サーバーではなく、電流制限、キャッ...

WiFi 開発 | WiFi ワイヤレス テクノロジーの紹介

目次WiFiワイヤレステクノロジーの紹介1. WiFiテクノロジーの概要2. ESP8266の紹介W...

Vue プロジェクトでよく使用されるツール機能の概要

目次序文1. カスタムフォーカスコマンド1. 方法1 2. 方法2 3. 方法3 2. 入力ボックス...

検索エンジンのウェブサイトの入り口の無料コレクション

1: Baiduウェブサイトログイン入口ウェブサイト: http://www.baidu.com/s...

div間のギャップの解決策

HTMLのdivブロックを使用していて、ブロックの中央をしっかりと接続できず、解決できない場合1. ...

Dockerコンテナでは、イメージを簡素化してサイズを縮小する方法を詳しく説明しています

目次1.画像レイヤーの数を減らす1. 命令の統合2. 多段階ビルド3. スクワッシュ機能を有効にする...

単一の MySQL テーブル内の行数が 500 万を超えてはいけないのはなぜですか?

今日は、興味深いトピックについてお話ししましょう。データベースとテーブルを分割することを検討する前に...

JSホモロジー戦略とCSRFの詳細な説明

目次概要同一生成元ポリシー (SOP)相同制限クロスドメインをバイパスクロスサイトリクエストフォージ...

MySQL アカウント情報をエレガントにバックアップする方法

序文:最近、インスタンスの移行の問題に遭遇しました。データの移行後、データベースのユーザーと権限も移...

Centos7 システムでの python2 と python3 の共存

最初のステップは、Python のバージョン番号とインストール パスを確認することです。 上記のビュ...

node-media-serverを使用してシンプルなストリーミングメディアサーバーを構築する

node-media-server を使用するプロセスの一部を記録します。この記事の環境はWindo...

Vue プロジェクトで mock.js を使用するための完全な手順

Vue プロジェクトで mock.js を使用する開発ツールの選択: Vscode 1. コマンドラ...

ウェブデザインで注意すべき検索最適化の知識

1. 新サイトホームページのリンクレイアウト1. リンク配置の位置:リンク配置の位置によって、リンク...