Faça o download do pacote da unstable via este link . Você pode verificar as dependências lá também, embora pareça que o bash unstable tenha as mesmas dependências que o bash do teste. Instale o deb baixado com o seguinte.
dpkg -i
O comando de teste
x='() { :;}; echo vulnerable' bash
mostra que minha instalação do Debian 8 (Jessie) é vulnerável, mesmo com as atualizações mais recentes. Pesquisas mostram que há um patch para stable e unstable, mas esse teste não é corrigido.
Eu acho que o patch vai chegar aos testes em alguns dias, mas isso parece desagradável o suficiente para ser paranóico. Existe alguma maneira de obter o pacote de instável e instalá-lo sem quebrar meu sistema? A atualização para a unstable parece causar mais problemas do que resolve.
Segundo Bob, há uma segunda vulnerabilidade Shellshock, que é corrigida em um segundo patch. O teste para isso é suposto ser:
env X='() { (a)=>\' bash -c "echo echo vuln"; [[ "$(cat echo)" == "vuln" ]] && echo "still vulnerable :("
Mas eu não tenho habilidade suficiente no Bash para descobrir o que isso significa ou porque é um problema. De qualquer forma, ele faz algo estranho, o que é impedido por bash_4.3-9.2_amd64.deb em sistemas de 64 bits, que no momento da edição está estável e instável, mas não em Jessie > testando .
Para corrigir isso para Jessie , obtenha o último Bash da unstable e instale-o com dpkg -i
.
Jemenake oferece
wget http://ftp.debian.org/debian/pool/main/b/bash/bash_4.3-9.2_$(dpkg --print-architecture).deb
como um comando que irá obter a versão 4.3-9.2 para a sua máquina.
E você pode seguir isso com:
sudo dpkg -i bash_4.3-9.2_$(dpkg --print-architecture).deb
para instalá-lo.
Se você precisar de mais patches da unstable para o seu sistema Jessie , este é claramente o caminho a seguir ( mutatis mutandis ).
Faça o download do pacote da unstable via este link . Você pode verificar as dependências lá também, embora pareça que o bash unstable tenha as mesmas dependências que o bash do teste. Instale o deb baixado com o seguinte.
dpkg -i
Eu editei esta resposta para as correções adicionais que foram lançadas na segunda-feira.
Para o Ubuntu 12.04, executei uma atualização, mas também tive que executar a instalação do bash para me livrar da vulnerabilidade.
root@host:/home/ubuntu# env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
vulnerable
this is a test
Esse comando mostra que o sistema é vulnerável, portanto, execute a atualização.
apt-get update && apt-get -y upgrade
Teste novamente.
root@host:/home/ubuntu# env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
vulnerable
this is a test
Ainda vulnerável.
apt-get install -y bash
Teste novamente.
root@host:/home/ubuntu# env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
bash: warning: x: ignoring function definition attempt
bash: error importing function definition for 'x'
this is a test
Editar: depois que os patches adicionais foram lançados, a saída mudou.
root@host:/home/ubuntu# env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
this is a test
Yay! Fixo. Isso deve funcionar para outras versões, mas eu não testei além de 12.04.
Além disso, a resposta do runamok abaixo funciona bem, então dê a ele um upvote!
Uma alternativa para o Debian 6.0 (Squeeze) sem buscar pacotes do Debian 7 (Wheezy):
Use o repositório de segurança LTS que possui o patch backported.
Adicione isso a /etc/apt/sources.list
:
#LTS security
deb http://http.debian.net/debian/ squeeze-lts main contrib non-free
deb-src http://http.debian.net/debian/ squeeze-lts main contrib non-free
Em seguida, execute apt-get update && apt-get install bash
.
Via: linuxquestions
apt-get update
antes de apt-get dist-upgrade
e você receberá o patch. Apenas fiz isso sozinho e houve uma atualização bash que resolve o problema.
Eu consertei no meu Hackintosh por:
$ brew install bash
$ x='() { :;}; echo vulnerable' bash
bash: warning: x: ignoring function definition attempt
bash: error importing function definition for 'x'
bash-4.3$
Eu escrevi um artigo sobre como fazer isso com o apt-get em versões antigas do Ubuntu. Você basicamente atualiza seu sources.list para o mais novo e então executa o apt-get update e upgrade bash. Você pode lê-lo passo a passo ou copiá-lo de aqui .
Resumo:
sudo sed -i 's/YOUR_OS_CODENAME/trusty/g' /etc/apt/sources.list
sudo apt-get update
sudo apt-get install --only-upgrade bash
Leia o artigo se você usa old-releases.ubuntu.com e não se esqueça de querer alterá-lo de volta:
sudo sed -i 's/trusty/YOUR_OS_CODENAME/g' /etc/apt/sources.list
A versão corrigida (consulte changelog ) para o pacote Bash está no Debian 8 (Jessie) agora (consulte informações do pacote ), de 2014-09-26 14 : 18 UTC.
A segunda correção, mencionada nos comentários abaixo, também está no repositório Jessie agora. Não há necessidade de instalar da unstable. Veja o link da informação do pacote acima.
Não é mais necessário instalar da unstable.
Basta executar:
# aptitude update
seguido por:
# aptitude upgrade
Em seguida, verifique se a vulnerabilidade desapareceu (em um shell recém-aberto):
$ x='() { :;}; echo vulnerable' bash
bash: warning: x: ignoring function definition attempt
bash: error importing function definition for 'x'
Tags security debian shellshock linux