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-27621 — CVE-2026-27621 – TypiCMS Core weist eine gespeicherte Cross-Site Scripting (XSS)-Schwachstelle beim Hochladen von SVG-Dateien auf. | Kitploit
Tools/GitHubGitHub/lukasz-rybak/cve-2026-27621
SchwachstellenanalyseWebanwendungs-ExploitationWebsicherheitPapers & ForschungLernen & Bildung
GitHublukasz-rybak/cve-2026-27621

CVE-2026-27621

CVE-2026-27621 – TypiCMS Core weist eine gespeicherte Cross-Site Scripting (XSS)-Schwachstelle beim Hochladen von SVG-Dateien auf.

Repository anzeigen
1vor 5 MonatenNoch 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-27621: Stored Cross-Site Scripting (XSS) in TypiCMS Core über SVG-Dateiupload

Übersicht

FeldDetails
CVE-IDCVE-2026-27621
SchweregradMEDIUM
SicherheitshinweisSicherheitshinweis anzeigen
Entdeckt vonLukasz Rybak

Betroffene Produkte

  • typicms/core (Versionen: < 16.1.7)

CWE-Klassifizierung

  • CWE-79: Unzureichende Neutralisierung von Eingaben während der Webseitengenerierung ('Cross-site Scripting')

Details

I. Zusammenfassung

Im Dateiupload-Modul von TypiCMS besteht eine Schwachstelle für Stored Cross-Site Scripting (XSS). Die Anwendung ermöglicht Benutzern mit Datei-Upload-Berechtigung das Hochladen von SVG-Dateien. Obwohl eine MIME-Typ-Validierung durchgeführt wird, wird der Inhalt der SVG-Datei nicht bereinigt. Ein Angreifer kann eine speziell präparierte SVG-Datei mit schädlichem JavaScript-Code hochladen. Wenn ein anderer Benutzer (z. B. ein Administrator) diese Datei über die Anwendung aufruft oder darauf zugreift, wird das Skript in dessen Browser ausgeführt, was zur Kompromittierung der Sitzung dieses Benutzers führt.

Das Problem wird durch einen Fehler in der SVG-Parsing-Logik verschärft, der einen 500-Fehler verursachen kann, wenn die hochgeladene SVG-Datei kein viewBox-Attribut enthält. Dies mildert die XSS-Schwachstelle jedoch nicht, da ein Angreifer problemlos ein gültiges viewBox-Attribut in seine schädliche Nutzlast einfügen kann.

II. Details zur Schwachstelle

  • Schwachstellentyp: Stored Cross-Site Scripting (XSS) (CWE-79)
  • Betroffene Komponente: TypiCMS\Modules\Core\Http\Requests\FileFormRequest.php und TypiCMS\Modules\Core\Services\FileUploader.php.
  • Betroffene Versionen: <= 16.0.5

Die Schwachstelle beruht auf zwei Hauptpunkten:

  1. Laxe Dateivalidierung: Der FileFormRequest setzt svg explizit auf die Whitelist der zulässigen MIME-Typen für Uploads.
  2. Fehlende Inhaltsbereinigung: Der Dienst FileUploader speichert die SVG-Datei auf dem Server, ohne deren Inhalt zu parsen und zu bereinigen, um potenziell schädliche Elemente wie <script>-Tags oder on*-Ereignishandler zu entfernen.

Wenn das Standard-Dateisystemlaufwerk auf public gesetzt ist, wird die hochgeladene SVG-Datei in einem öffentlich zugänglichen Verzeichnis gespeichert. Dadurch ist es trivial, über eine direkte URL auf die Datei zuzugreifen und die XSS-Nutzlast auszulösen.

III. Proof of Concept (PoC)

  1. Erstellen Sie eine bösartige SVG-Datei: Erstellen Sie eine Datei namens malicious.svg mit folgendem Inhalt. Das viewBox-Attribut ist enthalten, um den Parsing-Fehler der Anwendung zu umgehen.

    root@kitploit:~
    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100">
        <script>
            // A simple PoC to demonstrate the vulnerability
            alert('XSS in TypiCMS! Your session cookie is: ' + document.cookie);
        </script>
        <text x="10" y="50">If you see this, the script has run.</text>
    </svg>
    
  2. Laden Sie die bösartige Datei hoch:

    • Melden Sie sich im TypiCMS-Admin-Panel als Benutzer mit Berechtigung zum Hochladen von Dateien an.
    • Navigieren Sie zum Modul „Files“ (z. B. /admin/files).
    • Laden Sie die Datei malicious.svg hoch. Die Anwendung akzeptiert die Datei und speichert sie. image
image
  1. Lösen Sie die XSS aus:
    • Die Anwendung stellt eine öffentliche URL für die hochgeladene Datei bereit, typischerweise im Format http://<your-site>/storage/files/malicious.svg.
    • Bei jedem, der diese URL aufruft, wird das eingebettete JavaScript im Browser ausgeführt.
    • Ein Angreifer kann diesen Link an einen privilegierten Benutzer (z. B. einen Administrator) senden. Wenn der Administrator auf den Link klickt, können dessen Sitzungscookies gestohlen werden, oder der Angreifer kann in seinem Namen Aktionen ausführen.
