Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessLocate internet-facing Trudesk instance
-
ExploitObtain or guess ticket ObjectId and filename
-
ExecutionRequest attachment under /uploads unauthenticated
-
ImpactDownload confidential ticket attachment
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling File access restriction
MITRE ATT&CK
2 techniques across 1 tactic: Collection The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires the attacker to know or guess a valid ticket MongoDB ObjectId and the corresponding attachment filename, then request it directly under /uploads; it works against default configurations because express.static serves the public/ directory before the hasAuth-guarded /uploads route in src/middleware/index.js. No authentication, credentials, or user interaction are required (PR:N/UI:N). The primary limiting factor is the AT:P attack requirement - the unpredictability of the 12-byte ObjectId and filename - so blind mass exploitation is impractical; exploitation is realistic when IDs/filenames leak via URLs, email notifications, or referrers, or against instances where IDs can be enumerated. |
| Impact | This is a genuine information-disclosure risk rather than a hollow high-CVSS number, but it is bounded by one real prerequisite. The supplied CVSS 4.0 vector (AV:N/AC:L/AT:P/PR:N/UI:N) describes a network-reachable, unauthenticated flaw requiring no user interaction, but the AT:P flag encodes a concrete attack requirement: the attacker must know or guess a valid ticket MongoDB ObjectId plus the attachment filename. That single qualifier is what separates this from a trivially scannable mass-exploitation bug. The VC:H/VI:N/VA:N impact correctly reflects a pure confidentiality loss (reading private attachments) with no integrity or availability effect. No EPSS score, no CISA KEV listing, and no confirmed public exploit code were provided in the input, so there is no signal of active or widespread exploitation - meaning priority should be driven by data sensitivity (ticketing systems often hold PII, credentials, internal documents), not by observed in-the-wild activity. Conflict to note: the 'Path Traversal' tag is not supported by the description or CWE-552 - the actual root cause is express.static serving public/ before the hasAuth-guarded /uploads mount (a middleware ordering / missing-authorization issue), not directory traversal; treat the traversal label as unverified. |
| Exploit ScenarioDerived | An attacker who has obtained or can predict a Trudesk ticket's ObjectId and the stored attachment filename (for example from a leaked URL, email notification, or enumeration) sends a direct HTTP request for that file under /uploads. Because express.static resolves the request against the public directory before the hasAuth guard on the /uploads mount ever runs, the server returns the private attachment without any authentication. No public exploit code was identified in the provided data, though a third-party technical write-up describing the issue is referenced. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 21, 2026
Unauthenticated attackers can download private ticket attachments from Trudesk through 1.2.11 because express.static serves the public/ directory ahead of the hasAuth-guarded /uploads mount, so a direct request bypasses the authentication middleware entirely. Successful retrieval requires knowing or guessing a valid ticket MongoDB ObjectId plus the matching attachment filename, which is the main bound on the risk: no credentials or user interaction are needed and default configurations are affected, but the 12-byte ObjectId is not trivially guessable, so blind mass exploitation is impractical and realistic compromise depends on IDs and filenames leaking via URLs, email notifications, or referrers, or on an instance where IDs can be enumerated. No public exploit code and no confirmed active exploitation were identified at time of analysis.
RemediationAI
No vendor-released patch or fixed version is identified in the available data, so remediation must center on compensating controls until upstream hardening lands (track https://github.com/polonel/trudesk and the advisory at https://www.vulncheck.com/advisories/trudesk-through-1.2.11-missing-authentication-for-ticket-attachments-via-uploads). The most direct fix is to correct the middleware ordering in src/middleware/index.js so the hasAuth-guarded /uploads route is registered before the express.static public/ mount, and to move attachment storage out of the publicly served directory entirely; this is a code change that must be reapplied after each upstream upgrade and regression-tested to confirm static assets still load. Where code changes are not feasible, block direct external access to /uploads at the reverse proxy or WAF and require attachment retrieval through an authenticated application route, accepting that this breaks any legitimate direct-link workflows and may require proxy rule tuning for legitimate paths. Restrict Trudesk network exposure to trusted users and VPN, which reduces the pool of attackers able to probe ObjectIds but does not fix the flaw. Because identifier leakage is the practical exploitation vector, scrub ticket and attachment identifiers from email notifications, referrer headers, and any public-facing links, and consider adding a Referrer-Policy such as no-referrer; these measures shrink the discovery surface without altering the missing authorization check. Monitor reverse-proxy logs for unauthenticated GET requests to /uploads paths as a detection measure, noting that such logging only reveals attempts after exposure has begun.
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
Trudesk is a Node.js/Express help-desk application backed by MongoDB, in which tickets and their file attachments are stored under ObjectId-keyed identifiers. The root cause is CWE-552 (files or directories accessible to external parties): middleware ordering in src/middleware/index.js mounts express.static on the public/ directory at line 59-65 before the /uploads route that is protected by the hasAuth guard at line 140, so Express resolves a request such as /uploads/<ticketObjectId>/<filename> against the static handler first and returns the file without ever evaluating the authorization middleware. The protection that remains is identifier secrecy: MongoDB ObjectIds are 12-byte values (4-byte timestamp, 5-byte random per-process value, 3-byte incrementing counter), giving them meaningful but not cryptographic unpredictability, particularly when the embedded timestamp narrows the search and the counter portion is sequential. The CPE cpe:2.3:a:polonel:trudesk confirms the affected codebase is the upstream polonel/trudesk project, and the assessed CVSS:3.1 vector (AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N) captures the profile accurately: network-reachable, no privileges or interaction required, high confidentiality impact only, with the high attack complexity reflecting the need to obtain both the ObjectId and the filename. The CVSS:4.0 base score of 8.2 supplied by the reporter conveys the same confidentiality-only impact from a different scoring model.
Know when Trudesk 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:P/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
Network-reachable and unauthenticated (AV:N/PR:N/UI:N), but AC:H captures the need to know/guess a non-trivial ObjectId and filename; confidentiality-only impact so C:H, I:N, A:N.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
Trudesk through 1.2.11 contains a missing authentication vulnerability that allows unauthenticated attackers to download private ticket attachments under /uploads. Because express.static serves the public/ directory before the hasAuth-guarded /uploads mount, attackers who know or guess a ticket ObjectId and filename can retrieve confidential attachments.
Executive ViewAI
Trudesk (through version 1.2.11) can expose private ticket attachments held in its uploads directory, putting confidential support content such as customer data, internal documents, and embedded credentials at risk of disclosure. Because the flaw affects default deployments and no vendor-released patch is currently identified, every internet-facing helpdesk instance represents a standing data-protection and customer-trust exposure that leadership should treat as an active risk item. Practical exploitation is constrained by the need to know both a specific ticket identifier and the matching attachment filename, so exposure is more likely targeted or opportunistic than mass-scanned; no public exploit identified at time of analysis.
No vendor-released patch identified at time of analysis. Interim mitigations: deny direct requests to /uploads and public attachment paths at the reverse proxy or WAF unless the request passes application authentication; reorder the Express middleware so the hasAuth-guarded mount precedes express.static, or relocate attachments outside the public/ webroot; restrict Trudesk access to VPN or allowlisted networks; rate limit and alert on repeated attachment-path requests or 404 bursts indicative of ObjectId enumeration; audit notification emails, referrers, and shared links for leaked ticket ObjectIds and filenames; rotate or invalidate exposed attachment links.
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
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
Unrestricted Upload of File with Dangerous Type in GitHub repository polonel/trudesk prior to 1.2.4. Rated critical seve
Incorrect Use of Privileged APIs in GitHub repository polonel/trudesk prior to 1.2.4. Rated critical severity (CVSS 9.8)
Weak Password Requirements in GitHub repository polonel/trudesk prior to 1.2.2. Rated critical severity (CVSS 9.8), this
Execution with Unnecessary Privileges in GitHub repository polonel/trudesk prior to 1.2.3. Rated high severity (CVSS 8.8
Improper Privilege Management in GitHub repository polonel/trudesk prior to 1.2.2. Rated high severity (CVSS 8.8), this
Incorrect Synchronization in GitHub repository polonel/trudesk prior to 1.2.3. Rated high severity (CVSS 8.1), this vuln
Unrestricted Upload of File with Dangerous Type in GitHub repository polonel/trudesk prior to 1.2.2. Rated high severity
The trudesk application allows large characters to insert in the input field "Full Name" on the signup field which can a
Improper Restriction of Rendered UI Layers or Frames in GitHub repository polonel/trudesk prior to 1.2.2. Rated medium s
Use of Incorrect Operator in GitHub repository polonel/trudesk prior to 1.2.3. Rated medium severity (CVSS 6.5), this vu
Integer Overflow or Wraparound in GitHub repository polonel/trudesk prior to 1.2.2. Rated medium severity (CVSS 6.5), th
Allowing long password leads to denial of service in polonel/trudesk in GitHub repository polonel/trudesk prior to 1.2.2
EUVD-2026-107247
GHSA-gw9c-gjgc-x3m8
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB