O Wordfence divulgou em 14 de outubro de 2026 uma falha no Ocean Extra, o plugin complementar do tema OceanWP: até a versão 2.6.0, um visitante sem conta podia fazer o site executar shortcodes arbitrários (CVE-2026-86803). A correção, a versão 2.6.1, está disponível desde 10 de setembro, mais de um mês antes do anúncio. Se você administra um site OceanWP, veja como verificar a sua versão, avaliar a sua exposição real e conferir se não houve abuso.
O que aconteceu
A falha foi descoberta em 28 de junho de 2026 por um pesquisador que assina hashiramasenju333, segundo a cronologia do registro CVE publicado pelo Wordfence, autoridade de numeração (CNA) para esta CVE. O Wordfence avisou a OceanWP em 8 de setembro às 14h56 (horário de Paris). Dois dias depois, em 10 de setembro às 11h35, a versão 2.6.1 do Ocean Extra era publicada no wordpress.org com uma única linha no registro de alterações, “Potential vulnerability patched”, que remete a um relatório do Wordfence de 8 de setembro.
Nada mais vazou durante cinco semanas. Em 14 de outubro às 18h43, o Wordfence publicou a sua ficha, intitulada “Ocean Extra <= 2.6.0 - Unauthenticated Arbitrary Shortcode Execution via 'oceanwp_library' Shortcode Template”. A Patchstack e o WPScan a registraram no mesmo dia, e o registro CVE e depois a base NVD do NIST vieram na manhã de 15 de outubro. No mesmo dia, o enriquecimento publicado pela CISA (programa Vulnrichment) indicava exploração “none”, mas um ataque “automatable”, ou seja, automatizável em grande escala.

Até 19 de outubro, nenhuma fonte reconhecida documenta ataques: nem o Wordfence, nem a Patchstack, nem o WPScan, nem o catálogo KEV da CISA. O site alemão Dr. Web, que cobriu a falha em 15 de outubro, também não relatava nenhum ataque conhecido.
Por que uma correção anterior ao anúncio muda o cenário
Esse intervalo de 34 dias é proposital: os pesquisadores dão aos usuários tempo para atualizar antes de publicar os detalhes. Ele tem três consequências práticas.
- Os sites com atualização automática de plugins ativada estão protegidos desde 10 ou 11 de setembro, sem precisar fazer nada.
- Durante essas cinco semanas, a menção “Potential vulnerability patched” não dizia nem a gravidade nem a ausência de autenticação: um administrador que escolhe as atualizações manualmente não tinha motivo para ter pressa. As bases de vulnerabilidades, e portanto as ferramentas de alerta que dependem delas, ainda não conheciam a falha.
- Desde 14 de outubro, a situação se inverteu: a ficha pública e a correção, que pode ser consultada no repositório Subversion do wordpress.org, indicam exatamente onde procurar. Os sites que ficaram na 2.6.0 ou anterior agora são os alvos óbvios.
Quem é afetado
O Ocean Extra é o plugin gratuito que acrescenta ao tema OceanWP a biblioteca de modelos “My Library”, configurações por página, widgets, a importação de demos e vários shortcodes. Ele tem mais de 400.000 instalações ativas (wordpress.org). Todas as versões até a 2.6.0, inclusive, são afetadas; a 2.6.1 corrige a falha. A versão mais recente em 19 de outubro é a 2.6.3, lançada em 13 de outubro.
| Item | CVE-2026-86803 |
|---|---|
| Plugin | Ocean Extra (wordpress.org, slug ocean-extra) |
| Versões afetadas | até a 2.6.0, inclusive |
| Corrigida na | 2.6.1 (10 de setembro de 2026); última versão 2.6.3 |
| Conta exigida | Nenhuma |
| Tipo | Execução de shortcodes arbitrários (CWE-94, injeção de código) |
| CVSS 3.1 | 6,5, média (Wordfence, adotada pela NVD e pelo WPScan); 5,3 segundo a Patchstack |
| Exploração | Nenhuma documentada até 19 de outubro de 2026 |
| Descoberta | hashiramasenju333, via Wordfence |
Os rótulos divergem. A Patchstack classifica a falha como “execução de código arbitrário”, embora lhe dê prioridade baixa, e alguns agregadores falam em execução remota de código. A descrição do Wordfence é mais precisa: o que é executado são shortcodes, não código PHP escolhido pelo atacante. A gravidade real depende, portanto, dos shortcodes instalados no seu site.
Nem todas as instalações estão expostas da mesma forma. Segundo a correção, só está em jogo o caso de um modelo “My Library” criado com o editor de blocos; os modelos feitos com Elementor, Beaver Builder ou SiteOrigin passam por outro caminho no código. Atualize em todos os casos.
Um ponto de atenção para o futuro: o WPScan e o Wordfence também listam, desde 23 de setembro, um XSS armazenado explorável por um colaborador e corrigido na 2.6.2, enquanto a Patchstack retirou em 1º de outubro o identificador CVE que havia atribuído a ele (CVE-2026-94684), classificando-o como falso positivo. Ir direto para a 2.6.3 resolve a questão.
Como a falha funcionava
Um shortcode é um código entre colchetes, como , que o WordPress substitui por conteúdo. É uma ferramenta de administrador: o WordPress não interpreta os shortcodes escritos pelos visitantes, por exemplo em um comentário. O Ocean Extra fornece o shortcode [oceanwp_library id="…"], que exibe um modelo da biblioteca “My Library” (cabeçalho, rodapé, bloco reutilizável).
O Wordfence descreve a causa em uma frase: uma action “não valida corretamente um valor antes de chamar do_shortcode”. A correção publicada no repositório do wordpress.org é mais reveladora. Até a 2.6.0, para um modelo criado com o editor de blocos, o Ocean Extra primeiro calculava os blocos (função do_blocks) e depois passava todo o resultado por do_shortcode. Acontece que alguns blocos são dinâmicos: o conteúdo deles é gerado na exibição e pode conter texto vindo de fora. O comentário acrescentado na correção cita os comentários como exemplo. Um visitante que inserisse um shortcode nesse tipo de texto o via interpretado na segunda passagem, com as permissões do site.

