shellshock 错误,以及允许从环境导入函数的底层特性(我称之为 FIE),至少从 1993 年 CGI 兴起之前就已经存在于 bash 中。
那时,Unix/Linux/GNU 环境的其余部分非常不同。
所以在历史上的那个时候:
- 那时是否允许使用 setuid 脚本?
- 当时 setuid 脚本是默认配置的一部分吗?
- 那时setuid 二进制文件是否经常使用
system(3)
and调用?popen(3)
- 常见用途是扩展 shell glob(
less
似乎为此使用它,但不是 setuid)和执行外部命令
- 常见用途是扩展 shell glob(
- 那个时候
su
-ing时继承环境很普遍吗? - 环境可以通过诸如此类的东西传播
rlogin
吗?(我认为 telnetDISPLAY
默认传播)。 - 是否有任何功能会使当时的 FIE 错误更成问题?
那么这个已经隐藏了二十多年的特权提升和代码执行错误在最初被引入时有多严重?