proof of concept / laboratório

CVE-2025-15285

PoC interativa em Python para demonstrar o problema de autorização no SEO Flow by LupsOnline ≤ 2.2.1.

A PoC foi montada para reproduzir os quatro caminhos afetados que validei no código da versão 2.2.1. Ela usa um HMAC deliberadamente inválido, não envia sessão WordPress e exige confirmação antes de cada ação que altera o estado do laboratório.

PoC da CVE-2025-15285 criando um post com HMAC inválido em um laboratório WordPress

Execução da PoC no laboratório svg.test. Clique na imagem para ampliar.

Casos demonstrados

CASE 1 — POST /blog addBlog() → checkBlogAuthentication() → erro ignorado → wp_insert_post() CASE 2 — PUT /blog changeBlog() → checkBlogAuthentication() → erro ignorado → wp_update_post() CASE 3 — DELETE /blog deleteBlog() → checkBlogAuthentication() → erro ignorado → wp_delete_post() CASE 4 — POST /category addCategory() → checkCategoryAuthentication() → erro ignorado → wp_insert_term()

Como usei no laboratório

python cve_2025_15285_interactive.py interactive http://svg.test

Primeiro a ferramenta cria um post de teste e retorna o pageId e a URL da página. Depois ela para em um menu e deixa cada etapa seguinte sob controle manual: modificar o próprio post, excluí-lo ou criar uma categoria de teste.

Código Python

O código completo da PoC está abaixo. Você pode copiar tudo com um clique ou abrir o arquivo .py diretamente.

abrir .py →
carregando código...

O que a PoC comprova

O teste usa deadbeef como hash propositalmente incorreto. A função de autenticação detecta que o valor não corresponde ao HMAC esperado e retorna um erro, mas os callbacks vulneráveis ignoram esse retorno e continuam até os sinks do WordPress.

PoC destinada a ambientes próprios ou explicitamente autorizados.

← voltar para PoCs