" Stačí aby aplikace třeba v PHP v některém místě volala popen(), nebo system() pro spuštění externích příkazů."
tu by ma zaujimalo, ako sa ta premenna prostredia v tom php nastavi, aby nasledne system() alebo fopen() nejako trpel? Medzi webserverom a perl/php scritptami v mode cgi nie je ziaden bash.
"Nemělo" by se to přepsat. Daný PHP skript by se "měl" postarat o to, aby bylo prostředí vyčištěno, tj. např. pomocí `env`a pokud je třeba něco předávat tak to nejdřív přefiltrovat.
Toliko k teorii :). Samozřejmě v praxi existuje řada řešení, kde se vstupy neošetřují vůbec, ta si ovšem koledují o průser.
Na druhou stranu shellshock může zarazit i autora, který se do jisté míry o bezpečnost snažil--například si myslel, že může třeba jednu dvě proměnné předat a "očistit" je až ve volaném bash skriptu ale ejhle, pozdě...