CVE-2026-72731 PUBLISHED

Discourse: Strip SQL comments and use non-recursive parameter interpolation in Data Explorer

Assigner: GitHub_M
Reserved: 10.08.2026 Published: 10.08.2026 Updated: 10.08.2026

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.

Metrics

CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:N
CVSS Score: 7.1

Product Status

Vendor discourse
Product discourse
Versions
  • Version < 2026.1.7 is affected
  • Version >= 2026.6.0-latest, < 2026.6.2 is affected
  • Version >= 2026.7.0-latest, < 2026.7.1 is affected
  • Version >= 2026.8.0-latest, < 2026.8.0-latest.1 is affected

References

Problem Types

  • CWE-89: Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection') CWE