Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconObtain staff credentials (phishing or insider)
-
DeliveryAccess Troubleshooter module
-
ExploitInject malicious JavaScript in step subject field
-
InstallSubmit POST to InsertSubmit/EditSubmit
-
C2Payload stored server-side
-
ExecuteVictim navigates to View Troubleshooter
-
ImpactVictim clicks affected step link
-
Step 8JavaScript executes in victim browser
-
Step 9Steal session token or trigger privileged action
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 | Exploitation requires an authenticated staff member account with access to the Troubleshooter module's step creation or editing functionality. The attacker must successfully submit a POST request to Controller_Step.InsertSubmit() or EditSubmit() with a malicious payload in the subject parameter, and this payload must be stored in the backend database. The victim must then navigate to Troubleshooter > View Troubleshooter and click on the injected step link for the JavaScript to execute. The vulnerability is not limited to specific configurations or deployment modes - it affects all installations of GFI HelpDesk before version 4.99.9 where the Troubleshooter module is enabled and accessible. No special protocol or feature flags are required. The primary limiting factor is the requirement for valid staff credentials and victim user interaction; unauthenticated remote exploitation is not possible, and the payload only executes when the victim explicitly clicks the step link, not on automatic page load. |
| Impact | The CVSS score of 5.1 reflects a moderate severity assessment driven by the requirement for authenticated access (PR:L) and user interaction (UI:P - the victim must click the affected step link). However, the real-world risk is context-dependent. CVSS attack vector (AV:N) confirms network-based exploitation is possible. The confidentiality impact is None (VC:N), but scope is changed (S:X context suggests potential scope escalation), with slight integrity impact (SI:L), making this a stored XSS that could facilitate account compromise, credential theft, or privilege escalation if the executing JavaScript harvests session tokens or admin actions. The authentication requirement is a significant limiting factor - only staff members can inject payloads, reducing attacker pool to trusted insiders or compromised staff accounts. User interaction requirement (clicking the step link) further constrains exploitation but is routinely satisfied in Troubleshooter workflows. No public exploit code or CISA KEV status is indicated in the provided data, suggesting this is not yet actively exploited at scale, though the straightforward nature of XSS injection and the availability of a public advisory via VulnCheck increases the probability of weaponization post-disclosure. Given the availability of a vendor patch, organizations running pre-4.99.9 versions should prioritize updating to eliminate the vulnerability entirely. |
| Exploit ScenarioDerived | An authenticated staff member or insider with Troubleshooter module access crafts a malicious JavaScript payload (e.g., code to steal session cookies or redirect to a phishing page) and injects it into a new or existing troubleshooter step subject field via the POST request to Controller_Step.InsertSubmit(). The payload is stored server-side without sanitization. When any user (including administrators or other staff) navigates to Troubleshooter > View Troubleshooter and clicks the affected step link, View_Step.RenderViewSteps() renders the unsanitized subject into the HTML page, and the JavaScript executes in the user's browser with the privileges of the logged-in user. The attacker could then harvest session tokens, steal credentials entered into forms, or trigger malicious actions on behalf of the victim. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Apr 20, 2026
Stored cross-site scripting in GFI HelpDesk before version 4.99.9 allows authenticated staff members to inject arbitrary JavaScript via the Troubleshooter step subject field, with execution occurring when any user views the affected step. The vulnerability stems from unsanitized POST parameter handling in Controller_Step.InsertSubmit() and EditSubmit() methods, enabling persistent payload storage and broad user impact within the application.
RemediationAI
Upgrade GFI HelpDesk to version 4.99.9 or later immediately. The vendor has released a patched version addressing the unsanitized subject parameter handling in the Troubleshooter module. Consult the official GFI product releases page (https://gfi.ai/products-and-solutions/email-and-messaging-solutions/helpdesk/resources/product-releases) for download and deployment instructions. If immediate patching is not feasible, implement input validation and output encoding controls: (1) Restrict access to Troubleshooter step creation/editing to a minimal set of trusted staff via role-based access controls, reducing the attacker surface to only high-privilege accounts; note this does not eliminate the vulnerability but reduces exposure. (2) Implement a Content Security Policy (CSP) header with script-src 'self' on all Troubleshooter pages to block inline script execution, though encoded payloads or DOM-based vectors may bypass depending on CSP strictness. (3) Monitor authentication logs for suspicious staff account activity, particularly rapid step creation by accounts with no prior Troubleshooter history. These mitigations do not fix the root cause and should be considered temporary; patching remains the primary remediation.
Affected VersionsENISA
Affected Packages
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
GFI HelpDesk's Troubleshooter module contains a stored XSS vulnerability (CWE-79) in the step creation and editing workflow. The subject parameter received via POST requests in Controller_Step.InsertSubmit() and EditSubmit() methods lacks input sanitization before being persisted to the backend store. When View_Step.RenderViewSteps() renders the Troubleshooter interface, the unsanitized subject content is inserted into the HTML DOM without encoding, allowing injected JavaScript to execute in the browser context of any user accessing the Troubleshooter > View Troubleshooter section. This is a classic stored XSS pattern where malicious input is saved server-side and re-rendered to multiple users without sanitization, amplifying the attack surface.
Know when 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
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N
Primary rating from NVD · only source for this CVE.
CVSS VectorNVD
Lifecycle Timeline
3DescriptionCVE.org
GFI HelpDesk before 4.99.9 contains a stored cross-site scripting vulnerability in the Troubleshooter module where the subject POST parameter is not sanitized in Controller_Step.InsertSubmit() and EditSubmit() before being rendered by View_Step.RenderViewSteps(). An authenticated staff member can inject arbitrary JavaScript into the step subject field, and the payload executes when any user navigates to Troubleshooter > View Troubleshooter and clicks the affected step link.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.
SQL injection in Frappe HelpDesk 1.14.0 dashboard functionality allows authenticated attackers to execute arbitrary SQL
Command injection vulnerability in Helpdesk versions 1.1.21 and earlier in QNAP QTS 4.2.6 build 20180531, QTS 4.3.3 buil
Unauthenticated actors can post ticket replies in Faveo Helpdesk versions 2.0.0 through 2.0.3 by sending crafted request
The documentation component in i-net Clear Reports 16.0 to 19.2, HelpDesk 8.0 to 8.3, and PDFC 4.3 to 6.2 allows a remot
An improper access control vulnerability has been reported to affect QNAP NAS. Rated high severity (CVSS 8.8), this vuln
Vision Helpdesk before 5.7.0 (patched in 5.6.10) allows attackers to read user profiles via modified serialized cookie d
An improper certificate validation vulnerability has been reported to affect Helpdesk. Rated high severity (CVSS 7.7), t
This improper access control vulnerability in Helpdesk allows attackers to get control of QNAP Kayako service. Rated med
GFI HelpDesk before version 4.99.9 allows authenticated staff members to inject persistent JavaScript into ticket subjec
Path traversal in Faveo Helpdesk versions 2.0.0 through 2.0.3 enables remote authenticated administrators to delete arbi
Stored cross-site scripting in GFI HelpDesk before version 4.99.10 allows authenticated attackers to inject arbitrary Ja
GFI HelpDesk before version 4.99.9 contains a stored cross-site scripting vulnerability in language management where the
EUVD-2026-23908
NVD
CVE.org
EPSS
Vulnrichment
VulDB
GitHub PoC
Exploit-DB