Trusted Design

CVE-2021-3156 の詳細

CVEの情報

説明:
Sudo before 1.9.5p2 contains an off-by-one error that can result in a heap-based buffer overflow, which allows privilege escalation to root via "sudoedit -s" and a command-line argument that ends with a single backslash character.

CVE更新日: 2021-01-26 21:15:12.987000

CVSSバージョン: 3.1

CVSSスコア: 7.8

KEVの情報

KEV更新日: 2022-04-06

EPSSの情報

EPSSは脆弱性が今後30日以内に悪用される確率を予測するスコアリングシステムで、FIRST(Forum of Incident Response and Security Teams)が提供しています。
EPSSのスコアが高いということは、攻撃されるリスクが高いことを意味するので、早めの対策が必要です。

EPSSスコア: 0.999620000

EPSS更新日: 2026-10-16 00:00:00

SSVCの情報

SSVCはカーネギーメロン大学ソフトウェア工学研究所が提案する脆弱性の評価手法です。ステークホルダーごとに脆弱性対応の優先度を決定することを支援します。
本サイトでは、CVE、KEV、EPSSの内容からExploitation(悪用状況)、Technical Impact(技術的影響)、Automatable(自動攻撃の可否)を判定します。

Exploitation: active

Technical Impact: high

Automatable: False

AIを使った解説

解説:

CVE-2021-3156: sudoにおけるヒープベースのバッファオーバーフローの脆弱性(Baron Samedit)

1. 脆弱性の概要

CVE-2021-3156(通称「Baron Samedit」)は、UnixおよびLinuxシステムで広く利用されているsudoコマンドにおけるヒープベースのバッファオーバーフローの脆弱性です。この脆弱性は、sudoがコマンドライン引数を解析する際、特にバックスラッシュ文字を処理する際に発生するオフバイワンエラーに起因します。これにより、ローカルの攻撃者が認証なしにrootレベルのアクセス権限を不正に取得することが可能になります。この脆弱性は特権昇格の脆弱性として分類され、その広範な適用性と重大な影響から高い深刻度を持っています。

1.1 影響

この脆弱性が悪用されると、ローカルの認証されていないユーザーが、パスワードやsudoersファイルへの記載なしに、影響を受けるシステム上で完全なrootアクセス権を獲得することができます。 悪用されたシステムは、データの機密性、可用性、完全性に重大な影響を受け、システム全体の乗っ取り、データ漏洩、企業ネットワーク内でのラテラルムーブメントの可能性にさらされます。攻撃シナリオには、バックドアの設置や機密データの持ち出しなどが含まれます。

1.2 深刻度

CVE-2021-3156は、共通脆弱性評価システム(CVSS)v3で7.8の高スコアが付けられています。 攻撃ベクトルはローカルであり、攻撃者がターゲットシステムに制限された権限で直接的または間接的にアクセスする必要があることを示しています。 この脆弱性はCISAの既知の悪用されている脆弱性カタログ(Known Exploited Vulnerabilities Catalog)に追加されており、EPSSスコアが92.335%と非常に高い悪用可能性を示しています。

2. 対象となる環境

2.1 影響を受けるOSバージョン

この脆弱性は、2011年7月に導入されて以来、約10年間未検出のままでした。 以下のsudoのバージョンが影響を受けます。

  • レガシーバージョン: 1.8.2 から 1.8.31p2
  • 安定版バージョン: 1.9.0 から 1.9.5p1

Qualys社の研究チームは、Fedora 33 (Sudo 1.9.2)、Debian 10 (Sudo 1.8.27)、Ubuntu 20.04 (Sudo 1.8.31) など、多くの主要なLinuxディストリビューションでこの脆弱性を悪用できることを実証しました。 その他、Debian、Ubuntu、Red Hat、SUSEなどの主要なLinuxディストリビューション、NetApp、McAfee、Synology、BeyondTrust、Oracleなどの製品も影響を受けるとされています。

2.2 影響を受ける設定

この脆弱性は、sudoのデフォルト設定で悪用可能です。特に、sudoeditコマンドがシェルモード(-sまたは-iフラグを介して有効)で実行され、コマンドライン引数がバックスラッシュ文字で終わる場合に脆弱なコードパスがトリガーされます。 sudoersファイル(通常は/etc/sudoers配下)が存在する場合に、脆弱性を悪用する可能性があります。

3. 影響を受けた時の兆候

CVE-2021-3156の悪用に関連する兆候(IoC)には、以下のようなものがあります。

  • 非rootの親プロセスからroot権限で予期しないプロセスが生成される。
  • sudoedit -sコマンドがバックスラッシュで終わる引数とともに実行されている、通常とは異なるsudoログの記録。
  • sudo/sudoeditプロセスからのヒープ破損を示すコアダンプやクラッシュレポート。
  • 正当なsudo権限を持たないローカルユーザーセッション後に異常なシステムアクティビティが検出される。

脆弱性自体の検出方法としては、以下のコマンドを実行してシステムの脆弱性を確認できます。

bash sudoedit -s /

  • 出力が「sudoedit:」で始まるエラーの場合、システムは脆弱です。
  • 出力が「usage:」で始まるエラーの場合、システムは脆弱ではないか、パッチが適用されています。

ただし、このコマンドによる確認結果は、ディストリビューションや実行環境により挙動が異なる可能性があるため、詳細はディストリビューション等が提供する情報を参照することが推奨されます。

4. 推奨対策

4.1 本対策

最も推奨される対策は、sudoをバージョン1.9.5p2以降に速やかにアップデートすることです。 主要なLinuxディストリビューション(Debian, Fedora, Ubuntu, Red Hat, SUSEなど)は、この脆弱性を修正したパッケージをリリースしています。

各ディストリビューションにおけるアップデートコマンドの例:

  • Debian/Ubuntu: sudo apt update && sudo apt install sudo
  • RHEL/CentOS: sudo yum update sudo
  • Fedora: sudo dnf update sudo

4.2 暫定回避策(緩和策)

即座にパッチを適用できないシステムの場合、以下の暫定的な緩和策が考えられます。

  • sudoedit機能の無効化: sudoeditバイナリからsetuidビットを一時的に削除することで無効にできます (chmod u-s /usr/bin/sudoedit)。ただし、これによりsudoeditの機能が損なわれます。
  • ローカルアクセス制限: 影響を受けるシステムへのローカルアクセスを信頼できるユーザーに限定します。
  • SystemTapによる緩和: Red Hatでは、SystemTapスクリプトを使用して脆弱なsudoeditバイナリが動作しないようにする部分的な緩和策を提案しています。このスクリプトはsudoeditが実行されようとすると強制終了させますが、sudoコマンド自体は通常通り機能します。この変更は再起動後も持続しないため、再起動ごとに適用する必要があります。
  • アプリケーションホワイトリストの導入: 悪意のある引数を伴うsudoeditの不正な実行を防ぐために、アプリケーションホワイトリストを実装します。
  • Mandatory Access Control (MAC) フレームワークの利用: SELinuxやAppArmorのようなMACフレームワークを使用して、sudo/sudoeditの実行コンテキストを制限します。
  • DCS Preventionによる保護: Broadcom DCS (Data Center Security) Prevention technologyを使用し、sudoeditが特定の疑わしい引数で呼び出されるのを防ぐルールを設定できます。

参照サイト

NVDサイト

NVDでCVEの詳細を見る

戻る