A versão 2.6.1 inverte a ordem: os shortcodes do modelo salvo são processados primeiro, depois os blocos são renderizados, e o resultado não passa mais por do_shortcode. O que um atacante pode obter depende dos shortcodes disponíveis: exibir um conteúdo que não deveria aparecer, disparar uma função de outro plugin, injetar conteúdo na página. Isso explica a nota CVSS: impacto baixo na confidencialidade e na integridade, nenhum na disponibilidade, mas sem autenticação nem interação necessárias.
É a segunda execução de shortcodes sem conta no Ocean Extra, depois da CVE-2025-3472 (versão 2.4.6, abril de 2025, que exigia o WooCommerce ativo), e a segunda falha envolvendo o shortcode oceanwp_library, depois de um XSS por colaborador em agosto de 2025 (CVE-2025-9499). Veja o histórico completo das falhas do OceanWP e do Ocean Extra.
Indicadores e verificações no seu site
Nenhum alerta publicado traz indicadores de comprometimento (endereço IP, arquivo, usuário ou requisição típica). As verificações abaixo servem para medir a sua exposição e identificar rastros plausíveis; elas não substituem um diagnóstico completo. Comece pela versão instalada:
wp plugin list --name=ocean-extra --fields=name,version,status,update
wp plugin verify-checksums ocean-extra
Em seguida, liste os modelos da biblioteca e os shortcodes registrados no site, para saber o que um atacante poderia ter chamado:
wp post list --post_type=oceanwp_library --fields=ID,post_title,post_status,post_modified
wp eval 'echo implode( "\n", array_keys( $GLOBALS["shortcode_tags"] ) );'
Depois, procure comentários recentes que contenham um colchete de abertura, possível sinal de tentativa (ajuste o prefixo wp_ das suas tabelas):
wp db query "SELECT comment_ID, comment_date, comment_author_IP, comment_approved, LEFT(comment_content, 120) FROM wp_comments WHERE comment_content LIKE '%[%' AND comment_date > '2026-06-01' ORDER BY comment_date DESC"
Por fim, as verificações de praxe em caso de dúvida:
wp user list --role=administrator --fields=ID,user_login,user_email,user_registered: nenhum administrador desconhecido;wp core verify-checksums: arquivos do núcleo intactos;find wp-content -name "*.php" -mtime -45: arquivos PHP modificados desde o início de setembro, a justificar um por um;- nos logs do servidor, requisições repetidas para as páginas que exibem um modelo “My Library”, ou envios de comentários em rajada a partir de um mesmo endereço.
O que fazer agora
- Atualize o Ocean Extra para a 2.6.3, a última versão em 19 de outubro (no mínimo para a 2.6.1), em Painel → Atualizações ou com
wp plugin update ocean-extra. - Se o plugin está instalado mas não é usado, desative-o e depois exclua-o: os arquivos dele continuam atacáveis enquanto estiverem no servidor.
- Se você não puder atualizar imediatamente, retire temporariamente da exibição os modelos “My Library” criados com o editor de blocos que contêm blocos dinâmicos, e coloque os novos comentários em moderação.
- Se as verificações revelarem um abuso (administrador desconhecido, arquivo PHP suspeito), troque as senhas dos administradores, renove as chaves de segurança do wp-config.php, revogue as senhas de aplicativo e depois restaure um backup limpo. O guia de limpeza de um site WordPress invadido detalha as etapas.
Reduzir a exposição da próxima vez
Este caso ilustra uma situação frequente: a correção existe antes que alguém saiba que ela é urgente. A melhor defesa, portanto, é aplicar as atualizações de segurança sem esperar o anúncio. As atualizações automáticas dos plugins teriam protegido esses sites desde setembro. Para os sites em que você prefere aprovar cada atualização, um monitoramento de vulnerabilidades assume no momento da divulgação, e uma visão geral das atualizações pendentes evita que um site esquecido fique semanas atrasado. Limite também as funções e as contas ao estritamente necessário (princípio do menor privilégio), mantenha backups testados e considere um firewall de aplicação com correções virtuais para cobrir o intervalo entre o anúncio e a atualização.
O WP Masquerade Pro pode ajudar em parte desse trabalho, sem substituí-lo. Os seus alertas de vulnerabilidades comparam todos os dias as versões instaladas dos plugins e temas do wordpress.org, entre eles o Ocean Extra, com a base pública WPVulnerability.net, e avisam por e-mail. Eles não teriam sinalizado nada antes de 14 de outubro: enquanto uma falha não é publicada, nenhuma base a conhece.
O registro de atividades dos administradores mostra uma conta criada ou um plugin instalado de forma inesperada, a partir da sua ativação e apenas para o que passa pelo WordPress, e a verificação de integridade só confere os arquivos do núcleo, não os do Ocean Extra. As atualizações pendentes e os sites vulneráveis de todos os seus sites aparecem na sua área de membros. O plugin alerta: ele não corrige nada e não é um firewall.
Para lembrar
- CVE-2026-86803: execução de shortcodes sem conta no Ocean Extra até a 2.6.0, CVSS 6,5 segundo o Wordfence.
- Corrigida na 2.6.1 em 10 de setembro de 2026, divulgada em 14 de outubro: os sites com atualização automática já estavam protegidos.
- Só os modelos “My Library” criados com o editor de blocos estão em jogo, segundo a correção.
- Nenhuma exploração documentada até 19 de outubro; atualize para a 2.6.3 e verifique administradores e arquivos recentes.
Fontes
- CVE.org: CVE-2026-86803, Ocean Extra 2.6.0 e versões anteriores (15 de outubro de 2026) (link externo, abre em uma nova aba)
- WordPress.org Plugin Trac: changeset 3689650, ocean-extra/includes/panel/library-shortcode.php (10 de setembro de 2026) (link externo, abre em uma nova aba)
- CVE.org: CVE-2026-94684, identificador rejeitado pela Patchstack (1º de outubro de 2026) (link externo, abre em uma nova aba)
- NVD: CVE-2025-3472, Ocean Extra 2.4.6 e versões anteriores (22 de abril de 2025) (link externo, abre em uma nova aba)
Outras fontes consultadas: outros registros CVE, páginas oficiais dos fornecedores, artigos da imprensa especializada, bancos de dados Wordfence, WPScan e Patchstack.


