CVE-2026-27740 json
Discourse has Stored XSS in AI Triage Automation
published 2026-03-19 7 mo ago modified 2026-09-08 2 mo ago also BIT-discourse-2026-27740 , EUVD-2026-13194 , GHSA-95hc-42c6-wvvr
- cvss
- 6.1
- version 3.1, NVD
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.3%
- EPSS 0.3% chance of exploitation in 30 days, percentile 28%
- public exploits
- 0
- none known
Summary
Discourse is an open-source discussion platform. Versions prior to 2026.3.0-latest.1, 2026.2.1, and 2026.1.2 have a cross-site scripting vulnerability that arises because the system trusts the raw output from an AI Large Language Model (LLM) and renders it using htmlSafe in the Review Queue interface without adequate sanitization. A malicious attacker can use valid Prompt Injection techniques to force the AI to return a malicious payload (e.g., tags). When a Staff member (Admin/Moderator) views the flagged post in the Review Queue, the payload executes. Versions 2026.3.0-latest.1, 2026.2.1, and 2026.1.2 contain a patch. As a workaround, temporarily disable AI triage automation scripts.
Patch / fix
- bitnami discourse 2026.1.2, 2026.2.1, 2026.3.0
- discourse discourse 2026.1.2, 2026.2.1
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- partial
- Assessed
- 7 mo ago
Exploit prediction
0.34% chance of exploitation in the next 30 days, higher than 28% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 4.0 | 5.1 | CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:L/VI:L/VA:N/SC:L/SI:L/SA:N |
| CNA | 4.0 | 5.1 | CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:L/VI:L/VA:N/SC:L/SI:L/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
| NVD | 3.1 | 6.1 | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| bitnami | discourse | >=2026.1.0, <2026.1.2 >=2026.2.0, <2026.2.1 >=2026.3.0, <2026.3.0 |
2026.1.2 2026.2.1 2026.3.0 |
Affected products
- discourse discourse
Classification
- Weakness
-
- CWE-79 Improper Neutralization of Input During Web Page Generation
References
-
github.com
/discourse/discourse/commit/44b84439df7e4424b2e7f216fd8fdd7dacff2227
patch
-
github.com
/discourse/discourse/commit/8ae7cb2414d6918d7fc45e1fda7ffbb32912a975
patch
-
github.com
/discourse/discourse/commit/ed70949f2c047196f33cfa94f2819df29c5d1e5f
patch
-
github.com
/discourse/discourse/security/advisories/GHSA-95hc-42c6-wvvr
vendor-advisory, advisory
-
nvd.nist.gov
/vuln/detail/CVE-2026-27740
web
Sources
- CVE List CVE-2026-27740
- NVD CVE-2026-27740
- OSV BIT-discourse-2026-27740
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.