Presence of restricted personal Discourse messages may be leaked if tagged with a tag
Discourse is an open-source messaging platform. In versions 3.0.1 and prior on the `stable` branch and versions 3.1.0.beta2 and prior on the `beta` and `tests-passed` branches, the count of personal messages displayed for a tag is a count of all personal messages regardless of whether the personal message is visible to a given user. As a result, any users can technically poll a sensitive tag to determine if a new personal message is created even if the user does not have access to the personal message. In the patched versions, the count of personal messages tagged with a given tag is hidden by default. To revert to the old behaviour of displaying the count of personal messages for a given tag, an admin may enable the `display_personal_messages_tag_counts` site setting.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2023-23935
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 4 Nov 2026, 17:06 UTC · Revision 1
Source evidence
Presence of restricted personal Discourse messages may be leaked if tagged with a tag
core-osv · Original sourcePublished 16 Mar 2023, 20:21 UTC
Discourse is an open-source messaging platform. In versions 3.0.1 and prior on the `stable` branch and versions 3.1.0.beta2 and prior on the `beta` and `tests-passed` branches, the count of personal messages displayed for a tag is a count of all personal messages regardless of whether the personal message is visible to a given user. As a result, any users can technically poll a sensitive tag to determine if a new personal message is created even if the user does not have access to the personal message. In the patched versions, the count of personal messages tagged with a given tag is hidden by default. To revert to the old behaviour of displaying the count of personal messages for a given tag, an admin may enable the `display_personal_messages_tag_counts` site setting.
osv:CVE-2023-23935
Complete source record
{
"id": "0a09947cf80e4d3f5f5d329182d645782b194566ecfea4ca1a4a12592433d9cb",
"url": "https://osv.dev/vulnerability/CVE-2023-23935",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "Presence of restricted personal Discourse messages may be leaked if tagged with a tag",
"summary": "Discourse is an open-source messaging platform. In versions 3.0.1 and prior on the `stable` branch and versions 3.1.0.beta2 and prior on the `beta` and `tests-passed` branches, the count of personal messages displayed for a tag is a count of all personal messages regardless of whether the personal message is visible to a given user. As a result, any users can technically poll a sensitive tag to determine if a new personal message is created even if the user does not have access to the personal message. In the patched versions, the count of personal messages tagged with a given tag is hidden by default. To revert to the old behaviour of displaying the count of personal messages for a given tag, an admin may enable the `display_personal_messages_tag_counts` site setting.",
"evidence": "osv:CVE-2023-23935",
"products": [],
"severity": "low",
"structured": {
"id": "CVE-2023-23935",
"aliases": [
"BIT-discourse-2023-23935",
"CVE-2023-23935",
"GHSA-rf8j-mf8c-82v7"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:L/I:N/A:N"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/discourse/discourse",
"type": "GIT",
"events": [
{
"introduced": "4571b10ee5a3c46249271b2870d6eaf37994460f"
},
{
"fixed": "f31f0b70f82c43d93220ce6fc0d4f57440452f37"
}
],
"database_specific": {
"extracted_events": [
{
"range": [
{
"introduced": "stable <= 3.0.1"
},
{
"last_affected": "stable <= 3.0.1"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StandaloneSingleVersion"
},
{
"range": [
{
"introduced": "beta <= 3.1.0.beta2"
},
{
"last_affected": "beta <= 3.1.0.beta2"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StandaloneSingleVersion"
},
{
"range": [
{
"introduced": "tests-passed <= 3.1.0.beta2"
},
{
"last_affected": "tests-passed <= 3.1.0.beta2"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StandaloneSingleVersion"
},
{
"range": [
{
"fixed": "f31f0b70f82c43d93220ce6fc0d4f57440452f37"
}
],
"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",
"beta <= 3.1.0.beta2",
"stable <= 3.0.1"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2023-23935.json"
}
}
],
"modified": "2026-10-28T02:30:37.673293722Z",
"provider": "osv",
"references": [
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2023/23xxx/CVE-2023-23935.json",
"https://github.com/discourse/discourse/security/advisories/GHSA-rf8j-mf8c-82v7",
"https://nvd.nist.gov/vuln/detail/CVE-2023-23935",
"https://github.com/discourse/discourse/commit/f31f0b70f82c43d93220ce6fc0d4f57440452f37"
],
"provider_metadata": {
"cwe_ids": [
"CWE-200"
],
"cna_assigner": "GitHub_M",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2023/23xxx/CVE-2023-23935.json"
}
},
"related_cves": [
{
"value": "CVE-2023-23935",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 505148,
"published_at": "2023-03-16T20:21:13.539+00:00"
}