Discourse: Stored XSS via unescaped actor name in post actions
Discourse is an open-source discussion platform. Prior to 2026.7.0, the post action component failed to escape user-controlled display names before interpolating them into an HTML string passed to trustHTML. A user who could choose a crafted display name could persist markup in post action descriptions. Viewing the affected user activity streams could execute attacker-controlled script in another user's browser. This issue is fixed in version 2026.7.0.
BIT-discourse-2026-59830
Primary source · Revision 1
Imported from structured advisory data. Source references identify upstream records or fields; verify affected versions and your deployed configuration.
Security context
Source reference: osv:BIT-discourse-2026-59830
discourse
Source reference: /affected/0/package/name
- Affected versions
- Not stated in this record
- Fixed versions
- 2026.7.0
Source reference:
/affected/0/ranges - Prerequisites
- Not stated in this record
Structured affected-version data
Original package identities and version rules from this source.
[
{
"ranges": [
{
"type": "SEMVER",
"events": [
{
"introduced": "0"
},
{
"fixed": "2026.7.0"
}
]
}
],
"package": {
"name": "discourse",
"purl": "pkg:bitnami/discourse",
"ecosystem": "Bitnami"
},
"severity": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N"
}
],
"database_specific": {
"source": "https://github.com/bitnami/vulndb/tree/main/data/discourse/BIT-discourse-2026-59830.json"
}
}
]- Related CVEs
- CVE-2026-59830
Source reference:
/aliases
Publisher severity
medium
Source reference: /database_specific/severity
- Event
- #25987 · Revision 1
- Added to Heist Feed
- Publisher date