75 mil sites WordPress afetados por falhas críticas de plugins de cursos online

75 mil sites WordPress afetados por falhas críticas de plugins de cursos online
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.
Compartilhe

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.

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.

Versões do LearnPress em instalações ativas
Versões do LearnPress em instalações ativas (WordPress)

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.

Detalhes da vulnerabilidade

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.

Exemplo de injeção SQL
Exemplo de injeção de SQL (PatchStack)

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.