CVE-2026-91123

Discourse: Reject literal backslash path separators in iframe src traversal guard

State
Published
Severity
7.2 High
Published
Sep 24, 2026
Updated
Sep 24, 2026
Reserved
Sep 14, 2026

Read the record on cve.org

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.

Scores

CVSSScoreVectorSource
3.17.2 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:NGitHub_M

Weaknesses

  • CWE-22 Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')

Affected Products

ProductVersions
discoursediscourse
  • < 2026.8.0Affected
  • >= 2026.7.0-latest, < 2026.7.2Affected
  • >= 2026.6.0-latest, < 2026.6.3Affected
  • >= 2026.1.0-latest, < 2026.1.8Affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.