Um especialista de segurança de Israel explicou que a falha CVE-2018-6389 é um DoS ao nível aplicacional e que afeta o CMS WordPress e que poderia ser explorado por um atacante sem a necessidade de uma grande quantidade de tráfego malicioso.
“In this article I am going to explain how Denial of Service can easily be caused to almost any WordPress website online, and how you can patch your WordPress website in order to avoid this vulnerability being exploited.” reads the analysis of the expert.
Tahily revelou que a falha existe em quase todas as versões do WordPress lançadas nos últimos nove anos, incluindo a última versão (Versão 4.9.2). A falha afeta o script “load-scripts.php” doWordPress, ele recebe um parâmetro chamado load [] com valor ‘jquery-ui-core‘. Na resposta, o CMS fornece o módulo JS ‘jQuery UI Core‘ que foi solicitado.
O WordPress é um projeto de código aberto, por esse motivo, foi fácil para o especialista realizar revisão de código e analisar o recurso em detalhe.
O arquivo load-scripts.php foi desenhado para acesso exclusivo dos administradores do WordPress e permite carregar vários arquivos JavaScript em um único pedido, mas o especialista percebeu que é possível chamar a função antes do login, permitindo que alguém a invoque.
O ficheiro ‘load-scripts.php’ agrega os arquivos JavaScript incluídos na URL e anexa o seu conteúdo em um único arquivo e, em seguida, envia-o para o web-browser do utilizador.
“There is a well-defined list ($wp_scripts), that can be requested by users as part of the load[] parameter. If the requested value exists, the server will perform an I/O read action for a well-defined path associated with the supplied value from the user.”
“I wondered what would happen if I sent the server a request to supply me every JS module that it stored? A single request would cause the server to perform 181 I/O actions and provide the file contents in the response.”
Tawily, desenvolveu uma prova de conceito em python chamada doser.py que tem o objetivo de “saturar” os recursos dos servidores.
O investigador avisou a equipa do WordPress relativamente à vulnerabilidade através da plataforma HackerOne, mas a empresa se recusou a reconhecer a falha.
“After going back and forth about it a few times and my trying to explain and provide a PoC, they refused to acknowledge it and claimed that:
“This kind of thing should really be mitigated at the server or network level rather than the application level, which is outside of WordPress’s control.“” Tawily wrote.