Vulnerabilidade na shell Bash põe em risco máquinas Linux

38 Comentários

…e também máquinas com OSX

De acordo com várias noticias publicadas nas últimas horas, o interpretador de comandos Bash tem um problema de segurança grave. Stephane Chazelas, o autor de tal descoberta, refere que a vulnerabilidade está presente até a versão 4.3 do Bash e coloca em risco máquinas Linux e Macs.

A vulnerabilidade pode ser explorada remotamente através de serviços como é o caso do Apache ou OpenSSH.

trinity-nmapscreen-hd-crop-1200x728

Quem tem máquinas Linux ou Macs com OSX  então é muito importante que verifique se a shell Bash tem uma versão inferior ou igual a 4.3. No caso do seu sistema ser afectado por tal vulnerabilidade é importante que saiba que o mesmo pode ser atacado remotamente por atacantes não autenticados.

O bug que afecta a shell reside no facto de ser possível manipular variáveis de ambiente no próprio bash, permitindo, por exemplo, atribuir uma função a uma variável (podendo até receber parâmetros de entrada).

bash

No caso de uma máquina Linux ter um servidor Apache que tenha alojado páginas web que invoquem directamente comandos na shell ou que suporte scripts CGI (Common Gateway Interface – permite que uma página web passe parâmetros para um programa alojado no servidor), como forma do utilizador inserir/passar dados, então o servidor Web corre o risco de ser atacado.

Tal vulnerabilidade já foi classificada com a nota máxima na base de dados de vulnerabilidades do NIST

GNU Bash through 4.3 processes trailing strings after function definitions in the values of environment variables, which allows remote attackers to execute arbitrary code via a crafted environment, as demonstrated by vectors involving the ForceCommand feature in OpenSSH sshd, the mod_cgi and mod_cgid modules in the Apache HTTP Server, scripts executed by unspecified DHCP clients, and other situations in which setting the environment occurs across a privilege boundary from Bash execution.

Authentication: Not required to exploit

Impact Type: Allows unauthorized disclosure of information; Allows unauthorized modification; Allows disruption of service

Como saber se o seu sistema corre perigo?

Para saber se o seu sistema (Linux) corre risco basta que execute os seguinte comandos. Se o output for shellshock então é importante que aplique de imediato o patach.

  • env X=”() { :;} ; echo shellshock” /bin/sh -c “echo completed”
  • env X=”() { :;} ; echo shellshock” `which bash` -c “echo completed”

osx_01

Como resolver tal problema?

Depois de identificado o problema, a equipa responsável pelo Bash lançou já um conjunto de patchs (ver aqui) para quem usa o Bash desde a versão 3.0 até ao 4.3. No caso do Debian e do Red Hat os pacthes já estão disponíveis nos repositórios.

Comentários

