PplWare Mobile

MySQL permite acesso mesmo com passwords erradas

                                    
                                

Este artigo tem mais de um ano


Autor: Pedro Pinto


  1. Portugal 2-0 Dinamarca says:

    De que forma é que isto pode afectar e comprometer a segurança de um utilizador comum de uma distro Linux?

  2. Miguel Ribeiro says:

    e por isto (e por outras) q nao se usa mysql em sistema importantes

  3. Pedro A. says:

    como é que se usa o script?

  4. davidslv says:

    Esse script não está completo, faltava o include time.h

    http://pastie.org/4073708

  5. quim says:

    e como se usa, por exemplo num site com joombla ?

  6. Nuno Gonçalves says:

    Bem será que as nossas contas do facebook estão a salvo?

  7. Hal says:

    A notícia apenas dada desta forma, soa-me a pouco. Mas, com milhares de programadores, tenho a certeza que já há ou houve correcções de falhas entre outros problemas.

    Aliás… é mais habitual a descoberta de falhas em sistemas open-source do que em sistemas proprietários ao contrário do que muita malta pensa. E, obviamente é despoletada uma solução adequada.

  8. maneu says:

    Eu estou a salvo dessa vulnerabilidade, estou a usar InnoDB. :-p

  9. GreenTuxer says:

    Obrigado por este artigo! Não sabia mesmo desta falha e pelo que vi, tenho alguns servidores vulneráveis, vou ver essa questão 🙂

    Aproveito para fazer uma questão relacionada com o assunto. Que fontes vocês utilizam para informações sobre vulnerabilidades deste tipo? Se possível, apenas relacionadas com OpenSource, Linux, etc.

    Abraço e obrigado.

  10. Francisco says:

    Não é preciso ser-se muito inteligente para perceber que as funções de HASH, tanto MD5, como SHA-1, etc, não são perfeitas. Existe uma infinidade de combinações. Se o algoritmo não for muito bom (não há algoritmos perfeitos), existem várias combinações que originam a mesma HASH. Uma das soluções seria guardar a própria password, com uns caracteres pelo meio, também. Deste modo comparar-se-ia a HASH e a password devidamente tratada.
    Quem fala no MYSQL, fala também de sites pessoais/empresariais desenvolvidos por pessoas que não estuda bem todas as decisões antes de os realizar.

    • Carlos says:

      O problema não é o algoritmo de hash não ser bom, o problema é que quando é feita a validação do retorno da função memcmp().

      Até porque, estatisticamente, a probabilidade de duas strings pequenas gerarem a mesma hash SHA-1 é muito menor que 1 em 256. Ainda para mais se se considerar que o MySQL usa sal nas hash (e é por isso que a probabilidade de se “acertar” na senha é 1 em 256, se não fosse isso era 1 em 1)

      Ou pelo menos é isso que o sr. Golubchik diz…

    • Serva says:

      Concordo , eu fui um deles no fim de semana passado , mas nada de grave aconteceu entretanto , vou é sacar já as patches que o Pedro Pinto teve a amabilidade de colocar as hiperligações , no entanto o que li é que estas Patches podem resolver , não que resolvem .

      Abraço a todos

      Serva

  11. jesus says:

    Como se pode verificar esta vulnerabilidade no MAMP Pro?
    Grato.

  12. sigsegv says:

    Cheira-me a grande aldrabice. Só dizem que pode haver colisões na hash que é gerada mas isso não quer dizer que se pode aceder com quelquer password. As colisões existem mas quem descobre a password errada para entrar também descobre a correcta! E não digam mal do MySQL que a Oracle é a mesma coisa ou pior. Ainda me recordo de um bug na 10gR1 que se alguem se tentasse conectar com um cliente OCI8 mandava a instancia abaixo mesmo com a password errada! Se isso não é grave….

  13. José Oliveira says:

    Oi?!…xiii :S que mau… :S
    Então estamos feitos?! :S

  14. Andros says:

    Pelos vistos quem tiver o Arch Linux actualizado também não será afectado por este problema:

    $ mysql –version
    mysql Ver 14.14 Distrib 5.5.24, for Linux (i686) using readline 5.1

    $ ./a.out
    Not triggered in 10 seconds, *probably* not vulnerable..

  15. J MD says:

    Como se usa esse script para verificar a vunerabilidade do mysql em Windows?

  16. jpng81 says:

    Por um lado isto é bom, quer dizer que o problema esta detectado e que vai ser corrigido.
    O que não nos mata torna-nos mais fortes.

  17. InteRessadU says:

    Hmmm, a parte mais técnica do artigo está mal explicada… Da primeira vez q li o artigo não percebi a falha. Depois de ler o original (em inglês) percebi.
    No parágrafo explicativo é usado o termo password de forma errada. Não são as passwords q são comparadas mas sim, como o autor diz em inglês, “token and the expected value”.

    Pronto se calhar tmb nao me expliquei mto bem xP e percebo q queiram simplificar as coisas… Só queria dar o meu input 😉

  18. Carlos says:

    A pergunta óbvia é…

    Porque é que alguém tem um servidor com o MySql (ou qualquer outro) exposto na Internet?

    Não duvido que haja razões válidas para isso, mas quais?

    • Viperz0r says:

      Nem sempre o perigo vem da internet… um utilizador de uma rede local pode ganhar acesso ao servidor mysql.

      Talvez seja possível até que esta técnica funcione também com um simples script PHP.

    • Filipe YaBa Polido says:

      +1
      ainda pior se for na porta default 😐

      • Muchacho says:

        Ai quer dizer que um SQL Server é mais robusto e seguro é, ou não será mais fácil ainda penetrar estes serviços? A resposta é simples… SE ESTÃO NA NET estão inseguros, cabe ao administrador assegurar a proteção e manutenção do servidor.

        Nada como verificações extra no servidor para autenticação, para por exemplo banir o utilizador durante X tempo depois de 3 tentativas falhadas em qualquer serviço.
        Isto que sirva de lição para os que usam a cloud para armazenar informação sem saber o que por lá se passa.

  19. Nuno Gonçalves says:

    Facebook?? Hello 😛

  20. Muchacho says:

    apt-get update

    isto faz milagres e corrige os vossos servidores

    • GreenTuxer says:

      Não sabes nada do mercado enterprise, pois não?
      Tens noção da asneira que acabaste de dizer?

      Updates em servidores faz-se apenas quando há bugs ou correcções ou features necessárias nas novas actualizações.

      Em caso algum se faz update ou upgrade ao sistema operativo inteiro. É esperar que tudo o que foi instalado/compilado comece a falhar…

  21. Buganet says:

    Boas
    Percsava de uma ajuda,tenho um servidor com o CentOS 6.2 que tem o MySQL version 5.1.61 e gostara de atualizar para este e nao estou a conceguir!

    Algem da umas dicas?
    Agradecido

  22. Rui Moreira says:

    Ja para não dizer que qualquer administrador que se preze , vai fazer das 3 uma :

    1 – colocar o mysql a correr agarrado ao localhost
    2 – restringir o acesso por user/IP
    3 – Não export a porta do mysql para “fora”

    Mais sobre o assunto em :

    https://community.rapid7.com/community/metasploit/blog/2012/06/11/cve-2012-2122-a-tragically-comedic-security-flaw-in-mysql

  23. ulaikamor says:

    Bom, este artigo não está bem explicado.

    Praticamente todos os sistemas, pelo menos os que tenho conhecimento, guardam apenas um hash da password de um utilizador, nunca sendo o hash unívoco. Aliás, só podia ser desta forma, senão um administrador do sistema poderia simplesmente ver as passwords de toda a gente…

    Logo, o problema de passwords diferentes gerarem o mesmo hash está presente na vasta maioria dos sistemas. No entanto, isto não é um problema em si dado que a probabilidade de isso acontecer é uma em um trilião ou mais (valor apenas demonstrativo de um número muito grande)…

    O problema neste bug tem a ver mais com “Because of incorrect casting, it might’ve happened that the token and the expected value were considered equal…”, o que faz com que a probabilidade da geração do mesmo hash com a password errada baixe de um em um trilião para 1 em 256, ficando este último valor abaixo do número de tentativas de acesso que o mySQL permite até bloquear o acesso, que é 300.

    E é aqui que está o problema…

  24. João Lopes says:

    Olha, na minha maquina diz:
    “Vulnerable! memcmp returned: -189”
    🙁

Deixe um comentário

O seu endereço de email não será publicado.

You may use these HTML tags and attributes: <a href="" title="" rel=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

Aviso: Todo e qualquer texto publicado na internet através deste sistema não reflete, necessariamente, a opinião deste site ou do(s) seu(s) autor(es). Os comentários publicados através deste sistema são de exclusiva e integral responsabilidade e autoria dos leitores que dele fizerem uso. A administração deste site reserva-se, desde já, no direito de excluir comentários e textos que julgar ofensivos, difamatórios, caluniosos, preconceituosos ou de alguma forma prejudiciais a terceiros. Textos de caráter promocional ou inseridos no sistema sem a devida identificação do seu autor (nome completo e endereço válido de email) também poderão ser excluídos.