Skip to main content

Rocket.Chat CVE-2026-47733

| EUVDEUVD-2026-39089 MEDIUM
Cross-site Scripting (XSS) (CWE-79)
2026-06-24 security-advisories@github.com
4.4
CVSS 3.1 · Vendor: github
Share

Severity by source

Vendor (github) PRIMARY
4.4 MEDIUM
AV:N/AC:H/PR:L/UI:R/S:C/C:L/I:L/A:N
vuln.today AI
4.4 MEDIUM

Network delivery with authenticated sender (PR:L), legacy-browser precondition raises complexity (AC:H), victim click mandatory (UI:R), cross-user session impact drives S:C with limited C/I.

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

Primary rating from Vendor (github).

CVSS VectorVendor: github

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

Lifecycle Timeline

2
Patch available
Jun 24, 2026 - 22:03 EUVD
Analysis Generated
Jun 24, 2026 - 21:43 vuln.today

DescriptionCVE.org

Rocket.Chat is an open-source, secure, fully customizable communications platform. Prior to 8.5.0, the ImageElement component in packages/gazzodown renders user-controlled src values directly into <a href> and <img src> attributes without protocol sanitization. Unlike the analogous LinkSpan component - which uses sanitizeUrl to block javascript:, data:, and vbscript: protocols - ImageElement passes the raw URL through unchanged. An authenticated user can post a markdown image with a javascript: URL that, if clicked on an older browser, would execute arbitrary JavaScript in the viewer's session. This vulnerability is fixed in 8.5.0.

AnalysisAI

Stored XSS in Rocket.Chat's Gazzodown Markdown renderer allows authenticated users to inject javascript: protocol URIs into image elements that execute arbitrary JavaScript in a victim's browser session upon click. The ImageElement component in versions prior to 8.5.0 omits the sanitizeUrl() guard applied by the analogous LinkSpan component, creating an inconsistency that bypasses javascript:, data:, and vbscript: protocol blocking. No public exploit has been identified at time of analysis; exploitation is constrained to legacy browsers and requires victim interaction, reflected in the official CVSS score of 4.4 Medium.

Technical ContextAI

The vulnerability is located in the ImageElement component within Rocket.Chat's gazzodown package - the Markdown rendering library embedded in the platform. The root cause class is CWE-79 (Improper Neutralization of Input During Web Page Generation - Stored XSS): user-controlled src values are interpolated directly into <a href> and <img src> HTML attributes without protocol validation. The codebase's LinkSpan component demonstrates the correct pattern by calling sanitizeUrl() to strip dangerous scheme prefixes (javascript:, data:, vbscript:), but ImageElement was never updated with the same guard, leaving a feature-level inconsistency. The CVSS Scope:Changed metric (S:C) reflects that injected script executes in the victim's browser context, allowing cross-user session impact beyond the attacker's own account.

RemediationAI

Vendor-released patch: Rocket.Chat 8.5.0, which applies equivalent protocol sanitization (sanitizeUrl) to the ImageElement component, closing the inconsistency with LinkSpan. Upgrade to 8.5.0 or later following guidance at https://github.com/RocketChat/Rocket.Chat/security/advisories/GHSA-vvrf-fq54-q4pr. If an immediate upgrade is not feasible, restrict markdown image posting to trusted user roles via Rocket.Chat's built-in permission system (Administration > Permissions), reducing the attacker population at the cost of limiting legitimate image sharing for lower-trust users. Additionally, enforcing a modern browser policy (Chrome, Firefox, or Edge on current stable releases) across all Rocket.Chat clients eliminates the primary execution vector, since those browsers block javascript: protocol in image contexts - however, this is an organizational control that cannot be technically enforced for all endpoints.

Share

CVE-2026-47733 vulnerability details – vuln.today

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