CVE-2023-45816
Discourse is an open source platform for community discussion. Prior to version 3.1.3 of the `stable` branch and version 3.2.0.beta3 of the `beta` and `tests-passed` branches, there is an edge case where a bookmark reminder is sent and an unread notification is generated, but the underlying bookmarkable (e.g. post, topic, chat message) security has changed, making it so the user can no longer access the underlying resource. As of version 3.1.3 of the `stable` branch and version 3.2.0.beta3 of the `beta` and `tests-passed` branches, bookmark reminders are now no longer sent if the user does not have access to the underlying bookmarkable, and also the unread bookmark notifications are always filtered by access. There are no known workarounds.
CVSS
- Versión: 3.1
- Vector: CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:N
- Puntuación base: 3.3
Probabilidad de explotación (EPSS)
- Probabilidad de explotación en los próximos 30 días: 0.26%
- Percentil entre todas las CVEs puntuadas: 17
- Fecha de la puntuación: 7/10/2026
EPSS (Exploit Prediction Scoring System, de FIRST) estima la probabilidad de que una vulnerabilidad sea explotada en 30 días. Complementa a CVSS (impacto) y a CISA KEV (explotación confirmada).
Tecnologías afectadas (1)
CWE
- CWE-200
Referencias
- https://github.com/discourse/discourse/commit/2c45b949ea0e9d6fa8e5af2dd07f6521ede08bf1
- https://github.com/discourse/discourse/commit/3c5fb871c0f54af47679ae71ad449666b01d8216
- https://github.com/discourse/discourse/security/advisories/GHSA-v9r6-92wp-f6cf
- https://github.com/discourse/discourse/commit/2c45b949ea0e9d6fa8e5af2dd07f6521ede08bf1
- https://github.com/discourse/discourse/commit/3c5fb871c0f54af47679ae71ad449666b01d8216
- https://github.com/discourse/discourse/security/advisories/GHSA-v9r6-92wp-f6cf
JSON original (NVD)
Mostrar
{
"id": "CVE-2023-45816",
"cveTags": [],
"metrics": {
"ssvcV203": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"ssvcData": {
"id": "CVE-2023-45816",
"role": "CISA Coordinator",
"options": [
{
"exploitation": "none"
},
{
"automatable": "no"
},
{
"technicalImpact": "partial"
}
],
"version": "2.0.3",
"timestamp": "2024-09-03T17:40:30.497970Z"
}
}
],
"cvssMetricV31": [
{
"type": "Secondary",
"source": "security-advisories@github.com",
"cvssData": {
"scope": "UNCHANGED",
"version": "3.1",
"baseScore": 3.3,
"attackVector": "LOCAL",
"baseSeverity": "LOW",
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:N",
"integrityImpact": "NONE",
"userInteraction": "REQUIRED",
"attackComplexity": "LOW",
"availabilityImpact": "NONE",
"privilegesRequired": "NONE",
"confidentialityImpact": "LOW"
},
"impactScore": 1.4,
"exploitabilityScore": 1.8
},
{
"type": "Primary",
"source": "nvd@nist.gov",
"cvssData": {
"scope": "UNCHANGED",
"version": "3.1",
"baseScore": 3.3,
"attackVector": "LOCAL",
"baseSeverity": "LOW",
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:N",
"integrityImpact": "NONE",
"userInteraction": "REQUIRED",
"attackComplexity": "LOW",
"availabilityImpact": "NONE",
"privilegesRequired": "NONE",
"confidentialityImpact": "LOW"
},
"impactScore": 1.4,
"exploitabilityScore": 1.8
}
]
},
"affected": [
{
"source": "security-advisories@github.com",
"affectedData": [
{
"vendor": "discourse",
"product": "discourse",
"versions": [
{
"status": "affected",
"version": "< 3.1.3"
},
{
"status": "affected",
"version": ">= 3.2.0.beta0, < 3.2.0.beta3"
}
]
}
]
}
],
"published": "2023-11-10T15:15:08.667",
"references": [
{
"url": "https://github.com/discourse/discourse/commit/2c45b949ea0e9d6fa8e5af2dd07f6521ede08bf1",
"tags": [
"Patch"
],
"source": "security-advisories@github.com"
},
{
"url": "https://github.com/discourse/discourse/commit/3c5fb871c0f54af47679ae71ad449666b01d8216",
"tags": [
"Patch"
],
"source": "security-advisories@github.com"
},
{
"url": "https://github.com/discourse/discourse/security/advisories/GHSA-v9r6-92wp-f6cf",
"tags": [
"Vendor Advisory"
],
"source": "security-advisories@github.com"
},
{
"url": "https://github.com/discourse/discourse/commit/2c45b949ea0e9d6fa8e5af2dd07f6521ede08bf1",
"tags": [
"Patch"
],
"source": "af854a3a-2127-422b-91ae-364da2661108"
},
{
"url": "https://github.com/discourse/discourse/commit/3c5fb871c0f54af47679ae71ad449666b01d8216",
"tags": [
"Patch"
],
"source": "af854a3a-2127-422b-91ae-364da2661108"
},
{
"url": "https://github.com/discourse/discourse/security/advisories/GHSA-v9r6-92wp-f6cf",
"tags": [
"Vendor Advisory"
],
"source": "af854a3a-2127-422b-91ae-364da2661108"
}
],
"vulnStatus": "Modified",
"weaknesses": [
{
"type": "Secondary",
"source": "security-advisories@github.com",
"description": [
{
"lang": "en",
"value": "CWE-200"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "Discourse is an open source platform for community discussion. Prior to version 3.1.3 of the `stable` branch and version 3.2.0.beta3 of the `beta` and `tests-passed` branches, there is an edge case where a bookmark reminder is sent and an unread notification is generated, but the underlying bookmarkable (e.g. post, topic, chat message) security has changed, making it so the user can no longer access the underlying resource. As of version 3.1.3 of the `stable` branch and version 3.2.0.beta3 of the `beta` and `tests-passed` branches, bookmark reminders are now no longer sent if the user does not have access to the underlying bookmarkable, and also the unread bookmark notifications are always filtered by access. There are no known workarounds."
},
{
"lang": "es",
"value": "Discourse es una plataforma de código abierto para el debate comunitario. Antes de la versión 3.1.3 de la rama \"stable\" y la versión 3.2.0.beta3 de las ramas \"beta\" y \"tests-passed\", existe un caso extremo en el que se envía un recordatorio de marcador y se genera una notificación de no leídos. pero la seguridad subyacente de los marcadores (por ejemplo, publicación, tema, mensaje de chat) ha cambiado, por lo que el usuario ya no puede acceder al recurso subyacente. A partir de la versión 3.1.3 de la rama \"stable\" y la versión 3.2.0.beta3 de las ramas \"beta\" y \"tests-passed\", los recordatorios de marcadores ya no se envían si el usuario no tiene acceso al marcador subyacente, y además las notificaciones de marcadores no leídos siempre se filtran por acceso. No se conocen workarounds."
}
],
"lastModified": "2026-06-17T06:29:35.013",
"configurations": [
{
"nodes": [
{
"negate": false,
"cpeMatch": [
{
"criteria": "cpe:2.3:a:discourse:discourse:*:*:*:*:stable:*:*:*",
"vulnerable": true,
"matchCriteriaId": "8E31336C-750D-4039-A89F-FF602B59098C",
"versionEndExcluding": "3.1.3"
},
{
"criteria": "cpe:2.3:a:discourse:discourse:*:*:*:*:beta:*:*:*",
"vulnerable": true,
"matchCriteriaId": "E10444D1-B4E6-4EA7-A56E-95BD0FA3E39D",
"versionEndExcluding": "3.2.0"
},
{
"criteria": "cpe:2.3:a:discourse:discourse:3.2.0:beta1:*:*:beta:*:*:*",
"vulnerable": true,
"matchCriteriaId": "1BFF647B-6CEF-43BF-BF5E-C82B557F78E2"
},
{
"criteria": "cpe:2.3:a:discourse:discourse:3.2.0:beta2:*:*:beta:*:*:*",
"vulnerable": true,
"matchCriteriaId": "10D931DE-F8F5-4A34-A30A-FDD4420ABD1A"
}
],
"operator": "OR"
}
]
}
],
"sourceIdentifier": "security-advisories@github.com"
}