エリカ・ウィンディッシュ氏は、Linuxユーザー名前空間が十分に安全でない可能性があると警告しています。実際のrootユーザーからSYS_CAP_ADMINケーパビリティが削除されたが、その後ユーザー名前空間を作成した場合、そのケーパビリティは偽のrootユーザーに対して復元されます。名前空間を作成する前は'mount'が拒否されますが、作成後は'mount'システムコールが制限付きで再び機能します。これは、実際のrootユーザーとユーザー名前空間を備えたカーネルがあれば、Linuxのケーパビリティが完全に覆される可能性があるほど重要です。
user_namespacesのマニュアルページは、clone(2)でCLONE_NEWUSERを使用して作成された子プロセスが、新しいユーザー名前空間で完全なケーパビリティセットを保持して開始することを確認しています。ユーザー名前空間は、セキュリティモデルの「興味深い」交差を可能にし、新しい名前空間に完全なrootケーパビリティを付与します。これにより、CLONE_NEWUSERは、特にコンテナが使用されていない場合に、他のネットワーク名前空間に対してCAP_NET_ADMINを効果的に使用できる可能性があります。CAP_NET_ADMINを持つプロセスは攻撃対象領域が大きく、多くのカーネル脆弱性を引き起こしており、特権のないユーザー名前空間がカーネルのネットワークサブシステムを標的にする可能性があります。
デモンストレーションでは、ユーザー名前空間がコンパイルされたホスト上で、ユーザーがioctlとSIOCBRADDBRを使用してブリッジを作成できることが示されていますが、cap_set_fileでファイルケーパビリティを設定することは失敗します。UbuntuはCONFIG_USER_NSを有効にしていますが、sysctl unprivileged_userns_cloneで特権のない使用を無効にできるようにパッチを適用しています。カーネル設定はユーザー名前空間に対してデフォルトで'n'であり、特権のないユーザーのメモリを制限するためにMEMCGを推奨しています。
出典: Hacker News · 要約:HeadlinesBriefing