Skip to content
Heist/ feed
Back to feed
Medium

Discourse CSP nonce reuse vulnerability for anonymous users

Type: advisorySources: OSV

Discourse is an open source discussion platform. Prior to version 3.1.0.beta7 of the `beta` and `tests-passed` branches, a CSP (Content Security Policy) nonce reuse vulnerability was discovered could allow cross-site scripting (XSS) attacks to bypass CSP protection for anonymous (i.e. unauthenticated) users. There are no known XSS vectors at the moment, but should one be discovered, this vulnerability would allow the XSS attack to bypass CSP and execute successfully. This vulnerability isn't applicable to logged-in users. Version 3.1.0.beta7 contains a patch. The stable branch doesn't have this vulnerability. A workaround to prevent the vulnerability is to disable Google Tag Manager, i.e., unset the `gtm container id` setting.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2023-37467
Confirmed fixed CVEs
Not specified
Updated in this feed
2 Nov 2026, 21:17 UTC · Revision 1

Source evidence

Discourse CSP nonce reuse vulnerability for anonymous users

core-osv · Original source

Published 28 Jul 2023, 14:42 UTC

Discourse is an open source discussion platform. Prior to version 3.1.0.beta7 of the `beta` and `tests-passed` branches, a CSP (Content Security Policy) nonce reuse vulnerability was discovered could allow cross-site scripting (XSS) attacks to bypass CSP protection for anonymous (i.e. unauthenticated) users. There are no known XSS vectors at the moment, but should one be discovered, this vulnerability would allow the XSS attack to bypass CSP and execute successfully. This vulnerability isn't applicable to logged-in users. Version 3.1.0.beta7 contains a patch. The stable branch doesn't have this vulnerability. A workaround to prevent the vulnerability is to disable Google Tag Manager, i.e., unset the `gtm container id` setting.

