Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
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
Tools/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).

Repository anzeigen
vor 19 TagenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

CVE-2026-9811

CVE-2026-9811 ist eine Schwachstelle vom Typ Stored Cross-Site Scripting (Stored XSS), die Mautic 7 (Versionen 7.0.0 bis 7.1.1) betrifft. Die Schwachstelle befindet sich in der Komponente Project Selector, in der Projektnamen, die über eine AJAX-Anfrage zurückgegeben werden, ohne ordnungsgemäße Ausgabekodierung oder Bereinigung in die Seite eingefügt werden. Ein authentifizierter Benutzer mit der Berechtigung, Projekte zu erstellen, kann eine schädliche JavaScript-Nutzlast in einem Projektnamen speichern. Wenn später ein anderer Administrator einen Entitätseditor öffnet, der den Project Selector enthält, wird das schädliche Skript in dessen Browser ausgeführt.

Betroffene Software

Eigenschaft Wert Produkt Mautic Betroffene Versionen 7.0.0 – 7.1.1 Behobene Version 7.1.2 Komponente Project Selector Schwachstellentyp Stored Cross-Site Scripting (XSS)

Schwachstellentyp

Kategorie: Stored Cross-Site Scripting (Stored XSS) CWE-79: Unzureichende Neutralisierung von Eingaben während der Webseitengenerierung ('Cross-site Scripting')

Grundursache

Die Anwendung speichert Projektnamen, die von authentifizierten Benutzern bereitgestellt werden, und ruft sie später über einen AJAX-Endpunkt ab. Beim Rendern des Project Selector fügt die Anwendung diese Werte direkt als HTML-Optionselemente in das DOM ein, ohne den Inhalt zu maskieren oder zu bereinigen.

Konzeptionell:

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

Da die Anwendung gespeicherten Daten vertraut, wird schädliches JavaScript immer dann ausgeführt, wenn ein anderer privilegierter Benutzer die verwundbare Seite lädt.

Angriffsablauf

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

Angriffsszenario

Ein Angreifer mit der Berechtigung, Projekte zu erstellen, erstellt ein Projekt, dessen Name eine schädliche JavaScript-Nutzlast enthält.

Später bearbeitet ein Administrator eine andere Entität, die den Project Selector enthält. Der Selektor lädt die Projektnamen per AJAX und fügt sie direkt in die Seite ein. Da der Projektname nicht bereinigt wird, führt der Browser das eingebettete Skript mit den Rechten des Administrators aus.

Beispiel

Schritt 1: Normale Projekterstellung

Angenommen, Mautic enthält ein Formular wie dieses:

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

projectName=Marketing Campaign
description=Email Campaign

Das Projekt wird gespeichert als:

Marketing Campaign
Schritt 2: Der Angreifer erstellt ein Projekt

Statt eines normalen Namens gibt der Angreifer HTML ein, das ein harmloses JavaScript-Ereignis enthält:

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

Die Datenbank speichert nun exakt diese Zeichenfolge.

Schritt 3: AJAX gibt den gespeicherten Wert zurück

Später öffnet ein Administrator eine Seite, die Projekte lädt.

AJAX-Antwort:

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

Schritt 4: Verwundbares JavaScript

Angenommen, die Anwendung führt Folgendes aus:

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

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

Der Browser sieht:

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

Da die Anwendung die Zeichenfolge als HTML und nicht als Text eingefügt hat, analysiert der Browser sie als tatsächliches -Element. Das Bild kann nicht geladen werden (src="x"), wodurch der onerror-Handler ausgeführt wird.

Auswirkungen

Eine erfolgreiche Ausnutzung kann es einem Angreifer ermöglichen:

  • Beliebigen JavaScript-Code im Browser eines anderen Benutzers auszuführen.
  • Die Sitzung eines Administrators zu übernehmen.
  • Aktionen im Namen des Administrators auszuführen.
  • Auf vertrauliche Dashboard-Informationen zuzugreifen.
  • Anwendungsdaten mit den Rechten des Opfers zu ändern.
Die Schwachstelle wirkt sich hauptsächlich auf Vertraulichkeit und Integrität aus.

Schweregrad

MetrikWert
CVSS v3.1 (CNA)5.4 (Medium)

Das NVD hat für diese CVE noch keine eigene CVSS-Bewertung veröffentlicht.

Konzeptioneller verwundbarer Code

Hinweis: Der Hersteller hat den genauen verwundbaren Quellcode nicht veröffentlicht. Das folgende Beispiel veranschaulicht lediglich das Schwachstellenmuster.

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

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

Warum es verwundbar ist

Der Projektname stammt aus einer Benutzereingabe, wird jedoch ohne HTML-Kodierung in die Seite eingefügt. Enthält der gespeicherte Wert HTML oder JavaScript, interpretiert der Browser ihn als ausführbaren Inhalt und nicht als reinen Text.

Korrigierter Code (konzeptionell)

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

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

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

Oder: Falls die HTML-Ausgabe unvermeidbar ist, stellen Sie sicher, dass die Ausgabe vor dem Einfügen ordnungsgemäß kodiert wird.

Warum dieser Fix funktioniert

Die Verwendung von textContent (oder einer gleichwertigen sicheren API) stellt sicher, dass Sonderzeichen als reiner Text und nicht als ausführbares HTML oder JavaScript behandelt werden. Selbst wenn ein bösartiger Projektname in der Datenbank gespeichert ist, wird er wörtlich angezeigt, statt ausgeführt zu werden.

Tool herunterladen