Sudo chrootの脆弱性に対するPoCが公開、ローカル権限昇格の危険性

概要

広く利用されているsudoユーティリティに存在する重大な脆弱性に対する概念実証(PoC)エクスプロイトが公開されました。この脆弱性により、任意のローカルユーザーがchroot環境から脱出し、root権限でコマンドを実行することが可能になります。sudoに依存している組織は、直ちにインストール環境の監査とアップデートを行うよう強く推奨されます。

Chrootエスケープによるrootアクセス

この脆弱性は、sudoが変更されたルートディレクトリ(chroot)で呼び出された際のディレクトリパスの処理に存在します。攻撃者は特別に構造化されたパスを作成することで、chroot環境から抜け出すことができます。一度chrootの外に出ると、攻撃者はファイルシステム全体にアクセスできるようになり、rootシェルを起動することが可能になります。このエクスプロイトは通常のユーザー権限のみで実行できるため、内部関係者や侵害されたアカウントが容易に権限を昇格させることができます。

公開されたPoC

セキュリティ研究者らは、このバグをトリガーする方法を示す簡潔なPoCスクリプトを公開しました。このエクスプロイトは、エスケープシーケンスを含むネストされたディレクトリ名でsudo --chrootを呼び出します。実行後、攻撃者はrootシェルにドロップされます。

#!/bin/bash
# Simple PoC for sudo chroot escape
mkdir -p /tmp/exploit/a
cd /tmp/exploit
# Trigger chroot escape
sudo --chroot=a ../../../../../../bin/bash -p

脆弱な環境で任意のユーザーがこのスクリプトを実行すると、意図されたchrootの制限を無視して、攻撃者のコンテキストがrootに変換されます。この概念実証は、最小限の入力操作がいかに重要な隔離メカニズムをバイパスできるかを浮き彫りにしています。悪用が成功すると完全なroot権限が付与され、システムの機密性、完全性、可用性が危険にさらされます。攻撃者は永続的なバックドアをインストールしたり、システムバイナリを改変したり、機密データを流出させたりする可能性があります。

脆弱性の詳細

この脆弱性はCVE-2021-3156として追跡されており、一般に「Baron Samedit」として知られていますが、ここではchrootエスケープとして再利用されています。

  • CVE ID: CVE-2021-3156
  • 影響を受けるバージョン:
    • sudo < 1.9.5p1 (Debian, Ubuntu)
    • sudo < 1.8.31p2 (Fedora, CentOS)
  • 影響: ローカル権限昇格
  • CVSS 3.1 スコア: 7.8

古いsudoリリースを実行しているシステムは、パッチが適用されるまでリスクにさらされます。sudo 1.9.5p1以降へのアップグレードにより、このエスケープ経路は閉じられます。

対策

sudo chrootの脆弱性に対する公開PoCのリリースは、タイムリーなパッチ管理の重要性を強調しています。システム管理者は、sudoのバージョンを確認し、ベンダーのアップデートを遅滞なく適用する必要があります。不要なchroot機能を無効にすることで、同様の攻撃への露出をさらに減らすことができます。強力なセキュリティ体制を維持するためには、sudoポリシーとユーザー権限の継続的な監査が不可欠です。


元記事: https://gbhackers.com/poc-released-for-sudo-chroot-flaw/