Skip to main content

Trudesk EUVDEUVD-2026-107247

| CVE-2026-114400 HIGH
Files or Directories Accessible to External Parties (CWE-552)
2026-10-21 VulnCheck GHSA-gw9c-gjgc-x3m8
8.2
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Locate internet-facing Trudesk instance
  2. Exploit
    Obtain or guess ticket ObjectId and filename
  3. Execution
    Request attachment under /uploads unauthenticated
  4. Impact
    Download 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.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
No patch listed yet 0.5% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – 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

trudesk 0 ≤1.2.11

Affected Packages

euvd trudesk no fix

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

Vendor (VulnCheck) PRIMARY 8.2 HIGH
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
vuln.today AI 5.9 MEDIUM

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.

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

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

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

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

Why It Matters

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.

Business Impact: High
Compensating Controls

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

EPSS Score
0.5%
Top 56% exploitable
Prevalence
Low
niche self-hosted open-source help desk, limited enterprise footprint
Data Quality
6 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 HIGH
CISA KEV No
Public POC No
EPSS 0.5%
Patch available No
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.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
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Partial

Priority Score

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

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.

CVE-2022-2128 CRITICAL POC
9.8 Jun 20

Unrestricted Upload of File with Dangerous Type in GitHub repository polonel/trudesk prior to 1.2.4. Rated critical seve

CVE-2022-2023 CRITICAL POC
9.8 Jun 20

Incorrect Use of Privileged APIs in GitHub repository polonel/trudesk prior to 1.2.4. Rated critical severity (CVSS 9.8)

CVE-2022-1775 CRITICAL POC
9.8 May 20

Weak Password Requirements in GitHub repository polonel/trudesk prior to 1.2.2. Rated critical severity (CVSS 9.8), this

CVE-2022-1808 HIGH POC
8.8 May 31

Execution with Unnecessary Privileges in GitHub repository polonel/trudesk prior to 1.2.3. Rated high severity (CVSS 8.8

CVE-2022-1770 HIGH POC
8.8 May 20

Improper Privilege Management in GitHub repository polonel/trudesk prior to 1.2.2. Rated high severity (CVSS 8.8), this

CVE-2022-1931 HIGH POC
8.1 May 31

Incorrect Synchronization in GitHub repository polonel/trudesk prior to 1.2.3. Rated high severity (CVSS 8.1), this vuln

CVE-2022-1752 HIGH POC
8.0 May 21

Unrestricted Upload of File with Dangerous Type in GitHub repository polonel/trudesk prior to 1.2.2. Rated high severity

CVE-2022-1718 HIGH POC
7.5 Sep 29

The trudesk application allows large characters to insert in the input field "Full Name" on the signup field which can a

CVE-2022-1803 MEDIUM POC
6.9 May 20

Improper Restriction of Rendered UI Layers or Frames in GitHub repository polonel/trudesk prior to 1.2.2. Rated medium s

CVE-2022-1947 MEDIUM POC
6.5 May 31

Use of Incorrect Operator in GitHub repository polonel/trudesk prior to 1.2.3. Rated medium severity (CVSS 6.5), this vu

CVE-2022-1754 MEDIUM POC
6.5 May 20

Integer Overflow or Wraparound in GitHub repository polonel/trudesk prior to 1.2.2. Rated medium severity (CVSS 6.5), th

CVE-2022-1728 MEDIUM POC
6.5 May 16

Allowing long password leads to denial of service in polonel/trudesk in GitHub repository polonel/trudesk prior to 1.2.2

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