curl -H "User-Agent: () { :; }; sudo /bin/eject" http://example.com/
Não funcionaria porque não foi possível encontrar sudo .
curl -H "User-Agent: () { :; }; /usr/bin/sudo /bin/eject" http://example.com/
conseguiria invocar sudo , mas a menos que o administrador tenha configurado sudo para permitir que o usuário executando o servidor da Web execute qualquer comando como root (o que seria a coisa mais insensata a ser feita), faça muito.
Mesmo se o servidor remoto permitisse que o usuário do servidor Web executasse um comando específico como root , primeiro, você precisaria adivinhar qual é e, mesmo que fosse um script bash , o ambiente HTTP_USER_AGENT a variável não seria passada a ela mesmo se sudo fosse configurado com env_reset desativado porque sudo sempre lista as variáveis cujo conteúdo começa com () .
Embora alguns cenários possam ser imaginados, não há uma forma comum de usar o shellshock para escalonamento de privilégios locais. Veja esta resposta em security.stackexchange para mais detalhes.