A falha está no processo de transferência de ficheiro entre um cliente e um servidor MySQL, e pode ser explorada através de um servidor MySQL desconhecido para aceder a qualquer tipo de dados.
O problema está diretamente relacionado com o comando LOAD DATA usado com o modificador LOCAL. O primeiro comando pode carregar um ficheiro localizado no servidor e, caso a palavra LOCAL seja usada no pedido, no host do cliente.
A transferência do ficheiro do host do cliente ao host do servidor de MySQL é iniciada pelo servidor.
O cliente irá receber pedidos de transferência de ficheiro por parte do servidor de MySQL com base na informação fornecida pelo comando LOAD DATA. Depois o servidor desconhecido pode enviar um comando local LOAD DATA LOCAL ao cliente para aceder a qualquer tipo de ficheiro para o qual o cliente tem permissão de leitura.
Este problema afeta também servidores web que agem como clientes conetados ao servidor MySQL, e neste caso o atacante pode explorar a vulnerabilidade para roubar ficheiros sensíveis, incluindo o ficheiro etc/passwd. O atacante consegue aceder ao ficheiro através do full path, podendo essa informação ser obtida a partir do ficheiro “/proc/self/environ" , que fornece uma variável ambiente ao processo corrente.
O Adminer, por ser uma ferramenta popular de PHP para administrar bases de dados MySQL e PostgreSQL, pode ser também usada para aceder a qualquer tipo de ficheiros, e os atacantes podem servir-se deste vetor de ataque para roubar passwords de apps populares como o Magento e Wordpress e conseguir o controlo da base de dados de um site.
Solução para o problema
Atualizar para a versão mais recente: 4.7.0.
Proteger as ferramentas de base de dados através de uma password adicional e/ou filtragem de IP.
Mais informações aqui: https://gwillem.gitlab.io/2019/01/17/adminer-4.6.2-file-disclosure-vulnerability/
Documentação oficial do MySQL: https://dev.mysql.com/doc/