Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate and upload crafted SVG/HTML file
-
DeliveryDeliver /files/{fileId} URL to victim
-
ExploitVictim opens URL, browser renders active content
-
ExecutionAttacker JavaScript executes in victim's traQ session
-
ImpactSession/account data compromised
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 the traQ instance to be configured with TRAQ_STORAGE_TYPE=local; on any other storage backend the /files/{fileId} endpoint does not render user files inline and the flaw does not apply. The attacker must hold an account with file-upload capability (authenticated, PR:L) to stage a crafted SVG or HTML file, and the victim must actively open the attacker's file URL (UI:R), so there is no unauthenticated or zero-interaction path. Confirmed limiting factors per the advisory: the vendor-provided workarounds of switching away from the 'local' storage backend, or ensuring all /files/{fileId} requests include dl=1, neutralize the issue, and upgrading to 3.28.3 (which always sets Content-Disposition: attachment) is the complete fix. |
| Impact | This is a moderate, conditional risk rather than a widespread emergency. The provided CVSS vector (AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:N, 7.3) indicates a network-reachable stored-XSS flaw that requires an authenticated account with file-upload capability (PR:L) and victim interaction (UI:R) - so exploitation is not drive-by. The vuln.today decision label is 'this_week', indicating prioritized but not immediate action. There is no CISA KEV listing and no EPSS score in the supplied data, so exploitation probability cannot be quantified from these sources; combined with the absence of any PoC reference, exploitation status is best described as no public exploit identified at time of analysis. The signal that most constrains real-world risk is the narrow precondition: the flaw only manifests when TRAQ_STORAGE_TYPE is set to 'local'. The affected product (traPtitech/traQ) is a niche, club-oriented self-hosted messenger, which further limits aggregate exposure. Net: a genuine XSS worth patching in the referenced timeframe, but its impact is gated by authentication, user interaction, and a specific storage configuration rather than being broadly wormable. |
| Exploit ScenarioDerived | An authenticated traQ user on an instance configured with TRAQ_STORAGE_TYPE=local uploads a crafted SVG or HTML file containing malicious JavaScript, then shares or tricks another user into opening that file's /files/{fileId} URL. Because the retrieval endpoint served such files for direct in-browser rendering (pre-3.28.3), the victim's browser executes the attacker's JavaScript in the traQ origin, enabling session/account compromise. No public exploit was identified in the supplied data; the low attack complexity (AC:L) means crafting the active-content file is trivial, but the required user interaction (UI:R) still gates the attack. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Nov 03, 2026
Stored cross-site scripting in traQ prior to 3.28.3 lets an authenticated user with file-upload capability stage a crafted SVG or HTML file that executes attacker-controlled JavaScript in another user's browser when that user opens the file URL, but only on instances configured with TRAQ_STORAGE_TYPE=local. The attacker needs an account with upload permission and the victim must actively open the crafted URL, so exploitation is not unauthenticated or zero-interaction. The issue is fixed in 3.28.3; no public exploit was identified at time of analysis.
RemediationAI
Vendor-released patch: upgrade traQ to version 3.28.3, which always adds a Content-Disposition: attachment header to /files/{fileId} responses regardless of the dl query parameter. If upgrading cannot be performed immediately, the vendor lists two workarounds: change TRAQ_STORAGE_TYPE from local to a storage backend other than local, which may require reconfiguration or migration of stored files and can affect how files are served; or ensure that all requests to /files/{fileId} include dl=1, which depends on client, proxy, or gateway enforcement and on users avoiding direct file URLs. The vendor also notes that users can reduce risk by avoiding suspicious file URLs. After the fix, dl is deprecated and has no effect. References: https://github.com/traPtitech/traQ/security/advisories/GHSA-p74g-f95m-7fx7, https://github.com/traPtitech/traQ/releases/tag/v3.28.3, and https://github.com/traPtitech/traQ/commit/3db29e7771661f6418d88d186d8ff7817f5d6b6e.
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
traQ is a Go-based messenger application, and the affected endpoint is the user-uploaded file retrieval API at /files/{fileId}. In the vulnerable code path, the ServeFile handler in router/utils/common.go added a Content-Disposition: attachment header only when the dl query parameter parsed as true; otherwise, files stored through the local storage backend could be returned for direct browser rendering. Because uploaded SVG and HTML documents can carry active script content, rendering them inline allows JavaScript execution in the traQ origin, which is the CWE-79 cross-site scripting condition described in the advisory. The commit changes this behavior so the handler always sets an attachment Content-Disposition header with a UTF-8 encoded filename, and the v3 API documentation deprecates the dl parameter because it no longer changes response behavior. The CVSS vector AV:N/AC:L/PR:L/UI:R reflects network reachability, low attack complexity, an authenticated uploader, and required user interaction; the trigger is the victim opening the crafted file URL. Instances using a storage backend other than local are not affected according to the advisory.
Know when Traq 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
AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:N
File upload requires a low-privilege authenticated account (PR:L) and the victim must open the file URL (UI:R); executed JavaScript can read and act on the victim's traQ session (C:H/I:H, A:N).
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
traQ is a messenger application built for Digital Creators Club traP. Prior to 3.28.3, instances configured with TRAQ_STORAGE_TYPE=local can return user-uploaded SVG or HTML content from the /files/{fileId} retrieval endpoint for direct browser rendering. An attacker with file-upload capability can provide crafted active content and induce another user to open its file URL, causing attacker-controlled JavaScript to execute in the victim's browser. This issue is fixed in version 3.28.3.
Technical POC Analysis
CWE-79 (Improper Neutralization of Input During Web Page Generation), stored variant.
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
CVE-2026-63197 is a high-severity stored cross-site scripting vulnerability in traQ versions prior to 3.28.3 that allows an authenticated user with file-upload permissions to inject malicious scripts into SVG or HTML files, which then execute when another user opens the file URL. This could lead to session hijacking, data theft, or further compromise within the traQ application, affecting employees who collaborate via file sharing. Leadership should prioritize remediation due to the potential for internal credential compromise and lateral movement.
No vendor-released patch identified at time of analysis; interim mitigations include restricting file upload permissions to essential personnel, disabling local storage type if feasible, and monitoring for anomalous file uploads or access patterns.
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.
EUVD-2026-116118
NVD
CVE.org
Vulnrichment
GitHub
VulDB
Exploit-DB