CVE-2026-91123
Deferred Deferred - Pending Action

Path Traversal in Discourse

Vulnerability report for CVE-2026-91123, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-09-24

Last updated on: 2026-09-24

Assigner: GitHub, Inc.

Description

Discourse is an open-source discussion platform. Prior to 2026.1.8, 2026.6.3, 2026.7.2, and 2026.8.0, the iframe src traversal guard did not treat literal backslashes as path separators after decoded dot segments. A crafted source could therefore pass an allowed_iframes subpath check while browser URL normalization moved the iframe outside the intended allowed path. The resulting iframe could load content from a location that the administrator did not allow. This issue is fixed in versions 2026.1.8, 2026.6.3, 2026.7.2, and 2026.8.0.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-09-24
Last Modified
2026-09-24
Generated
2026-10-15
AI Q&A
2026-09-24
EPSS Evaluated
2026-10-13
NVD
EUVD

Affected Vendors & Products

Showing 5 associated CPEs
Vendor Product Version / Range
discourse discourse to 2026.1.8 (inc)
discourse discourse to 2026.6.3 (inc)
discourse discourse to 2026.7.2 (inc)
discourse discourse to 2026.8.0 (inc)
discourse discourse to 2026.1.8 (exc)

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-22 The product uses external input to construct a pathname that is intended to identify a file or directory that is located underneath a restricted parent directory, but the product does not properly neutralize special elements within the pathname that can cause the pathname to resolve to a location that is outside of the restricted directory.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

CVE-2026-91123 is a path traversal vulnerability in Discourse where the iframe src traversal guard failed to treat literal backslashes as path separators after decoded dot segments. This allowed attackers to bypass allowlist restrictions by crafting iframe sources that browser URL normalization moved outside intended allowed paths.

Detection Guidance

To detect this vulnerability, check the Discourse version installed on your system. Vulnerable versions are 2026.7.0-latest, 2026.6.0-latest, and 2026.1.0-latest. Run commands like 'bundle exec rails c' and check 'Discourse::VERSION::STRING' or inspect the version in the admin panel.

Impact Analysis

An attacker could embed an iframe in Discourse content that loads from a disallowed location, potentially exposing users to malicious content or unauthorized data access. This bypasses administrator-configured security restrictions for iframe sources.

Compliance Impact

This vulnerability could potentially affect compliance with GDPR and HIPAA by allowing unauthorized iframe content to bypass security restrictions. If exploited, it may lead to unauthorized data access or embedding of malicious content, which could violate data protection requirements under these regulations.

Mitigation Strategies

Upgrade Discourse to patched versions (2026.8.0, 2026.7.2, 2026.6.3, or 2026.1.8) immediately. No effective workarounds exist beyond applying the patch. Follow standard upgrade procedures for your Discourse installation.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-91123. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart