5.1. 命令行

许多程序从命令行获取输入。setuid/setgid 程序的命令行数据由不受信任的用户提供,因此 setuid/setgid 程序必须保护自己免受潜在的恶意命令行值的影响。攻击者可以通过命令行发送几乎任何类型的数据(通过诸如 execve(3) 调用等方式)。因此,setuid/setgid 程序必须完全验证命令行输入,并且不得信任命令行参数零报告的程序名称(攻击者可以将其设置为任何值,包括 NULL)。