Quantcast

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
  1. MA
    maneu

    Corrigido! thanks.

  2. VM
    V@mpyro

    for ever and ever

  3. BI
    billgates

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

    1. NT
      NT

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

      1. LN

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

  4. JM
    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. SA
      sakeN

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

    2. YA
      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. JE
    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. RA
      Rafael

      Hein?!

      1. NV
        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.

    2. MA
      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. CA
    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. NV
      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. JJ

    Afinal o “linux” também tem vulnerabilidades…

    1. RA
      Rafael

      TODOS os sistemas têm vulnerabilidades.

    2. LN

      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. 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. LN

          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. RI
    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. MA
      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. JS
    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. JJ

      A NETGEAR ainda não disponibilizou o updade?

    2. NV
      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. JG
    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. AY
    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. AY
    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. PO
    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. OS
    Osvander

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

    1. OS
      Osvander

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

  15. SA
    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. NP

      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. XO
    xoxota

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

    1. BA
      Bash

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

  17. CR
    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. MS
    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. RO
    romulo

    muito legal seu conteudo parabens pelo seu site.

Deixe um comentário