Apesar de correções já terem sidos publicadas na versão 4.2.0, as falhas críticas no plugin LearnPress afetam 75 mil sites WordPress.
O LearnPress é um plug-in do sistema de gerenciamento de aprendizado (LMS) que permite que os sites WordPress criem e vendam facilmente cursos, lições e questionários on-line, fornecendo aos visitantes uma interface amigável, sem exigir conhecimento de codificação do desenvolvedor do site.
O plug-in do curso on-line do WordPress ‘LearnPress’ era vulnerável a várias falhas de gravidade crítica, incluindo injeção de SQL pré-autenticação e inclusão de arquivo local.
As vulnerabilidades no plug-in, usado em mais de 100.000 sites ativos, foram descobertas pelo PatchStack entre 30 de novembro e 2 de dezembro de 2022 e relatadas ao fornecedor do software.
Os problemas foram corrigidos em 20 de dezembro de 2022, com o lançamento do LearnPress versão 4.2.0. No entanto, de acordo com as estatísticas do WordPress.org, apenas cerca de 25% aplicaram a atualização.
Isso significa que cerca de 75.000 sites podem estar usando uma versão vulnerável do LearnPress, expondo-se a graves falhas de segurança, cuja exploração pode ter sérias repercussões.
Falhas críticas no plugin LearnPress afetam 75 mil sites WordPress
A primeira vulnerabilidade descoberta pelo PatchStack é a CVE-2022-47615, uma falha de inclusão de arquivo local não autenticado (LFI) que permite que invasores exibam o conteúdo de arquivos locais armazenados no servidor da web.
Isso pode expor credenciais, tokens de autorização e chaves de API, levando a um maior comprometimento.
A vulnerabilidade é encontrada em um trecho de código que lida com requisições de API para o site, localizado na função “list_courses”, que não valida certas variáveis ($template_pagination_path, $template_path e $template_path_item) corretamente.
Um invasor pode explorar o CVE-2022-47615 enviando uma solicitação de API especialmente criada e usando valores maliciosos para as três variáveis.
A segunda falha crítica é o CVE-2022-45808, uma injeção SQL não autenticada que pode levar à divulgação de informações confidenciais, modificação de dados e execução arbitrária de código.
Essa vulnerabilidade está em uma função que manipula consultas SQL para o site, que não limpa e valida corretamente a variável “$filter” nos parâmetros da consulta, permitindo que um invasor insira um código malicioso nela.
A terceira falha que afeta as versões mais antigas do LearnPress é CVE-2022-45820, uma falha de injeção SQL autenticada em dois shortcodes do plug-in (“learn_press_recent_courses” e “learn_press_featured_courses”) falhando em validar e higienizar adequadamente a entrada da variável “$args”.
O PatchStack forneceu uma exploração de prova de conceito mostrando como um usuário ‘Contributor’ poderia acionar a injeção de SQL usando um shortcode especialmente criado em uma postagem rascunhada.
Essa vulnerabilidade precisa ser executada por um usuário com a capacidade de editar ou criar uma nova postagem no blog, limitando o risco da falha.
O fornecedor corrigiu os problemas acima introduzindo uma lista de permissões e sanitização das variáveis vulneráveis ou removendo a capacidade de incluir modelos na entrada do usuário.
Proprietários de sites que dependem do LearnPress são aconselhados a atualizar para a versão 4.2.0 ou desabilitar o plug-in até que possam aplicar a atualização de segurança disponível.