image
image

IV. Auswirkungen

Eine erfolgreiche Ausnutzung dieser Schwachstelle ermöglicht es einem Angreifer, beliebiges JavaScript im Kontext des Browsers des Opfers auszuführen. Obwohl die Verwendung des HttpOnly-Flags bei Sitzungscookies den direkten Diebstahl der Sitzungs-ID über document.cookie verhindert, kann der Angreifer dennoch eine vollständige Kompromittierung des Kontos des Opfers erreichen, indem er in dessen Namen Aktionen ausführt.

Die Auswirkungen umfassen:

  • Kontoübernahme durch Aktionsfälschung: Das Skript des Angreifers kann aus dem Browser des Opfers authentifizierte Anfragen an die API der Anwendung senden. Dadurch kann der Angreifer jede Aktion ausführen, zu der das Opfer autorisiert ist, z. B.:

    • Erstellen eines neuen Administratorkontos für den Angreifer.
    • Ändern der E-Mail-Adresse und des Passworts des Opfers.
    • Löschen oder Ändern aller Inhalte, Benutzer und Einstellungen.
  • Offenlegung sensibler Informationen: Das Skript kann den Inhalt jeder Seite lesen, die das Opfer im Admin-Panel aufruft. Dies umfasst Benutzerlisten (mit Namen und E-Mails), private Anwendungseinstellungen und andere sensible Daten, die anschließend an einen vom Angreifer kontrollierten Server übertragen (exfiltriert) werden können.

  • Phishing und Social Engineering: Das Skript kann die Benutzeroberfläche des Admin-Panels manipulieren, um gefälschte Anmeldeformulare anzuzeigen und den Benutzer dazu zu bringen, seine Zugangsdaten erneut einzugeben, oder ihn auf eine bösartige Website umzuleiten.

  • Keystroke-Logging (Aufzeichnung von Tastatureingaben): Das Skript kann alle Informationen erfassen, die das Opfer in Formulare auf der kompromittierten Seite eingibt.

Da der Angreifer jede Aktion als authentifizierter Administrator ausführen kann, führt diese Schwachstelle effektiv zu einer vollständigen Kompromittierung der Anwendung, selbst ohne direkten Zugriff auf das Sitzungscookie. Das Risiko wird als High eingestuft.

V. Empfohlene Patches und Gegenmaßnahmen

Es wird empfohlen, einen Defense-in-Depth-Ansatz anzuwenden, um diese Schwachstelle zu entschärfen.

  1. Primäre Lösung: SVG-Inhalt bereinigen: Die robusteste Lösung besteht darin, SVG-Dateien beim Upload zu bereinigen. Bevor die Datei gespeichert wird, sollte sie geparst werden, um alle potenziell gefährlichen Elemente zu entfernen, darunter <script>-, <style>- und <foreignObject>-Tags sowie alle on*-Ereignisattribute. Dies kann mithilfe einer speziellen Bibliothek zur SVG-Bereinigung erreicht werden.

  2. Sekundäre Lösung: SVG-Uploads deaktivieren: Wenn SVG-Uploads keine kritische Funktion für die Anwendung darstellen, ist die einfachste und sicherste Lösung, sie vollständig zu deaktivieren. Dies kann erreicht werden, indem 'svg' aus der Liste der zulässigen MIME-Typen in TypiCMS\Modules\Core\Http\Requests\FileFormRequest.php entfernt wird.

    root@kitploit:~
    // In FileFormRequest.php
    // BEFORE:
    $fileRule = 'mimes:jpeg,gif,png,...,svg,...|max:...';
    
    // AFTER:
    $fileRule = 'mimes:jpeg,gif,png,...,pdf,...|max:...'; // Removed 'svg'
    
  3. Härtung - Content-Security-Policy (CSP): Implementieren Sie einen strengen Content-Security-Policy-Header (CSP) für die Anwendung. Eine gut konfigurierte CSP kann die Ausführung von Inline-Skripten verhindern, was die Auswirkungen dieser XSS-Schwachstelle abmildern würde.

  4. Härtung - Auslieferung von Benutzerinhalten über eine separate Domain: Stellen Sie alle von Benutzern hochgeladenen Dateien über eine separate Domain ohne Cookies bereit. Dies ist eine äußerst wirksame Sicherheitsmaßnahme, die benutzergenerierte Inhalte von der Hauptanwendung isoliert und verhindert, dass Skripte auf Sitzungscookies zugreifen oder mit dem DOM der Anwendung interagieren.

Referenzen

  • https://github.com/TypiCMS/Core/security/advisories/GHSA-xfvg-8v67-j7wp
  • https://nvd.nist.gov/vuln/detail/CVE-2026-27621
  • https://github.com/TypiCMS/Core/commit/d480a0be1e8e7c0600bb9a325bb11920ee66497d
  • https://github.com/advisories/GHSA-xfvg-8v67-j7wp

Haftungsausschluss

Diese CVE wurde verantwortungsvoll im Rahmen koordinierter Offenlegung von Schwachstellen (Coordinated Vulnerability Disclosure) gemeldet. Die hier bereitgestellten Informationen dienen ausschließlich Bildungs- und Verteidigungszwecken.

Tool herunterladen