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クロージャの落とし穴についての簡単な説明

推薦する

nginxを使用して画像サイズを動的に変換し、サムネイルを生成します。

Nginx ngx_http_image_filter_module モジュール (nginx バ...

16 の XHTML1.0 と HTML の互換性ガイドラインの概要

1.ページを XML タイプとして宣言しないでください。ページでは UTF-8 または UTF-16...

HTML シンプルな Web フォーム作成例の紹介

<input> はユーザー情報を収集するために使用され、終了ステートメントはありません。...

MySQL ユーザー権限管理の分析例

この記事では、MySQL ユーザー権限管理の例について説明します。ご参考までに、詳細は以下の通りです...

Vue は PDF ファイルのオンライン プレビューを実装します (pdf.js/iframe/embed を使用)

序文現在、私はコースウェア PPT のオンライン プレビューを必要とする高品質のコースに取り組んでい...

JavaScriptはキュー構造プロセスを実現する

目次1. キューを理解する2. カプセル化キュー3. 太鼓をたたいて花を渡す場合1. キューを理解す...

WeChatアプレットのサイレントログインとカスタムログイン状態の維持の詳細な説明

目次1. 背景2. サイレントログインとは何ですか? 3. カスタムログイン状態を維持する方法4. ...

CSS3で実装された水平ヘッダーメニュー

結果:実装コードhtml <nav class="dropdownmenu"...

Element PlusはAffixを実装します

目次1. コンポーネントの紹介2. ソースコード分析2.1 テンプレート2.2 スクリプト2.3 実...

プロジェクトにaxiosをカプセル化する実際のプロセス

目次序文axiosカプセル化の利点パッケージのアイデア設定の優先順位axiosインスタンス構成1. ...

img タグの src 属性値が空の場合の 2 つのリクエストの問題 (IE 以外のブラウザ)

img src 値が空の場合、リクエストが 2 つ行われます。一部の学生は以前に同様の状況に遭遇した...

IIS 7.5では、HTMLはSHTMLのようなinclude関数(モジュールマッピングの追加)をサポートします。

最初はたくさんのエラーを見つけましたが、実際には非常に簡単です。shtm の元の設定を参照するだけで...

HTML DOM入門_PowerNode Javaアカデミー

DOMとは何ですか? JavaScript を使用すると、HTML ドキュメント全体を再構築できます...

知っておくべき 25 の Vue のヒント

目次1. プロパティを型リストに制限する2. デフォルトのコンテンツと拡張ポイント3. ネストされた...