Categories
Segurança WordPress

Em agosto de 2023, a equipe do Wordfence Threat Intelligence identificou e iniciou o processo de divulgação responsável de uma vulnerabilidade de Cross-Site Scripting (XSS) armazenada no plugin LiteSpeed ​​Cache , que está instalado ativamente em mais de 4.000.000 de sites WordPress, tornando-o o mais popular. plug-in de cache. 

A vulnerabilidade permite que agentes de ameaças com permissões de nível de contribuidor ou superior injetem scripts da web maliciosos em páginas usando o shortcode do plug-in.

Todos os clientes Wordfence PremiumWordfence CareWordfence Response , bem como aqueles que ainda usam a versão gratuita do  plugin, estão protegidos contra quaisquer explorações direcionadas a esta vulnerabilidade pela proteção integrada de Cross-Site Scripting do firewall Wordfence.

Entramos em contato com a equipe LiteSpeed ​​Cache em 14 de agosto de 2023 e recebemos uma resposta no mesmo dia. Depois de fornecer detalhes completos de divulgação, a equipe de desenvolvedores fez um patch em 16 de agosto de 2023 e o lançou no repositório WordPress em 10 de outubro de 2023. Gostaríamos de elogiar a LiteSpeed ​​Technologies por sua resposta rápida e patch oportuno.

Recomendamos aos usuários que atualizem seus sites com a versão corrigida mais recente do LiteSpeed ​​Cache, versão 5.7 no momento da redação deste artigo, o mais rápido possível.

Resumo de vulnerabilidade do Wordfence Intelligence

Descrição: LiteSpeed ​​​​Cache <= 5.6 – Scripting entre sites autenticado (Contributor +) armazenado por meio de shortcode Plug-in

afetado: LiteSpeed ​​Cache

Plugin Slug: litespeed-cache

Versões afetadas: <= 5.6

CVE ID: CVE-2023-4372

Pontuação CVSS: 6.4 (Médio )

Vetor CVSS: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N Pesquisador/es: Códigos Lana Versão

totalmente corrigida: 5.7

O plug-in LiteSpeed ​​​​Cache para WordPress é vulnerável a scripts entre sites armazenados por meio do shortcode ‘esi’ em versões até 5.6 inclusive devido à limpeza insuficiente de entrada e escape de saída em atributos fornecidos pelo usuário. Isso possibilita que invasores autenticados com permissões de nível de contribuidor e superiores injetem scripts da web arbitrários em páginas que serão executadas sempre que um usuário acessar uma página injetada.

Análise técnica

O LiteSpeed ​​​​Cache é um plugin de aceleração de site com cache e otimização em nível de servidor. Ele fornece um shortcode ( [esi]) que pode ser usado para armazenar blocos em cache com a tecnologia Edge Side Inclui quando adicionado a uma página do WordPress, se o ESI tiver sido previamente habilitado nas configurações.

Infelizmente, a implementação insegura da funcionalidade shortcode do plugin permite a injeção de scripts web arbitrários nessas páginas. O exame do código vulnerável revela que o método shortcode na classe ESI não limpa adequadamente a entrada de ‘cache’ fornecida pelo usuário e, em seguida, não consegue escapar da saída de ‘controle’ derivada do parâmetro ‘cache’ quando constrói o bloco ESI. Isso torna possível injetar cargas úteis de Cross-Site Scripting baseadas em atributos por meio do atributo ‘cache’.

200

201

202

203

204

205

206

207

208

209

210

211

212

213

214

215

216

217

218

219

220

221

public function shortcode( $atts ) {

    if ( empty( $atts[ 0 ] ) ) {

        Debug2::debug( ‘[ESI] ===shortcode wrong format’, $atts );

        return ‘Wrong shortcode esi format’;

    }

 

    $cache = ‘public,no-vary’;

    if ( ! empty( $atts[ ‘cache’ ] ) ) {

        $cache = $atts[ ‘cache’ ];

        unset( $atts[ ‘cache’ ] );

    }

 

    $silence = false;

    if ( ! empty( $atts[ ‘_ls_silence’ ] ) ) {

        $silence = true;

    }

 

    do_action( ‘litespeed_esi_shortcode-‘ . $atts[ 0 ] );

 

    // Show ESI link

    return $this->sub_esi_block( ‘esi’, ‘esi-shortcode’, $atts, $cache, $silence );

}

