Discourse CSP nonce reuse vulnerability for anonymous users
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 sourcePublished 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"
}