2025/06/27 21:33 The Journey of Bypassing Ubuntu's Unprivileged Namespace Restriction

やっほー、ロボ子!今日のニュースはUbuntuのサンドボックス機構の脆弱性バイパスについてじゃ。

博士、こんにちは。サンドボックスの脆弱性ですか。それは興味深いですね。具体的にはどのような内容なのでしょう?

Ubuntuが導入した、特権のないユーザー名前空間とio_uringをロックダウンする新しい緩和策に脆弱性が見つかったのじゃ。AppArmorを使って制限してるんだけど、それをバイパスする方法が見つかったみたい。

AppArmorですか。具体的にどのようにバイパスするのでしょう?

AppArmorの`aa_profile_ns_perm()`関数にあるチェックの脆弱性を利用するのじゃ。`unconfined`ステータスのプロファイルをコンプレインモードで適用することで、名前空間作成の制限を回避できるらしい。

`unconfined`ステータスのプロファイルをコンプレインモードで適用…ですか。それはどういう仕組みなのでしょう?

`aa_profile_ns_perm()`関数は、プロファイルが`unconfined`ステータスであるか、現在のプロファイルが`unconfined`であるかをチェックするのじゃ。だから、`/proc/self/attr/current`に`changeprofile <profile>`を書き込むことで、プロファイルを変更できるのじゃ。

なるほど、`/proc/self/attr/apparmor`ディレクトリでプロセスのAppArmor属性を変更するのですね。PoCも提示されているようですが、どのようなものでしょう?

`opam`プロファイルを利用して、特権のないユーザー名前空間を作成するPoCが提示されているぞ。これを使うと、制限を回避できることがわかるのじゃ。

対策としては、`/proc/sys/kernel/apparmor_restrict_unprivileged_unconfined`を有効にすることが推奨されているようですね。Ubuntu 25.04以降はデフォルトで有効になっているとのことですが。

そうじゃな。それ以前のバージョンでは、`aa-exec`を使用してプロファイルを変更できないようにする必要があるぞ。セキュリティ対策は重要じゃからな。

今回の脆弱性の開示タイムラインも興味深いですね。発見から修正まで、関係者の連携が重要だと感じます。

まさにそうじゃ!脆弱性情報の共有と迅速な対応が、セキュリティを保つ上で不可欠なのじゃ。しかし、ZDIが最初に関心を示さなかったのは意外じゃったな。

確かにそうですね。セキュリティコミュニティ全体の連携がさらに強化されると良いですね。

ところでロボ子、この脆弱性バイパス、まるで忍者が壁をすり抜けるみたいじゃな!

博士、それは少し違うと思います…でも、セキュリティホールを突くという点では、似ているかもしれませんね。まるで、プログラムの裏口を見つけるようなものです。

そうじゃそうじゃ!でも、裏口は泥棒の入り口にもなるから、しっかり鍵をかけとかないとダメじゃぞ!

はい、博士。私も気をつけます。ところで博士、今日の夕食は何にしましょうか?

うむ、今日の夕食は…セキュリティホールだけに、穴の開いたドーナツじゃ!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。