Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2026-39275 — CVE-2026-39275 - XSS armazenado levando à tomada de conta no Cockpit CMS | Kitploit
Ferramentas/GitHubGitHub/securify-ai/cve-2026-39275
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebSegurança WebTestes de PenetraçãoAprendizado e Educação
GitHubsecurify-ai/cve-2026-39275

CVE-2026-39275

CVE-2026-39275 - XSS armazenado levando à tomada de conta no Cockpit CMS

Ver Repositório
13há 2 mesesAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

CVE-2026-39275 - XSS Armazenado Levando a Tomada de Conta no Cockpit CMS

CVE CWE-79 Severity CVSS

Nota: Divulgado de forma responsável e corrigido pelos mantenedores do Cockpit CMS antes da publicação.

ID do CVECVE-2026-39275
VulnerabilidadeCross-Site Scripting Armazenado (XSS) → Tomada de Conta
CWECWE-79
AfetadoCockpit CMS <= 2.13.5
Corrigidod70dc50
CVSS 3.18.4 (AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:N)
RelatorRohith - Consultor de Segurança @ SecurifyAI

Resumo

Uma vulnerabilidade de XSS armazenado na visualização da lista de coleções de conteúdo permite que qualquer usuário com acesso de escrita ao conteúdo (uma chave de API ou uma sessão de editor autenticado) injete JavaScript arbitrário que é executado no navegador de qualquer administrador ou editor que visualize a lista de itens da coleção afetada.

Os tokens de sessão do Cockpit são totalmente acessíveis a partir do JavaScript - o cookie de sessão é definido sem a flag HttpOnly, e o JWT CSRF é exposto na variável global App.csrf e no atributo data-csrf no <html>. Isso permite que o script injetado leia ambos os tokens e os reproduza externamente, contornando a proteção CSRF e permitindo o sequestro completo da sessão e a tomada de conta.


Causa Raiz

As saídas do campo render() são passadas para a diretiva v-html do Vue sem codificação de saída.

ArquivoLinha(s)Função
modules/App/assets/vue-components/fields/field-tags.js25 - 34Renderizador de tags - sem codificação
modules/App/assets/vue-components/fields/field-select.js26Renderizador de seleção - sem codificação
modules/Content/views/collection/items.php149Coletor v-html

Prova de Conceito

1. Injetar o payload (chave de API de escrita com privilégios baixos)

curl -X POST "http://localhost:8080/api/content/item/posts" \
  -H "Content-Type: application/json" \
  -H "api-key: USR-<attacker-api-key>" \
  -d '{
    "data": {
      "title": "Innocent Looking Post",
      "tags": [
        "",
        ""
      ],
      "body": "Just a regular post.",
      "_state": 1
    }
  }'

2. Acionar a execução

Um administrador ou editor navega para /content/collection/items/posts. O renderizador de tags retorna a string armazenada, v-html a analisa em um elemento `` real, o src falso falha e o manipulador onerror é acionado.

3. Roubo de token

Ambos os tokens agora são legíveis - o cookie de sessão via document.cookie e o JWT CSRF via App.csrf / document.documentElement.getAttribute('data-csrf'). Um payload armado exfiltra ambos:

imagem

4. Reprodução de sessão

O atacante reproduz o cookie e o token CSRF roubados, obtendo acesso de administrador totalmente autenticado - e pode então criar contas de administrador, alterar credenciais ou modificar conteúdo.


Impacto

Um editor com privilégios baixos (ou qualquer detentor de chave de API de escrita de conteúdo) escala para administrador completo. O payload é armazenado e é acionado para cada administrador/editor que visualiza a lista, tornando-o um comprometimento persistente e com múltiplas vítimas.


Remediação

Correção principal - sanitizar a saída do renderizador antes que ela alcance v-html usando o helper existente App.utils.stripTags().

field-tags.js:

value = App.utils.stripTags(value); // sanitize before v-html

field-select.js:

return App.utils.stripTags(value); // sanitize before v-html

Defesa em profundidade - endurecer o cookie de sessão:

ini_set('session.cookie_httponly', 1);
ini_set('session.cookie_secure', 1);   // over HTTPS
ini_set('session.cookie_samesite', 'Strict');

HttpOnly sozinho é insuficiente - o XSS ainda pode agir dentro do contexto autenticado do navegador da vítima - portanto, a codificação de saída é a correção essencial.


Linha do Tempo de Divulgação

DataEvento
2026-03-29Vulnerabilidade reportada aos mantenedores do Cockpit CMS
2026-03-29Correção lançada pelos mantenedores
2026-04-04CVE solicitado
2026-06-23CVE-2026-39275 atribuído
<pub date>Divulgação pública

Este material é publicado para fins educacionais e defensivos após divulgação coordenada. Use apenas contra sistemas que você possui ou está explicitamente autorizado a testar.

Baixar ferramenta