
lxd グループのデフォルトのメンバーシップと、Ubuntu の lxd-installer パッケージを介した root へのローカル権限昇格。

デモは AWS EC2 Ubuntu Server 26.04 で実行されます
問題は、Ubuntu Server 26.04 のデフォルトインストールが、プライマリユーザーに lxd グループのメンバーシップを黙って付与し、その一方で、このグループは LXD の信頼モデルではパスワードなしの root と同等であるのに、無害な「コンテナ管理」機能として提示していることです。さらに、この非特権ユーザーは、追加の権限を必要とせずに自分で LXD をインストールしてセットアップできるため、sudo パスワードに触れることなく、root 相当のグループにエンドツーエンドで到達できます。
ホストが危険にさらされるのは、次の両方が当てはまる場合です。非特権の誰かが lxd グループに属している、そして root で実行される LXD パス(インストール済みデーモン、または lxd-installer ソケット)に到達可能である場合です。
確認して poc/check-vulnerable.sh を実行してください:
cd poc && chmod +x check-vulnerable.sh && ./check-vulnerable.sh
cd poc && chmod +x exploit.sh && ./exploit.sh # run as an unprivileged user in the lxd group
要件、期待される出力、手動での再現、およびクリーンアップについては、poc/README.md を参照してください。
修正はディストリビューション側にあります。Ubuntu Server はデフォルトではプライマリユーザーを lxd グループに配置すべきではありません。このグループは root と同等であるため、sudo と同じように明示的で理解された許可に値し、黙ったデフォルトではありません。オンデマンドの lxd-installer が実行される前に sudo パスワードを要求することでも、インストール前のベクトルを閉じることができますが、それだけでは既にインストールされた LXD が露出したままになります。
その修正が適用されるまで、lxd グループからすべての非特権アカウントを削除してください。この変更は、メンバーの次回ログイン時に有効になります。
getent group lxd # list current members
sudo gpasswd -d "$USER" lxd # remove one member; repeat for each
その後、lxd メンバーシップをパスワードなしの sudo と同様に扱います。すでに root を信頼しているユーザーにのみ付与してください。
swing) — STAR Labs SG Pte. Ltd.私たちはこの問題を Ubuntu セキュリティチームに責任を持って開示し、そのレビューの結果、これはセキュリティ脆弱性を構成しないと判断されました。
この資料は、許可されたセキュリティ研究、テスト、および教育目的のみのために提供されています。自分が所有するシステム、または評価するための明示的な許可を得たシステムでのみ使用してください。著者は、この情報の使用から生じる誤用、損害、または結果について一切の責任を負いません。