Vulnerabilidade encontrada no plugin WordPress Gutenberg?

Publicados: 2022-08-03

O Banco de Dados Nacional de Vulnerabilidades do governo dos Estados Unidos publicou uma notificação de uma vulnerabilidade descoberta no plug-in oficial do WordPress Gutenberg. Mas, de acordo com a pessoa que o encontrou, o WordPress não reconheceu que é uma vulnerabilidade.

Vulnerabilidade de script entre sites armazenado (XSS)

XSS é um tipo de vulnerabilidade que acontece quando alguém pode fazer upload de algo como um script que normalmente não seria permitido por meio de um formulário ou outro método.

A maioria dos formulários e outras entradas do site validarão que o que está sendo atualizado é esperado e filtrará arquivos perigosos.

Um exemplo é um formulário para carregar uma imagem que não bloqueia um invasor de carregar um script malicioso.

De acordo com o Open Web Application Security Project, uma organização sem fins lucrativos focada em ajudar a melhorar a segurança de software, é isso que pode acontecer com um ataque XSS bem-sucedido:

“Um invasor pode usar o XSS para enviar um script malicioso a um usuário desavisado.

O navegador do usuário final não tem como saber que o script não deve ser confiável e executará o script.

Por achar que o script veio de uma fonte confiável, o script malicioso pode acessar quaisquer cookies, tokens de sessão ou outras informações confidenciais retidas pelo navegador e usadas com esse site.

Esses scripts podem até reescrever o conteúdo da página HTML.”

Vulnerabilidades e exposições comuns - CVE

Uma organização chamada CVE serve como uma forma de documentar vulnerabilidades e divulgar as descobertas ao público.

A organização, apoiada pelo Departamento de Segurança Interna dos EUA, examina as descobertas de vulnerabilidades e, se aceita, atribuirá à vulnerabilidade um número CVE que serve como o número de identificação dessa vulnerabilidade específica.

Descoberta de vulnerabilidade em Gutenberg

A pesquisa de segurança descobriu o que se acreditava ser uma vulnerabilidade. A descoberta foi submetida ao CVE, e a descoberta foi aprovada e atribuída a um número de ID CVE, tornando a descoberta uma vulnerabilidade oficial.

A vulnerabilidade XSS recebeu o número de identificação CVE-2022-33994.

O relatório de vulnerabilidade publicado no site CVE contém esta descrição:

“O plug-in Gutenberg até a versão 13.7.3 para WordPress permite XSS armazenado pela função de Contribuidor por meio de um documento SVG para o recurso “Inserir da URL”.

NOTA: o payload XSS não é executado no contexto do domínio da instância do WordPress; no entanto, tentativas análogas de usuários com poucos privilégios de fazer referência a documentos SVG são bloqueadas por alguns produtos semelhantes, e essa diferença comportamental pode ter relevância de segurança para alguns administradores de sites WordPress.”

Isso significa que alguém com privilégios de nível de Colaborador pode fazer com que um arquivo malicioso seja inserido no site.

A maneira de fazer isso é inserindo a imagem por meio de uma URL.

Em Gutenberg, existem três maneiras de fazer upload de uma imagem.

  1. Carregar
  2. Escolha uma imagem existente do WordPress Media Library
  3. Insira a imagem de um URL

Esse último método é de onde vem a vulnerabilidade porque, de acordo com o pesquisador de segurança, é possível fazer upload de uma imagem com qualquer nome de arquivo de extensão para o WordPress por meio de uma URL, o que o recurso de upload não permite.

É realmente uma vulnerabilidade?

O pesquisador relatou a vulnerabilidade ao WordPress. Mas de acordo com a pessoa que o descobriu, o WordPress não o reconheceu como uma vulnerabilidade.

Assim escreveu o pesquisador:

“Encontrei uma vulnerabilidade de script entre sites armazenados no WordPress que foi rejeitada e rotulada como informativa pela equipe do WordPress.

Hoje é o 45º dia desde que relatei a vulnerabilidade e, no entanto, a vulnerabilidade não foi corrigida até o momento em que escrevo isso…”

Portanto, parece que há uma questão sobre se o WordPress está certo e a fundação CVE apoiada pelo governo dos EUA está errada (ou vice-versa) sobre se esta é uma vulnerabilidade XSS.

O pesquisador insiste que esta é uma vulnerabilidade real e oferece a aceitação do CVE para validar essa afirmação.

Além disso, o pesquisador insinua ou sugere que a situação em que o plugin WordPress Gutenberg permite o upload de imagens via URL pode não ser uma boa prática, lembrando que outras empresas não permitem esse tipo de upload.

“Se é assim, então me diga por que… …empresas como Google e Slack chegaram ao ponto de validar arquivos que são carregados em um URL e rejeitar os arquivos se forem considerados SVG!

…Google e Slack… não permitem que arquivos SVG sejam carregados em um URL, o que o WordPress faz!”

O que fazer?

O WordPress não emitiu uma correção para a vulnerabilidade porque eles parecem não acreditar que é uma vulnerabilidade ou que apresenta um problema.

O relatório oficial de vulnerabilidade afirma que as versões do Gutenberg até 13.7.3 contêm a vulnerabilidade.

Mas 13.7.3 é a versão mais atual.

De acordo com o changelog oficial do WordPress Gutenberg que registra todas as alterações anteriores e também publica uma descrição de alterações futuras, não houve correções para essa (suposta) vulnerabilidade e não há nenhuma planejada.

Portanto, a questão é se há ou não algo para corrigir.

Citações

Relatório do Banco de Dados de Vulnerabilidades do Governo dos EUA sobre a Vulnerabilidade

CVE-2022-33994 Detalhe

Relatório Publicado no Site Oficial da CVE

CVE-2022-33994 Detalhe

Leia as conclusões do pesquisador

CVE-2022-33994:- XSS armazenado no WordPress


Imagem em destaque por Shutterstock/Kues