Skip to main content

django-helpdesk EUVDEUVD-2026-58243

| CVE-2026-73531 MEDIUM
Cross-site Scripting (XSS) (CWE-79)
2026-08-13 VulnCheck GHSA-67qv-r9gc-cpwj
5.3
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Submit crafted HTML ticket via public form
  2. Delivery
    Malicious payload stored in helpdesk database
  3. Exploit
    Staff member opens attachment during triage
  4. Execution
    Browser renders HTML inline without Content-Disposition header
  5. Persist
    Injected JavaScript executes in authenticated staff session
  6. Impact
    Session token or sensitive data exfiltrated to attacker

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Execution

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Injection of the malicious payload requires no authentication - the public ticket submission endpoint is open to any internet user by default and accepts both HTML-formatted email bodies and .html/.htm file attachments. Triggering the stored XSS payload requires an authenticated staff member to open the malicious attachment in their browser while logged into the helpdesk application; this user interaction (UI:P) is a normal part of the ticket triage workflow and should not be considered a strong defensive barrier. Specific enabling conditions are: (1) the public-facing ticket submission channel must be reachable, which is the default deployment posture; (2) the attachment-serving endpoint must deliver .html/.htm files without a Content-Disposition: attachment header, which is the unpatched default behavior; and (3) an authenticated staff user must open the attachment in a browser session. Exploitation is constrained by the requirement for staff interaction and does not affect systems where .html/.htm attachments are blocked at the email gateway or reverse proxy level before reaching the helpdesk application.

Impact

The CVSS 4.0 vector AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N scoring 5.3 accurately captures the attack topology: the initial payload injection requires no authentication (PR:N) and no special conditions (AT:N), while downstream harm manifests in the subsequent system - the staff member's browser session - reflected in SC:L/SI:L rather than VC/VI. The UI:P requirement (staff must open the attachment) is a formally limiting factor but is operationally weak, since triaging attachments is routine helpdesk work. No EPSS data was supplied, no KEV listing is present, and no POC is publicly known, indicating this is a newly disclosed issue without confirmed active exploitation. Real-world priority is moderate: the attack surface is wide (any internet user can submit a ticket), the payload is persistent (stored), and the target population is privileged (staff with access to sensitive ticket data). The relatively low CVSS score reflects limited impact scope rather than low exploitability - defenders should not treat the 5.3 score as a deferral justification given the unauthenticated injection path and high-value target sessions.

Exploit ScenarioDerived

An unauthenticated attacker submits a helpdesk ticket via the public web form, attaching a crafted .html file containing JavaScript that beacons the staff member's session cookie to an attacker-controlled server. When a helpdesk staff member opens the ticket to triage it and clicks the attachment link, the absence of a Content-Disposition: attachment header causes the browser to render the file inline in the authenticated session context, executing the script and silently exfiltrating the session token. No public exploit code has been identified at time of analysis, but the attack is mechanically straightforward given the documented injection surface.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Aug 13, 2026

Stored XSS in django-helpdesk before 2.3.3 enables unauthenticated external attackers to inject arbitrary JavaScript into the authenticated staff interface by submitting HTML-formatted ticket email bodies or uploading .html/.htm file attachments through the public-facing ticket submission channel. The payload persists in the helpdesk database and executes in the browser session of any staff member who opens the attachment during routine triage, enabling session hijacking, credential exfiltration, or unauthorized actions performed under the staff member's identity. No public exploit has been identified at time of analysis and the vulnerability is not listed in the CISA KEV catalog.

RemediationAI

Upgrade django-helpdesk to version 2.3.3 or later; this release addresses both the HTML input sanitization gap and the missing Content-Disposition headers on the attachment-serving layer. Full patch details are documented in the GitHub security advisory GHSA-q46c-8w98-fq2g at https://github.com/django-helpdesk/django-helpdesk/security/advisories/GHSA-q46c-8w98-fq2g. If immediate upgrade is not possible, a compensating control for the attachment-serving vector is to configure a reverse proxy (e.g., nginx) to force a Content-Disposition: attachment response header for all .html and .htm files served from the helpdesk attachment directory - this prevents inline browser rendering but does not address HTML-formatted email body injection and should be treated as a partial mitigation only. Additionally, restricting staff access to the helpdesk interface via network-level controls (VPN or IP allowlisting) reduces the window of exposure for stored payloads until patching is complete, at the cost of limiting remote staff access.

Affected VersionsENISA

django-helpdesk 0 <2.3.3

Affected Packages

euvd django_helpdesk fix: 2.3.3

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

django-helpdesk is an open-source Django (Python) ticketing application that accepts ticket submissions from unauthenticated users via web forms and email ingestion. The vulnerability maps to CWE-79 (Improper Neutralization of Input During Web Page Generation - Stored XSS) and manifests at two distinct layers: the application fails to sanitize HTML content present in incoming email-formatted ticket bodies, and the attachment-serving layer omits Content-Disposition: attachment headers for .html/.htm files, causing browsers to render them inline rather than prompt a download. The stored nature of this XSS means the payload is persisted in the database on submission and re-executes each time any authenticated staff member views the ticket attachment. CPE cpe:2.3:a:django-helpdesk:django-helpdesk:*:*:*:*:*:*:*:* confirms all versions prior to 2.3.3 are within scope.

Know when Django Helpdesk gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (VulnCheck) PRIMARY 5.3 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N
vuln.today AI 6.1 MEDIUM

Unauthenticated network injection (AV:N, PR:N, AC:L), staff interaction required to trigger (UI:R), scope changes to victim session (S:C), limited confidentiality and integrity impact only.

3.1 AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
Passive
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
Low
Subsequent system: Integrity
Low
Subsequent system: Availability
None

Lifecycle Timeline

1
Patch available
Aug 13, 2026 - 20:19 EUVD

DescriptionCVE.org

django-helpdesk before 2.3.3 contains a stored cross-site scripting vulnerability that allows unauthenticated attackers to inject arbitrary JavaScript by submitting HTML-formatted email messages or uploading .html/.htm file attachments through public ticket submission channels. Attackers can exploit the lack of sanitization and Content-Disposition headers at the attachment-serving layer to execute malicious scripts in the browser session of authenticated staff members who open the attachment while triaging tickets.

Threat Intelligence Overview

EPSS Score
0.2%
Top 89% exploitable
Prevalence
Low
niche open-source Django helpdesk plugin, limited enterprise footprint
Data Quality
7 sources
Confidence: High

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

26
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +26
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy