Read the docs
TI-2025-31027 Aliases CVE-2025-48877

Discourse vulnerable to auto-executing of third-party code in embedded CodePen iframe

Priority MEDIUM 42CWE-1038Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
None
Attack complexity
Low
Attack requirements
None
Impact type
—
Confidentiality · integrity · availability
High · High · High
Fix status
Fixed

Attack profile from CVSS 4.0 · CNA. Fix status from CNA.

Summary

Discourse is an open-source discussion platform. Prior to version 3.4.4 of the `stable` branch, version 3.5.0.beta5 of the `beta` branch, and version 3.5.0.beta6-dev of the `tests-passed` branch, Codepen is present in the default `allowed_iframes` site setting, and it can potentially auto-run arbitrary JS in the iframe scope, which is unintended. This issue is patched in version 3.4.4 of the `stable` branch, version 3.5.0.beta5 of the `beta` branch, and version 3.5.0.beta6-dev of the `tests-passed` branch. As a workaround, the Codepen prefix can be removed from a site's `allowed_iframes`.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00426 37th percentileScored 2026-11-07
Fix Fixed discourse (discourse): 3.4.4, 3.5.0.beta5, 3.5.0.beta6-dev

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
None
Automatable
Yes
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
discoursediscoursebefore 3.4.4; before 3.5.0.beta5; before 3.5.0.beta6-dev3.4.4, 3.5.0.beta5, 3.5.0.beta6-devPatch availableCNA
  • discourse Vendordiscourse Affected before 3.4.4; before 3.5.0.beta5; before 3.5.0.beta6-dev Fixed in 3.4.4, 3.5.0.beta5, 3.5.0.beta6-dev Patch available CNA

CPE configurations NVD · 6

CPEVersionsRoleVendor
cpe:2.3:a:discourse:discourse:*:*:*:*:stable:*:*:*before 3.4.4Vulnerablediscourse
cpe:2.3:a:discourse:discourse:*:*:*:*:beta:*:*:*before 3.5.0Vulnerablediscourse
cpe:2.3:a:discourse:discourse:3.5.0:beta1:*:*:beta:*:*:*3.5.0 beta1Vulnerablediscourse
cpe:2.3:a:discourse:discourse:3.5.0:beta2:*:*:beta:*:*:*3.5.0 beta2Vulnerablediscourse
cpe:2.3:a:discourse:discourse:3.5.0:beta3:*:*:beta:*:*:*3.5.0 beta3Vulnerablediscourse
cpe:2.3:a:discourse:discourse:3.5.0:beta4:*:*:beta:*:*:*3.5.0 beta4Vulnerablediscourse
  • cpe:2.3:a:discourse:discourse:*:*:*:*:stable:*:*:* Versions before 3.4.4 Vulnerable ·discourse
  • cpe:2.3:a:discourse:discourse:*:*:*:*:beta:*:*:* Versions before 3.5.0 Vulnerable ·discourse
  • cpe:2.3:a:discourse:discourse:3.5.0:beta1:*:*:beta:*:*:* Versions 3.5.0 beta1 Vulnerable ·discourse
  • cpe:2.3:a:discourse:discourse:3.5.0:beta2:*:*:beta:*:*:* Versions 3.5.0 beta2 Vulnerable ·discourse
  • cpe:2.3:a:discourse:discourse:3.5.0:beta3:*:*:beta:*:*:* Versions 3.5.0 beta3 Vulnerable ·discourse
  • cpe:2.3:a:discourse:discourse:3.5.0:beta4:*:*:beta:*:*:* Versions 3.5.0 beta4 Vulnerable ·discourse

Remediation

  • Fix · CNA discourse (discourse) Fixed in 3.4.4, 3.5.0.beta5, 3.5.0.beta6-dev

Timeline

  1. 2026-10-02 Threatist record created from CVE-2025-48877

References

  • TI-2021-19656 Denial of Service in discourse CVSS 3.1MEDIUM 6.8
  • TI-2024-36150 Potential Backup file leaked via Nginx in Discourse CVSS 3.1HIGH 7.5
  • TI-2021-18002 RCE via malicious SNS subscription payload CVSS 3.1CRITICAL 10.0
  • TI-2026-24651 Discourse: Open redirect via `sso_destination_url` cookie in `enter` CVSS 4.0MEDIUM 5.1
  • TI-2026-22278 Discourse leaks private topic title and post excerpt via user action API endpoint CVSS 4.0HIGH 8.7
  • TI-2023-24152 Unauthenticated access to new private chat messages in Discourse CVSS 3.1HIGH 7.5
See all 262 →

Sources

This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences