Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
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-9811 — CVE-2026-9811 is a Stored Cross-Site Scripting (Stored XSS) vulnerability affecting Mautic 7 (versions 7.0.0 through 7.1.1). | Kitploit
Ferramentas/GitHubGitHub/aj2108/cve-2026-9811
Vulnerability AnalysisWeb Application ExploitationWeb SecurityLearning & Education
GitHubaj2108/cve-2026-9811

CVE-2026-9811

CVE-2026-9811 is a Stored Cross-Site Scripting (Stored XSS) vulnerability affecting Mautic 7 (versions 7.0.0 through 7.1.1).

Ver Repositório
há 17 diasAinda 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-9811

CVE-2026-9811 é uma vulnerabilidade de Cross-Site Scripting Armazenado (Stored XSS) que afeta o Mautic 7 (versões 7.0.0 a 7.1.1).A vulnerabilidade existe no componente Project Selector, onde os nomes de projetos retornados por meio de uma solicitação AJAX são inseridos na página sem codificação de saída ou sanitização adequadas. Um usuário autenticado com permissão para criar projetos pode armazenar um payload de JavaScript malicioso em um nome de projeto. Quando outro administrador abre posteriormente um editor de entidade contendo o seletor de projetos, o script malicioso é executado no navegador dele.

Software Afetado

Propriedade Valor Produto Mautic Versões Afetadas 7.0.0 – 7.1.1 Versão Corrigida 7.1.2 Componente Project Selector Tipo de Vulnerabilidade Stored Cross-Site Scripting (XSS)

Tipo de Vulnerabilidade

Categoria: Stored Cross-Site Scripting (Stored XSS) CWE-79: Neutralização Incorreta de Entrada Durante a Geração de Páginas Web ('Cross-site Scripting')

Causa Raiz

A aplicação armazena nomes de projetos fornecidos por usuários autenticados e posteriormente os recupera por meio de um endpoint AJAX. Ao renderizar o seletor de projetos, a aplicação insere esses valores diretamente no DOM como elementos HTML de opção, sem escapar ou sanitizar o conteúdo.

Conceitualmente:

root@kitploit:~
User creates project
        │
        ▼
Project name stored in database
        │
        ▼
AJAX returns project name
        │
        ▼
Inserted into DOM without sanitization
        │
        ▼
Browser executes embedded JavaScript

Como a aplicação confia nos dados armazenados, o JavaScript malicioso é executado sempre que outro usuário privilegiado carrega a página vulnerável.

Fluxo de Ataque

root@kitploit:~
Attacker
    │
    ▼
Creates a project with a malicious JavaScript payload as its name
    │
    ▼
Payload is stored in the database
    │
    ▼
Administrator opens an entity editor
    │
    ▼
AJAX request retrieves project names
    │
    ▼
Application inserts project name into the DOM without encoding
    │
    ▼
Browser executes the malicious script
    │
    ▼
Attacker gains actions within the administrator's session

Cenário de Ataque

Um atacante com permissão para criar projetos cria um projeto cujo nome contém um payload de JavaScript malicioso.

Posteriormente, um administrador edita outra entidade que inclui o Project Selector. O seletor carrega os nomes dos projetos via AJAX e os insere diretamente na página. Como o nome do projeto não é sanitizado, o navegador executa o script incorporado com os privilégios do administrador.

Exemplo

Etapa 1: Criação Normal de Projeto

Imagine que o Mautic tenha um formulário como este:

root@kitploit:~
POST /projects/create HTTP/1.1
Content-Type: application/x-www-form-urlencoded

projectName=Marketing Campaign
description=Email Campaign

O projeto é salvo como:

Marketing Campaign
Etapa 2: O Atacante Cria um Projeto

Em vez de um nome normal, o atacante insere HTML contendo um evento JavaScript inofensivo:

root@kitploit:~
POST /projects/create HTTP/1.1
Content-Type: application/x-www-form-urlencoded

projectName=<img src="https://raw.githubusercontent.com/aj2108/cve-2026-9811/HEAD/x" onerror="console.log('XSS Demo')">
description=Test

O banco de dados agora armazena exatamente essa string.

Etapa 3: AJAX Retorna o Valor Armazenado

Posteriormente, um administrador abre uma página que carrega os projetos.

Resposta AJAX:

root@kitploit:~
{
    "id": 7,
    "projectName": ""
}

Etapa 4: JavaScript Vulnerável

Suponha que a aplicação faça isso:

root@kitploit:~
const project = response.projectName;

document.getElementById("projects").innerHTML +=
    `<option>${project}</option>`;

O navegador vê:

root@kitploit:~
<option>
    <img src="https://raw.githubusercontent.com/aj2108/cve-2026-9811/HEAD/x" onerror="console.log('XSS Demo')">
</option>

Como a aplicação inseriu a string como HTML em vez de texto, o navegador a interpreta como um elemento real. A imagem não carrega (src="x"), fazendo com que o manipulador onerror seja executado.

Impacto

A exploração bem-sucedida pode permitir que um atacante:

  • Execute JavaScript arbitrário no navegador de outro usuário.
  • Sequestre a sessão de um administrador.
  • Execute ações em nome do administrador.
  • Acesse informações confidenciais do painel.
  • Modifique dados da aplicação usando os privilégios da vítima.
A vulnerabilidade afeta principalmente a confidencialidade e a integridade.

Severidade

MétricaPontuação
CVSS v3.1 (CNA)5.4 (Médio)

O NVD ainda não publicou sua própria avaliação CVSS para este CVE.

Código Vulnerável Conceitual

Nota: O fornecedor não publicou o código-fonte vulnerável exato. O exemplo a seguir ilustra apenas o padrão da vulnerabilidade.

root@kitploit:~
// Data returned from AJAX
const project = response.projectName;

// Unsafe: inserted directly into the DOM
document.getElementById("projectSelector").innerHTML +=
    `<option>${project}</option>`;

Por Que É Vulnerável

O nome do projeto se origina da entrada do usuário, mas é inserido na página sem codificação HTML. Se o valor armazenado contiver HTML ou JavaScript, o navegador o interpreta como conteúdo executável em vez de texto simples.

Código Corrigido (Conceitual)

root@kitploit:~
const option = document.createElement("option");

// Safe: assign as text, not HTML
option.textContent = response.projectName;

document.getElementById("projectSelector").appendChild(option);

Ou, se a saída HTML for inevitável, garanta a codificação de saída adequada antes da inserção.

Por Que Esta Correção Funciona

O uso de textContent (ou de uma API segura equivalente) garante que quaisquer caracteres especiais sejam tratados como texto simples em vez de HTML ou JavaScript executável. Mesmo que um nome de projeto malicioso seja armazenado no banco de dados, ele será exibido literalmente em vez de ser executado.

Baixar ferramenta