私は、seccomp モード フィルターを使用する前に、このビットを設定する必要があることを見てきました。これは、子プロセスが親のプロセスよりも大きな特権で実行できないことを保証するためです。しかし、まだ悪用の例を理解できません。1つ見せてもらえますか?
理論的なシナリオ: no_new_privs ビットを設定せずに seccomp フィルター モードを設定できるプログラムがあります。
目標:それを悪用するプログラムを示す
この要件により、特権のないプロセスが悪意のあるフィルターを適用してから、execve(2) を使用して set-user-ID またはその他の特権プログラムを呼び出し、そのプログラムを危険にさらす可能性がないことが保証されます。(このような悪意のあるフィルターは、たとえば、setuid(2) を使用して呼び出し元のユーザー ID をゼロ以外の値に設定し、実際にはシステム コールを行わずに 0 を返すように試みる可能性があります。したがって、プログラムはだまされてスーパーユーザー特権を保持する可能性があります。実際に権限を落としたわけではないので、影響を与えて危険なことをさせる可能性のある状況で。)