osv:CVE-2023-37467
Complete source record
{
  "id": "7cc7a77ce17e3de363ffdd84f862b2297ae7f546a399b0ea1cd9bb685b5ae06c",
  "url": "https://osv.dev/vulnerability/CVE-2023-37467",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "Discourse CSP nonce reuse vulnerability for anonymous users",
    "summary": "Discourse is an open source discussion platform. Prior to version 3.1.0.beta7 of the `beta` and `tests-passed` branches, a CSP (Content Security Policy) nonce reuse vulnerability was discovered could allow cross-site scripting (XSS) attacks to bypass CSP protection for anonymous (i.e. unauthenticated) users. There are no known XSS vectors at the moment, but should one be discovered, this vulnerability would allow the XSS attack to bypass CSP and execute successfully. This vulnerability isn't applicable to logged-in users. Version 3.1.0.beta7 contains a patch. The stable branch doesn't have this vulnerability. A workaround to prevent the vulnerability is to disable Google Tag Manager, i.e., unset the `gtm container id` setting.",
    "evidence": "osv:CVE-2023-37467",
    "products": [],
    "severity": "medium",
    "structured": {
      "id": "CVE-2023-37467",
      "aliases": [
        "BIT-discourse-2023-37467",
        "CVE-2023-37467",
        "GHSA-gr5h-hm62-jr3j"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/discourse/discourse",
              "type": "GIT",
              "events": [
                {
                  "introduced": "17daf077e2f11def391859f83d294bb71760b1cf"
                },
                {
                  "fixed": "263afe6b6a9d36ac9512cc32f82a4f7a53f0ee7e"
                },
                {
                  "fixed": "0976c8fad6970b6182e7837bf87de07709407f25"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "3.1.0.beta1"
                      },
                      {
                        "fixed": "3.1.0.beta7"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StringRangeExpression"
                  },
                  {
                    "range": [
                      {
                        "fixed": "0976c8fad6970b6182e7837bf87de07709407f25"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  }
                ]
              }
            }
          ],
          "versions": [
            "1.1.0-beta1",
            "1.1.0-beta2",
            "1.1.0-beta3",
            "1.1.0-beta4",
            "1.1.0-beta5",
            "1.1.0-beta6",
            "1.1.0-beta7",
            "1.1.0-beta8",
            "1.2.0-beta1",
            "1.2.0-beta2",
            "1.2.0-beta3",
            "1.2.0-beta4",
            "1.2.0-beta5",
            "1.2.0-beta6",
            "1.2.0-beta7",
            "1.2.0-beta8",
            "1.2.0-beta9",
            "1.3.0-beta1",
            "1.3.0-beta10",
            "1.3.0-beta11",
            "1.3.0-beta2",
            "1.3.0-beta3",
            "1.3.0-beta4",
            "1.3.0-beta5",
            "1.3.0-beta6",
            "1.3.0-beta7",
            "1.3.0-beta8",
            "1.3.0-beta9",
            "1.4.0-beta1",
            "1.4.0-beta10",
            "1.4.0-beta11",
            "1.4.0-beta12",
            "1.4.0-beta2",
            "1.4.0-beta3",
            "1.4.0-beta4",
            "1.4.0-beta5",
            "1.4.0-beta7",
            "1.4.0-beta8",
            "1.4.0-beta9",
            "1.5.0-beta1",
            "1.5.0-beta10",
            "1.5.0-beta11",
            "1.5.0-beta12",
            "1.5.0-beta13",
            "1.5.0-beta14",
            "1.5.0-beta2",
            "1.5.0-beta3",
            "1.5.0-beta4",
            "1.5.0-beta5",
            "1.5.0-beta6",
            "1.5.0-beta7",
            "1.5.0-beta8",
            "1.5.0-beta9",
            "1.6.0-beta1",
            "1.6.0-beta10",
            "1.6.0-beta11",
            "1.6.0-beta12",
            "1.6.0-beta2",
            "1.6.0-beta3",
            "1.6.0-beta4",
            "1.6.0-beta5",
            "1.6.0-beta6",
            "1.6.0-beta7",
            "1.6.0-beta8",
            "1.6.0-beta9",
            "1.7.0-beta1",
            "1.7.0-beta10",
            "1.7.0-beta11",
            "1.7.0-beta2",
            "1.7.0-beta3",
            "1.7.0-beta4",
            "1.7.0-beta5",
            "1.7.0-beta6",
            "1.7.0-beta7",
            "1.7.0-beta8",
            "1.7.0-beta9",
            "1.8.0-beta1",
            "1.8.0-beta10",
            "1.8.0-beta11",
            "1.8.0-beta12",
            "1.8.0-beta13",
            "1.8.0-beta2",
            "1.8.0-beta3",
            "1.8.0-beta4",
            "1.8.0-beta5",
            "1.8.0-beta6",
            "1.8.0-beta7",
            "1.8.0-beta8",
            "1.8.0-beta9",
            "1.9.0-beta1",
            "1.9.0-beta10",
            "1.9.0-beta11",
            "1.9.0-beta12",
            "1.9.0-beta13",
            "1.9.0-beta14",
            "1.9.0-beta15",
            "1.9.0-beta16",
            "1.9.0-beta17",
            "1.9.0-beta2",
            "1.9.0-beta3",
            "1.9.0-beta4",
            "1.9.0-beta5",
            "1.9.0-beta6",
            "1.9.0-beta7",
            "1.9.0-beta8",
            "1.9.0-beta9",
            "2.0.0-beta1",
            "2.0.0-beta10",
            "2.0.0-beta2",
            "2.0.0-beta3",
            "2.0.0-beta4",
            "2.0.0-beta5",
            "2.0.0-beta6",
            "2.0.0-beta7",
            "2.0.0-beta8",
            "2.0.0-beta9",
            "2.1.0-beta1",
            "2.1.0-beta2",
            "2.1.0-beta3",
            "2.1.0-beta4",
            "2.1.0-beta5",
            "2.1.0-beta6",
            "2.2.0-beta1",
            "2.2.0-beta10",
            "2.2.0-beta2",
            "2.2.0-beta3",
            "2.2.0-beta4",
            "2.2.0-beta5",
            "2.2.0-beta6",
            "2.2.0-beta7",
            "2.2.0-beta8",
            "2.2.0-beta9",
            "2.3.0-beta1",
            "2.3.0-beta10",
            "2.3.0-beta11",
            "2.3.0-beta2",
            "2.3.0-beta3",
            "2.3.0-beta4",
            "2.3.0-beta5",
            "2.3.0-beta6",
            "2.3.0-beta7",
            "2.3.0-beta8",
            "2.3.0-beta9",
            "2.4.0-beta1",
            "2.4.0-beta10",
            "2.4.0-beta11",
            "2.4.0-beta2",
            "2.4.0-beta3",
            "2.4.0-beta4",
            "2.4.0-beta5",
            "2.4.0-beta6",
            "2.4.0-beta7",
            "2.4.0-beta8",
            "2.4.0-beta9",
            "2.5.0-beta1",
            "2.5.0-beta2",
            "2.5.0-beta3",
            "2.5.0-beta4",
            "2.5.0-beta5",
            "2.5.0-beta6",
            "2.5.0-beta7",
            "2.6.0-beta1",
            "2.6.0-beta2",
            "2.6.0-beta3",
            "2.6.0-beta4",
            "2.6.0-beta5",
            "2.6.0-beta6",
            "2.7.0-beta1",
            "2.7.0-beta2",
            "2.7.0-beta3",
            "2.7.0-beta4",
            "2.7.0-beta5",
            "2.7.0-beta6",
            "2.7.0-beta7",
            "2.7.0-beta8",
            "2.7.0-beta9",
            "2.8.0-beta1",
            "2.8.0-beta10",
            "2.8.0-beta11",
            "2.8.0-beta2",
            "2.8.0-beta3",
            "2.8.0-beta4",
            "2.8.0-beta5",
            "2.8.0-beta6",
            "2.8.0-beta7",
            "2.8.0-beta8",
            "2.8.0-beta9",
            "2.9.0-beta1",
            "2.9.0-beta10",
            "2.9.0-beta11",
            "2.9.0-beta12",
            "2.9.0-beta13",
            "2.9.0-beta14",
            "2.9.0-beta2",
            "2.9.0-beta3",
            "2.9.0-beta4",
            "2.9.0-beta5",
            "2.9.0-beta6",
            "2.9.0-beta7",
            "2.9.0-beta8",
            "2.9.0-beta9",
            "3.0.0-beta15",
            "3.0.0-beta16",
            "3.1.0-beta1",
            "3.1.0-beta2",
            "3.1.0-beta3",
            "3.1.0-beta5",
            "3.1.0-beta6",
            "v3.1.0.beta6",
            "v3.1.0.beta5",
            "v3.1.0.beta4",
            "v3.1.0.beta3",
            "v3.1.0.beta2",
            "v3.1.0.beta1"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2023-37467.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:23.718150922Z",
      "provider": "osv",
      "references": [
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2023/37xxx/CVE-2023-37467.json",
        "https://github.com/discourse/discourse/security/advisories/GHSA-gr5h-hm62-jr3j",
        "https://nvd.nist.gov/vuln/detail/CVE-2023-37467",
        "https://github.com/discourse/discourse/commit/0976c8fad6970b6182e7837bf87de07709407f25"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-323"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2023/37xxx/CVE-2023-37467.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2023-37467",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 490004,
  "published_at": "2023-07-28T14:42:06.159+00:00"
}