38

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *

  1. Avatar de maneu
    maneu

    Corrigido! thanks.

  2. Avatar de V@mpyro
    V@mpyro

    for ever and ever

  3. Avatar de billgates
    billgates

    Hoje nos repositorios do ubuntu lá estava o update ao bash… linux no seu melhor

    1. Avatar de NT
      NT

      Acho que na semana passada já estava actualizado no arch… enfim…

      1. Avatar de Luís Nabais

        Não, foi só actualizado ontem também.

  4. Avatar de JMCS
    JMCS

    Onde é que isto é um problema? É tão raro que alguém faça um CGI em “bash”. Há uns anos fiz um em “tcsh” e não tinha hipóteses de sofrer desta vulnerabilidade…

    1. Avatar de sakeN
      sakeN

      Não precisa que seja criado em bash, basta usar, por exemplo system() em que bash seja chamado pelo cgi.

    2. Avatar de YaBa
      YaBa

      Não é assim tão raro, ainda se vêm muitos sites a fazer uso de funções tipo system() sem validação do input 😐

  5. Avatar de jedi
    jedi

    Voçês aqui so mencionam os sistemas linux. Ou outros baseados em Unix como OS X? que neste momento tem a versão version 3.2.51(1)-release (x86_64-apple-darwin13).

      1. Avatar de Nuno Vieira
        Nuno Vieira

        Sim, este bug também afecta o Mac OS X, bem como muitos outros sistemas Unix. O Debian, Red Hat e Ubuntu já actualizaram o bash. Vamos ver quanto tempo vai demorar os restantes SOs.

    1. Avatar de Marco
      Marco

      “…e também máquinas com OSX”

      e ainda

      “Quem tem máquinas Linux ou Macs com OSX então é muito importante que verifique se a shell Bash tem uma versão inferior ou igual a 4.3.”

  6. Avatar de Carlos
    Carlos

    Não é o Linux, é todos os SOs que tenham o baah instalado.

    O OS X é um dos que está na lista, e a Apple até já lançou uma atualização para corrigir isso.

    1. Avatar de Nuno Vieira
      Nuno Vieira

      Posso estar enganado, mas acho que ainda não lançou. Pelo menos não colocou a informação no página dos updates. Agora não estou próximo do meu mac para confirmar.

  7. Avatar de JJ

    Afinal o “linux” também tem vulnerabilidades…

    1. Avatar de Rafael
      Rafael

      TODOS os sistemas têm vulnerabilidades.

    2. Avatar de Luís Nabais

      Todos os sistemas operativos têm. É ingénuo quem pensa o contrário.
      No entanto, há mais factores a ter em conta, como impacto, tempo de resolução, entre outras. A grande maioria das distribuições já corrigiu isso nos seus updates diários.

      1. Avatar de JJ

        A quem diga que o Linux não tem…

        Quanto ao tempo de resolução, normalmente quando são descobertos este tipo de “erros”, são corrigidos de forma rápida pelas empresas responsáveis.

        Em relação ao impacto, logicamente um sistema operativo mais utilizado terá mais impacto. Logicamente que as distribuições mais utilizadas tiveram um maior impacto do que as outras. Isto é um ponto um pouco subjectivo.

        1. Avatar de Luís Nabais

          Quem diz isso não sabe o que diz. Não há qualquer sistema operativo totalmente sem vulnerabilidades. Pode é não ter nenhuma conhecida no momento.

  8. Avatar de ricardo
    ricardo

    Para os Apple Fanboys/Trolls dos comentários acima eu vou só deixar isto aqui

    http://thehackernews.com/2014/09/bash-shell-vulnerability-shellshock.html

    1. Avatar de Marco
      Marco

      olha que n consigo ver a quem te estás a dirigir, pq ainda vi ninguem em cima a dizer que o OSX não estava contemplado.

  9. Avatar de João Silva
    João Silva

    Boas tenho dois nas da NETGEAR aqui um Sparc(GNU bash, version 2.05b.0(1)-release (sparc-unknown-linux-gnu)
    Copyright (C) 2002 Free Software Foundation, Inc.)
    e um ARM (GNU bash, version 4.1.5(1)-release (arm-unknown-linux-gnueabi)
    Copyright (C) 2009 Free Software Foundation, Inc.)
    Como sao distros “especiais” gostaria de saber como se faz esse update
    Obrigado

    1. Avatar de JJ

      A NETGEAR ainda não disponibilizou o updade?

    2. Avatar de Nuno Vieira
      Nuno Vieira

      O primeiro não é afectado pelo bug, apenas o segundo.

      Vais ter que esperar que a netgear lance o update para o dispositivo.

  10. Avatar de José Fonseca Galhão
    José Fonseca Galhão

    “(…) é importante que aplique de imediato o patach.”

    Alguém me explica o que é um “patach”??? Era bom que quem escreve soubesse o que diz… Já agora, adoro o screenshot da shell que nada tem a ver com o dito bug.

  11. Avatar de Aybara
    Aybara

    Bash nao é exclusivo de Linux. O teu tão amado OSX também é afectado.

    Pela boca morre o peixe. No teu caso espero que tenha sido um anzol bem grande e espinhoso.

  12. Avatar de Aybara
    Aybara

    PPlware:

    O comando de teste correcto será:

    env x='() { :;}; echo shellshock’ /bin/sh -c “echo completed”

    ou

    env x='() { :;}; echo shellshock’ bash -c “echo completed”

    se o bash estiver instalado noutro lado qualquer…

  13. Avatar de Porfírio
    Porfírio

    Também tinha estranhado um update ao bash hoje no meu Arch.

    O que importa não é os erros que o Linux tem, mas o tempo que demora a resolve-los….

  14. Avatar de Osvander
    Osvander

    E os pacotes RPM como o sistema operacional PCLINUXOS, já estão disponível?

    1. Avatar de Osvander
      Osvander

      Sheel é o interpretador de comando do sistema linux, isto é é o mediador entre o usuário e a máquina

  15. Avatar de sakeN
    sakeN

    [root@host cgi-bin]# rm -fr /tmp/aa
    [root@host cgi-bin]# cat /var/www/cgi-bin/hi
    #!/bin/bash
    echo “Content-type: text/html”
    echo “”
    echo “hai”
    [root@host cgi-bin]# curl -k -H ‘User-Agent: () { :;}; echo aa>/tmp/aa’ https://localhost/cgi-bin/hi
    hai
    [root@host cgi-bin]# tail -n1 /var/log/httpd/ssl_access_log
    ::1 – – [24/Sep/2014:18:22:05 +0200] “GET /cgi-bin/hi HTTP/1.1” 200 4 “-” “() { :;}; echo aa>/tmp/aa”
    [root@host cgi-bin]# ls -l /tmp/aa
    -rw-r–r–. 1 apache apache 3 24 sept. 18:22 /tmp/aa
    [root@host cgi-bin]# sestatus
    SELinux status: enabled
    [root@host cgi-bin]# yum update bash

    1. Avatar de Ninja.PT

      Mto bom! conseguiste executar um “echo aa>/tmp/aa” só com um “simples” curl pela linha de commandos na chamada to CGI!
      thank! bom exemplo 😉

  16. Avatar de xoxota
    xoxota

    Há quem continue a não distinguir a Shell do Sistema Operativo.

    1. Avatar de Bash
      Bash

      E há quem continue a fechar os olhos aos problemas.

  17. Avatar de Cris
    Cris

    Afecta todos os OS *nix com bash, idiota, inclusive BSD (que não tem bash incluído por default), GNU/Linux e OSX.

  18. Avatar de Marco Silva
    Marco Silva

    Boas

    Alguém sabe se os modem/router da NOS/Zon são afectados por este problema?

    Especificamente o Zon Hub (aquele que parece um cilindro espalmado) e o Zon Hub 2.0 (aquele que faz lembrar uma moldura digital)?

    Obrigado pela resposta.

  19. Avatar de romulo
    romulo

    muito legal seu conteudo parabens pelo seu site.