What’s Vulnerable › Vulnerabilities
CVE-2026-72731: Discourse: Strip SQL comments and use non-recursive parameter interpolation in Data Explorer
- Severity: high (CVSS 7.1 v3.1)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 0.4% probability of exploitation in the next 30 days
- Public exploit or detection template: none known
- Published: 2026-08-10 · updated 2026-09-08
- Weakness: CWE-89
Description
Discourse is an open-source discussion platform. From 2026.1.0-latest until 2026.1.7, 2026.6.2, 2026.7.1, and 2026.8.0-latest.1, anyone able to run a parameterized Data Explorer query, including non-staff members of a group a query is shared with, could craft parameter values that escaped the intended query and executed arbitrary SQL through plugins/discourse-data-explorer/lib/discourse_data_explorer/data_explorer.rb and plugins/discourse-data-explorer/lib/discourse_data_explorer/workflows/sql_action/v1.rb. Recursive parameter interpolation allowed one parameter value to introduce another parameter, and parameter declarations in SQL comments could be used to inject a statement. Queries run in a read-only transaction, so data could not be modified, but any table could be read. This issue is fixed in versions 2026.1.7, 2026.6.2, 2026.7.1, and 2026.8.0-latest.1.
Affected products
- discourse: before 2026.1.7; from 2026.6.0-latest, < 2026.6.2; from 2026.7.0-latest, < 2026.7.1; from 2026.8.0-latest, < 2026.8.0-latest.1
References
- https://github.com/discourse/discourse/commit/2bdab888cef561348470dee204a4879d83fbb5c3
- https://github.com/discourse/discourse/commit/3dc7f0da7aa18548281152e285244efb1cc8ad0d
- https://github.com/discourse/discourse/commit/674ba6fc64184fd7d8e21183c5d8cb22367faa6e
- https://github.com/discourse/discourse/commit/ce9ccf24ec3538172dc8f8199728e08f63e57693
- https://github.com/discourse/discourse/security/advisories/GHSA-wm63-83xp-59r5
Get alerted when CVE-2026-72731 or the next vulnerability affects your stack