O método shortcode na classe ESI

420

421

422

423

public function sub_esi_block( $block_id, $wrapper, $params = array(), $control = ‘private,no-vary’, $silence = false, $preserved = false, $svar = false, $inline_param = array() ) {

    if ( empty($block_id) || ! is_array($params) || preg_match(‘/[^\w-]/’, $block_id) ) {

        return false;

    }

 

478

479

480

481

$output .= “<esi:include src=’$url'”;

if ( ! empty( $control ) ) {

    $output .= ” cache-control=’$control'”;

}

O trecho do método sub_esi_block na classe ESI

Isso possibilita que os agentes de ameaças realizem ataques XSS armazenados. Depois que um script é injetado em uma página ou postagem, ele será executado sempre que um usuário acessar a página afetada. Embora esta vulnerabilidade exija que uma conta de contribuidor confiável seja comprometida ou que um usuário seja capaz de se registrar como contribuidor, os agentes de ameaças bem-sucedidos podem roubar informações confidenciais, manipular o conteúdo do site, injetar usuários administrativos, editar arquivos ou redirecionar usuários para sites maliciosos que são todas consequências graves.

Possibilidades de exploração de shortcode

As versões anteriores do WordPress continham uma vulnerabilidade que permitia que códigos de acesso fornecidos por comentaristas não autenticados fossem renderizados em determinadas configurações. Isso tornaria possível que invasores não autenticados explorassem essa vulnerabilidade de Cross-Site Scripting em instalações vulneráveis. 

Felizmente, porém, a grande maioria dos sites foi atualizada automaticamente para uma versão corrigida do WordPress no momento em que este texto foi escrito, o que significa que a maioria dos proprietários de sites não precisa se preocupar com isso. Ainda recomendamos fortemente verificar se o seu site foi atualizado para uma das versões corrigidas do núcleo do WordPress encontradas aqui.

Cronograma de divulgação

14 de agosto de 2023 – A equipe do Wordfence Threat Intelligence descobre a vulnerabilidade XSS armazenada no LiteSpeed ​​Cache.
14 de agosto de 2023 – Inicia-se contato com o fornecedor do plugin solicitando que ele confirme a caixa de entrada para tratamento da discussão.
14 de agosto de 2023 – O fornecedor confirma a caixa de entrada para tratar da discussão.
14 de agosto de 2023 – Os detalhes completos da divulgação foram enviados. O fornecedor reconhece o relatório e começa a trabalhar em uma correção.
16 de agosto de 2023 – O fornecedor fez o patch e nos enviou o commit do GitHub.
10 de outubro de 2023 – A versão totalmente corrigida, 5.7, é lançada.

Incentivamos os usuários do WordPress a verificar se seus sites estão atualizados para a versão corrigida mais recente do LiteSpeed ​​Cache.

Todos os usuários do Wordfence, incluindo aqueles que executam o Wordfence PremiumWordfence CareWordfence Response , bem como sites que ainda executam a versão gratuita do Wordfence, estão totalmente protegidos contra esta vulnerabilidade.

Se você conhece alguém que usa este plug-in em seu site, recomendamos compartilhar este aviso com essa pessoa para garantir que seu site permaneça seguro, pois essa vulnerabilidade representa um risco significativo.

Para pesquisadores de segurança que desejam divulgar vulnerabilidades de maneira responsável e obter um ID CVE, você pode  enviar suas descobertas para o Wordfence Intelligence  e potencialmente ganhar um lugar em nossa  tabela de classificação .

Fonte:https://www.wordfence.com/

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Calendário

abril 2024
STQQSSD
1234567
891011121314
15161718192021
22232425262728
2930 

Categorias

Comentários