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
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のバージョンが影響を受けます。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)には、以下のようなものがあります。
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など)は、この脆弱性を修正したパッケージをリリースしています。各ディストリビューションにおけるアップデートコマンドの例:
sudo apt update && sudo apt install sudosudo yum update sudosudo dnf update sudo4.2 暫定回避策(緩和策)
即座にパッチを適用できないシステムの場合、以下の暫定的な緩和策が考えられます。
sudoedit機能の無効化:sudoeditバイナリからsetuidビットを一時的に削除することで無効にできます (chmod u-s /usr/bin/sudoedit)。ただし、これによりsudoeditの機能が損なわれます。sudoeditバイナリが動作しないようにする部分的な緩和策を提案しています。このスクリプトはsudoeditが実行されようとすると強制終了させますが、sudoコマンド自体は通常通り機能します。この変更は再起動後も持続しないため、再起動ごとに適用する必要があります。sudoeditの不正な実行を防ぐために、アプリケーションホワイトリストを実装します。sudo/sudoeditの実行コンテキストを制限します。sudoeditが特定の疑わしい引数で呼び出されるのを防ぐルールを設定できます。参照サイト