Uma falha de segurança recém-descoberta no MySQL permite que usuários mal-intencionados obtenham acesso a um servidor de banco de dados, inclusive como root, mesmo utilizando uma senha inválida. O problema afeta servidores com várias distribuições Linux e a vulnerabilidade também pode ser explorada no MariaDB, uma variante desenvolvida pela comunidade.

Além de armazenar apenas o hash das senhas dos usuários, o MySQL também adiciona uma sequência de caracteres aleatórios para dificultar ataques de dicionário ou por força bruta. A senha que o usuário digitou para se conectar ao banco é criptografada e então comparada com o código secreto armazenado no banco de dados. Em determinadas situações, a senha digitada e o valor esperado são considerados iguais mesmo quando não são, permitindo o acesso.

Alguém está acessando um banco de dados sem autorização neste exato momento.

Com a falha na autenticação, qualquer pessoa que saiba algum nome de usuário registrado no servidor pode obter acesso, inclusive como root, com privilégios de exclusão dos bancos de dados. A probabilidade do acesso ser concedido sem autorização é de uma entre 256 tentativas, uma porcentagem relativamente baixa, graças ao sistema de caracteres aleatórios do MySQL. O problema é que centenas de tentativas de acesso podem ser feitas numa fração de segundo com um código simples em Shell Script, então o bug pode trazer grandes dores de cabeça para administradores de sistema.

A vulnerabilidade está presente nas versões 5.1.61, 5.2.11, 5.3.5, 5.5.22 e anteriores do MySQL e do MariaDB. Servidores de 64 bits com as distribuições Ubuntu, Arch Linux, openSUSE 12.1 e Fedora 16 contêm versões vulneráveis. A falha de segurança já foi corrigida em versões mais novas. Um desenvolvedor da Accuvant Labs desenvolveu um pequeno script para testar se o seu servidor é vulnerável, disponível neste link.

Com informações: Softpedia.

Comentários

Envie uma pergunta

Os mais notáveis

Comentários com a maior pontuação

Ruben Zevallos Jr.
Pois é, meus servidores são CentOS 6.2 e estão sempre atualizados. Também uso as regras abaixo nos meus projetos. http://informatica.com.br/profiles/blogs/usando-o-htaccess-parte-2-seguranca
_ednascimento
Exemplos?
_ednascimento
Ou pode executar pelo g++, que ai não precisa mudar a extensão. A extensão cpp é de C++, por isso dá galho no gcc. Mas os três includes precisam sim! Valeu ae pela dica.
Jiraya-sama
Usem o mongodb
Thiago
Opa, falhou ali os caracteres: #include time.h #include string.h #include unistd.h
Thiago
Pra conseguir rodar o script de teste tive que adicionar três includes, pois tava dando erro na compilação: pastie-4064638.cpp:14: error: 'time' was not declared in this scope pastie-4064638.cpp:17: error: 'getpid' was not declared in this scope pastie-4064638.cpp:21: error: 'memcmp' was not declared in this scope Adicionei as três linhas: #include #include #include E foi necessário mudar a extensão do arquivo de .cpp para .c: mv pastie-4064638.cpp pastie-4064638.c Depois compilar conforme o @lamas disse: gcc pastie-4064638.c -o pastie-4064638
Jose
Fatos reais!
jardileno
vish
paulorazia
Como dizem no facebook: TENSO !
Diego Rocha
No meu caso, instalei pelo apt-get Ubuntu Server e está vunerável, vou analisar os logs para ver se foi explorada no meu servidor.
Thiago Leite
Os DBA pira!
@xrenan
Baseado em?
Andre
MySQL e segurança nunca se entenderam.
@claudioogarcia
Complementando: ============= Don’t worry!! Se você usa cpanel execute no terminal: /scripts/mysqlup ou ainda no whm siga o caminho: WHM: Main >> Software >> MySQL Upgrade Obs: isso serve apenas para root! Ao executar /scripts/mysqlup você atualizará para a versão MySQL-server-5.1.63-0.cloud (não vulnerável segundo a http://seclists.org) http://seclists.org/oss-sec/2012/q2/493
@lamas
Você precisa ter acesso SSH e permissão para utilizar os compiladores. Se tiver, salve o código (http://pastie.org/pastes/4064638/download) e compile com o comando: gcc pastie-4064638.cpp -o pastie-4064638 Depois é só executar com o comando ./pastie-4064638
Exibir mais comentários