ShellShock – Vulnerabilidade no Bash – CVE-2014-6271

Olá Pessoal !!! Bem Vindo ao site Ethical Hacker !!!

A Red Hat Security Product tomou conhecimento de uma vulnerabilidade (Bash Code Injection Vulnerability (CVE-2014-6271), que afeta todas as versões do pacote do bash distribuída com o Red Hat Enterprise Linux. Uma vez que muitos dos produtos da Red Hat são executado em uma instalação base do Red Hat Enteprise Linux, existe ainda o risco de outros produtos, que podem ser afetados por essa vulnerabilidade.

O código do bash com vulnerabilidade de injeção CVE-2014-6271 poderia permitir a execução de código arbitrário, permitindo ao invasor contornar as restrições de ambientes impostas. Alguns serviços e aplicativos permitem que os atacantes remotos não autenticados explorem esta vulnerabilidade através de variáveis ​​de ambiente. Como o shell Bash é o shell mais utilizado hoje, o risco de impacto com essa vulnerabilidade se não for controlada pode ser grave.

O acesso ao Red Hat Labs fornece um roteiro para ajudar a confirmar se um sistema é remendado contra a vulnerabilidade Shellshock. Você também pode testar manualmente a versão do Bash, executando o seguinte comando:

$ env 'x=() { :;}; echo vulnerable' 'BASH_FUNC_x()=() { :;}; echo vulnerable' bash -c "echo test"

Se a saída do comando acima contém uma linha contendo apenas a palavra vulnerável, indica uma versão vulnerável do Bash. O sistema usado para corrigir esse problema garante que nenhum código é permitido após o fim de uma função Bash.

Note-se que diferentes versões Bash também imprimirá diferentes avisos durante a execução do comando acima. As versões Bash, sem qualquer correção produzirá o seguinte resultado:

$ env 'x=() { :;}; echo vulnerable' 'BASH_FUNC_x()=() { :;}; echo vulnerable' bash -c "echo test"
vulnerable
bash: BASH_FUNC_x(): line 0: syntax error near unexpected token `)'
bash: BASH_FUNC_x(): line 0: `BASH_FUNC_x() () { :;}; echo vulnerable'
bash: error importing function definition for `BASH_FUNC_x'
test

As versões com apenas a correção CVE-2014-6271 inicial aplicada produzirá o seguinte resultado:

$ env 'x=() { :;}; echo vulnerable' 'BASH_FUNC_x()=() { :;}; echo vulnerable' bash -c "echo test"
bash: warning: x: ignoring function definition attempt
bash: error importing function definition for `x'
bash: error importing function definition for `BASH_FUNC_x()'
test

As versões com correções adicionais de RHSA-2014: 1306, RHSA-2014: 1311 e rHSA-2014: 1312 produzirá o seguinte resultado:

$ env 'x=() { :;}; echo vulnerable' 'BASH_FUNC_x()=() { :;}; echo vulnerable' bash -c "echo test"
bash: warning: x: ignoring function definition attempt
bash: error importing function definition for `BASH_FUNC_x'
test

A diferença na saída é causado por alterações de processamento de função adicionais explicado em “Qual o impacto no sistema ?” abaixo.

A correção para CVE-2014-7169 garante que o sistema é protegido contra a questão de criação de arquivo. Para testar se a sua versão do Bash é vulnerável a CVE-2014-7169, execute o seguinte comando:

$ cd /tmp; rm -f /tmp/echo; env 'x=() { (a)=>\' bash -c "echo date"; cat /tmp/echo
bash: x: line 1: syntax error near unexpected token `='
bash: x: line 1: `'
bash: error importing function definition for `x'
Fri Sep 26 11:49:58 GMT 2014

Se o seu sistema é vulnerável, a data e a hora será emitida na tela e um arquivo chamado / tmp / echo será criado. Se o seu sistema não é vulnerável, você verá uma saída semelhante a:

$ cd /tmp; rm -f /tmp/echo; env 'x=() { (a)=>\' bash -c "echo date"; cat /tmp/echo
date
cat: /tmp/echo: No such file or directory

Se o seu sistema é vulnerável, você pode corrigir este problema com a atualização para a versão mais recente do pacote Bash, executando o seguinte comando:

# yum update bash

Qual o impacto no sistema ?

Esse problema afeta todos os produtos que usam o shell Bash e analisa valores das variáveis ​​de ambiente. Esta questão é especialmente perigosa, pois há muitas maneiras possíveis do Bash ser chamado por um aplicativo. Muitas vezes, se um aplicativo é executado, por outro binário, Bash é invocado para fazer isso. Por causa do uso generalizado do shell Bash, esse problema é muito sério e deve ser tratado como tal.

A falha existe nas variantes do Linux há um bom tempo. As distribuições Debian, Redhat e Fedora ensinam como resolver o problema, mas avisam que a solução é apenas parcial por enquanto. A Apple, por sua vez, ainda não divulgou nenhuma correção para o OS X.

Para saber mais sobre os produtos afetados, medidas de remediação, consulte http://access.redhat.com/articles/1200223 no Portal do Cliente da Red Hat.

Fonte: http://access.redhat.com/announcements/1210053

Um grande abraço a todos  !!!

By: Gerson Raymond

Técnico em Contabilidade, Técnico em Eletrônica, Técnico em Telecomunicações, Bacharel em Ciência da Computação, Administrador de Redes Linux (CentOS, XEN, Zabbix, Asterisk/Elastix) e Pós-Graduado em Segurança em Tecnologia da Informação – UNIVERSIDADE MACKENZIE – SP.

Homepage: http://www.grsecurity.com.br

468 ad

Deixe seu Comentário