認証不要でルートアクセスを可能にする、UniFi OSの深刻なRCEチェーン

セキュリティアドバイザリ Bulletin 064 では、UniFi OS Server に存在する深刻な脆弱性の連鎖について説明しています。この脆弱性チェーンにより、認証なしでのリモートコード実行とルート権限の完全掌握が可能になります。

この問題は、認証ゲートウェイのバイパス、パストラバーサルの不一致、そしてパッケージ更新サービス内のコマンドインジェクションの脆弱点という3つの要素を組み合わせたものです。

これらの欠陥を連鎖させると、攻撃者は管理インターフェースに対して細工した単一のHTTPリクエストを送信するだけで、認証情報なしにルートとして動作するリバースシェルを起動できます。

UniFi OS Server は多くの管理サービスをNginxフロントエンドの背後に公開しており、NginxがTLSを終端して内部バックエンドへリクエストをプロキシしています。このプロキシはリクエストURIの異なる2つのビューを使用します。バックエンドの選択にはNginxが正規化した$uriを使用し、リクエストが公開エンドポイントかどうかの判断には生のx-original-uriを使用します。

脆弱なビルドでは、この不一致により、生のパーセントエンコード形式では認証不要の公開パスに見えるリクエストが、正規化後に内部の認証済みエンドポイントへルーティングされてしまいます。

このバイパス(CVE-2026-34908 および CVE-2026-34909)により、本来認証が必要なバックエンドへの未認証アクセスが可能になります。

そのようなバックエンドの一つがパッケージ更新エンドポイントです。このエンドポイントはパッケージ名を受け取り、一部のコードパスでは呼び出し元から提供されたパッケージ名を使って構築された文字列でローカルのヘルパープログラムをシェル経由で実行します。

Ubiquitiによると、影響を受けるリリースではパッケージ名の検証やサニタイズが行われず、コマンドがシェルを通じて実行されるため、古典的なコマンドインジェクションの脆弱性(CVE-2026-34910 および関連する認証済みの CVE-2026-33000)が発生します。

前述の認証ゲートウェイバイパスを組み合わせることで、トークンなしにこの脆弱点へのアクセスが可能になります。

注入されたコマンドは最初はサービスユーザーとして実行され、ルートではありませんが、そのアカウントはdpkgやsystemctlなどのユーティリティに対して過度に広いパスワードなしのsudo権限を持っています。

UniFi OSの深刻なRCEチェーン

攻撃者はsudo dpkgを利用して悪意のあるパッケージをインストールし、メンテナースクリプトをルートとして実行させたり、許可された他のsudoパスを使って直接権限昇格したりすることができます。

Bishop FoxはUniFi OS Server 5.0.6 でこの完全なチェーンを再現し、リバースシェルを確立。修正済みの 5.0.8 ビルドでは攻撃がブロックされることを確認しました。

UniFi OS Server はネットワークと、導入環境によっては物理セキュリティシステムの管理プレーンであるため、実際の影響は深刻です。

コンソールでルート権限を持つ攻撃者は、JWT署名鍵、TLSプライベート鍵、クラウドトークン、ユーザーデータベース、RADIUSおよびWi‑Fi認証情報、生体認証データなど、保存されているすべてのシークレットを読み取ることができます。署名鍵を入手した攻撃者は、パッチ適用後も有効な長期の管理者セッションを偽造することも可能です。

管理者権限を得た攻撃者は、デバイスの再設定やファイアウォール変更の適用、ドア認証情報の登録・複製、カメラ録画の閲覧・削除、クラウド連携サイトへのピボット、あるいは設定やバックアップの完全破壊といった行為が可能になります。

即時の防御手順は明確です。UniFi OS Server を 5.0.8 または各デバイスモデルに対応する修正済みバージョンにパッチ適用してください。すぐにパッチを適用できない場合は、UniFi管理インターフェース(通常はTCP 11443)への外部アクセスをブロックし、管理ネットワークのみに限定してください。

パッチ適用前にアクセス可能だったインスタンスは侵害されているものとして扱ってください。JWT署名鍵を筆頭にすべてのシークレットをローテーションし、セッションを強制ログアウトさせ、露出していたシステムはその場での修復に頼らず再構築を検討することをお勧めします。

Bishop Foxをはじめとする研究者たちは、コマンドを実行せずにバイパスの有無を確認できる安全な検出ツールを公開しています。アクセス可能なすべてのUniFi OS Serverに対してこのツールを実行し、露出の有無を確認してください。

Ubiquitiが 5.0.8 で実施した修正では、NginxのURI正規化の不一致に対処し、パッケージ名の厳格な検証を追加するとともに更新パスからのシェル実行を削除、更新サービスのsudo権限を縮小しています。

これらの変更により脆弱性の連鎖は封じられますが、過去の侵害が取り消されるわけではありません。露出が疑われる場合は、パッチ適用後に必ずシークレットのローテーションと完全なインシデントレスポンスを実施してください。

翻訳元: https://gbhackers.com/unifi-os-rce-chain/

ソース: gbhackers.com