Skip to main content

traQ EUVDEUVD-2026-116118

| CVE-2026-63197 HIGH
Cross-site Scripting (XSS) (CWE-79)
2026-11-03 GitHub_M
7.3
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Access
    Authenticate and upload crafted SVG/HTML file
  2. Delivery
    Deliver /files/{fileId} URL to victim
  3. Exploit
    Victim opens URL, browser renders active content
  4. Execution
    Attacker JavaScript executes in victim's traQ session
  5. Impact
    Session/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.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available

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

Alert me

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

traQ < 3.28.3

Affected Packages

euvd traq fix: 3.28.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

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

Vendor (GitHub_M) PRIMARY 7.3 HIGH
AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:N
vuln.today AI 7.3 HIGH

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).

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

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
Required
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
None

Lifecycle Timeline

2
Patch available
Nov 03, 2026 - 19:18 EUVD
CVE Published
Nov 03, 2026 - 18:26 cve.org
HIGH 7.3

DescriptionCVE.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

Why It Matters

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.

Business Impact: Medium
Compensating Controls

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

Prevalence
Rare
niche self-hosted messenger for a specific creators club, tiny footprint
Social Media
1
Sightings
Data Quality
5 sources
Confidence: Medium
EUVD NVD CVE.org Vulnrichment CIRCL GitHub VulDB

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 N/A
Patch available Yes
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
None
System Exposure· derived
Open
Automatable
No
Human Impact
Medium
Technical Impact
Total

Priority Score

36
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +36
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