特権のないユーザーの名前空間を有効にすると、Linux カーネルの重大な脆弱性がより簡単に悪用される可能性があります。有効にするつもりがなかった場合は、無効になっていることを確認してください。 定期的に発見される多数の脆弱性 権限のないユーザーの名前空間がサポートされ、カーネルによって有効にされている場合、多くの場合、権限のないユーザーによってのみ悪用される可能性があります。本当に必要でない限り、無効にしてください。
この理由は、通常、コードが信頼できると見なされているため、UID 0 によってのみ到達できるように意図されているカーネルの多くが特に適切に監査されていないためです。つまり、0 の UID を必要とするバグが重大なバグと見なされることはめったにありません。残念ながら、特権のないユーザーの名前空間では、特権のない ユーザーがこのまったく同じコードにアクセスして、セキュリティ バグを悪用する可能性があります。
特権のないユーザー名前空間を持つシステムでのみ悪用可能な脆弱性のいくつかの例:
-
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-16120
-
https://brauner.github.io/2019/02/12/privileged-containers.html
-
https://www.halfdog.net/Security/2016/UserNamespaceOverlayfsXattrSetgidPrivilegeEscalation/
-
https://www.halfdog.net/Security/2015/UserNamespaceOverlayfsSetuidWriteExec/
-
https://googleprojectzero.blogspot.com/2017/05/exploiting-linux-kernel-via-packet.html
-
https://seclists.org/fulldisclosure/2016/Feb/123
-
https://seclists.org/oss-sec/2016/q4/607
-
https://www.openwall.com/lists/oss-security/2015/12/31/5
-
https://www.rapid7.com/db/modules/exploit/linux/local/nested_namespace_idmap_limit_priv_esc/
-
https://lwn.net/Articles/543539/
-
https://lwn.net/Articles/543442/
Debian がディストリビューション カーネルにパッチを当てる「強化」を少し無効にします。そのようなカーネルを実行していない場合、そのような設定はメインラインの Linux カーネルにも存在しないため、失敗して何もしません。そのようなパッチが適用されたカーネルを実行している場合、そのパッチの機能を無効にし、カーネルを他のすべてのカーネルと同じように動作させ、特権のないユーザーが unshare -U
を使用できるようにするだけです。 .森の答えに反して、私はこれが危険だとは思わない.特に、ユーザーが sudo
できる場合 root に (これをオフにするために必要とされるように)、彼らはすでにこれでできるすべてのことを行うことができます.