Earlier quoted context omitted.
Nowhere. Apache should have used a socket rather than the shell (which effectively evaluates data as instructions). People knew shell was insecure in the 90s, and there were malicious users back then too. I think environment variables were used either due to naivity or an ultimately mistaken concept of simplicity. Sunning up the entire thread: Apache should have used a socket, and should have known they needed to.
> Apache should have used a socket, and should have known they needed to. Well, there's nothing inherently dangerous about setting environment values. Yes, some have special meanings in special contexts but so could data piped over a socket. So your argument boils down to: Apache should have seen the special treatment of data in this context, and used another context instead. That's fine, but it doesn't address the r…
Yes, the behaviour of all Unix shells and their poor separation of data from instructions is well known in the 90s.
> There's no spec to say that data received from the "other" channel will not be interpreted or used unexpectedly.
That is true. However something specifically designed as a communications channel, such as a socket or FIFO, is generally better suited than something designed as a shell.