Vulnerability from bitnami_vulndb
Published
2024-03-06 11:01
Modified
2025-05-20 10:02
Summary
Discourse vulnerable to Cross-site Scripting through pending post titles descriptions
Details
Discourse is an option source discussion platform. Prior to version 2.8.14 on the stable branch and version 3.0.0.beta16 on the beta and tests-passed branches, pending post titles can be used for cross-site scripting attacks. Pending posts can be created by unprivileged users when a category has the "require moderator approval of all new topics" setting set. This vulnerability can lead to a full XSS on sites which have modified or disabled Discourse’s default Content Security Policy. A patch is available in versions 2.8.14 and 3.0.0.beta16.
{
"affected": [
{
"package": {
"ecosystem": "Bitnami",
"name": "discourse",
"purl": "pkg:bitnami/discourse"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "2.8.14"
}
],
"type": "SEMVER"
}
],
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N",
"type": "CVSS_V3"
}
]
}
],
"aliases": [
"CVE-2023-22454"
],
"database_specific": {
"cpes": [
"cpe:2.3:a:discourse:discourse:*:*:*:*:stable:*:*:*",
"cpe:2.3:a:discourse:discourse:*:*:*:*:*:*:*:*",
"cpe:2.3:a:discourse:discourse:1.1.0:beta1:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.1.0:beta2:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.1.0:beta3:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.1.0:beta4:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.1.0:beta5:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.1.0:beta6:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.1.0:beta6b:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.1.0:beta7:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.1.0:beta8:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.2.0:beta1:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.2.0:beta2:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.2.0:beta3:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.2.0:beta4:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.2.0:beta5:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.2.0:beta6:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.2.0:beta7:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.2.0:beta8:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.2.0:beta9:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.3.0:beta10:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.3.0:beta11:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.3.0:beta1:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.3.0:beta2:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.3.0:beta3:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.3.0:beta4:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.3.0:beta5:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.3.0:beta6:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.3.0:beta7:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.3.0:beta8:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.3.0:beta9:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.4.0:beta10:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.4.0:beta11:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.4.0:beta12:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.4.0:beta1:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.4.0:beta2:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.4.0:beta3:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.4.0:beta4:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.4.0:beta5:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.4.0:beta6:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.4.0:beta7:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.4.0:beta8:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.4.0:beta9:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.5.0:beta10:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.5.0:beta11:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.5.0:beta12:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.5.0:beta13:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.5.0:beta13b:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.5.0:beta14:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.5.0:beta1:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.5.0:beta2:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.5.0:beta3:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.5.0:beta4:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.5.0:beta5:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.5.0:beta6:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.5.0:beta7:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.5.0:beta8:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.5.0:beta9:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.6.0:beta10:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.6.0:beta11:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.6.0:beta12:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.6.0:beta1:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.6.0:beta2:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.6.0:beta3:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.6.0:beta4:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.6.0:beta5:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.6.0:beta6:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.6.0:beta7:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.6.0:beta8:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.6.0:beta9:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.7.0:beta10:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.7.0:beta11:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.7.0:beta1:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.7.0:beta2:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.7.0:beta3:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.7.0:beta4:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.7.0:beta5:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.7.0:beta6:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.7.0:beta7:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.7.0:beta8:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.7.0:beta9:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.8.0:beta10:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.8.0:beta11:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.8.0:beta12:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.8.0:beta13:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.8.0:beta1:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.8.0:beta2:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.8.0:beta3:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.8.0:beta4:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.8.0:beta5:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.8.0:beta6:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.8.0:beta7:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.8.0:beta8:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.8.0:beta9:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.9.0:beta10:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.9.0:beta11:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.9.0:beta12:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.9.0:beta13:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.9.0:beta14:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.9.0:beta15:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.9.0:beta16:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.9.0:beta17:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.9.0:beta1:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.9.0:beta2:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.9.0:beta3:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.9.0:beta4:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.9.0:beta5:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.9.0:beta6:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.9.0:beta7:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.9.0:beta8:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:1.9.0:beta9:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:2.0.0:beta10:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:2.0.0:beta1:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:2.0.0:beta2:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:2.0.0:beta3:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:2.0.0:beta4:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:2.0.0:beta5:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:2.0.0:beta6:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:2.0.0:beta7:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:2.0.0:beta8:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:2.0.0:beta9:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:2.1.0:beta1:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:2.1.0:beta2:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:2.1.0:beta3:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:2.1.0:beta4:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:2.1.0:beta5:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:2.1.0:beta6:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:2.2.0:beta10:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:2.2.0:beta1:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:2.2.0:beta2:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:2.2.0:beta3:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:2.2.0:beta4:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:2.2.0:beta5:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:2.2.0:beta6:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:2.2.0:beta7:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:2.2.0:beta8:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:2.2.0:beta9:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:2.3.0:beta10:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:2.3.0:beta11:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:2.3.0:beta1:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:2.3.0:beta2:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:2.3.0:beta3:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:2.3.0:beta4:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:2.3.0:beta5:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:2.3.0:beta6:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:2.3.0:beta7:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:2.3.0:beta8:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:2.3.0:beta9:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:2.4.0:beta10:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:2.4.0:beta11:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:2.4.0:beta1:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:2.4.0:beta2:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:2.4.0:beta3:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:2.4.0:beta4:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:2.4.0:beta5:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:2.4.0:beta6:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:2.4.0:beta7:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:2.4.0:beta8:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:2.4.0:beta9:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:2.5.0:beta1:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:2.5.0:beta2:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:2.5.0:beta3:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:2.5.0:beta4:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:2.5.0:beta5:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:2.5.0:beta6:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:2.5.0:beta7:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:2.6.0:beta1:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:2.6.0:beta2:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:2.6.0:beta3:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:2.6.0:beta4:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:2.6.0:beta5:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:2.6.0:beta6:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:2.7.0:beta1:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:2.7.0:beta2:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:2.7.0:beta3:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:2.7.0:beta4:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:2.7.0:beta5:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:2.7.0:beta6:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:2.7.0:beta7:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:2.7.0:beta8:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:2.7.0:beta9:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:2.8.0:beta10:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:2.8.0:beta11:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:2.8.0:beta1:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:2.8.0:beta2:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:2.8.0:beta3:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:2.8.0:beta4:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:2.8.0:beta5:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:2.8.0:beta6:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:2.8.0:beta7:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:2.8.0:beta8:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:2.8.0:beta9:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:2.9.0:beta10:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:2.9.0:beta11:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:2.9.0:beta12:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:2.9.0:beta13:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:2.9.0:beta14:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:2.9.0:beta1:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:2.9.0:beta2:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:2.9.0:beta3:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:2.9.0:beta4:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:2.9.0:beta5:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:2.9.0:beta6:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:2.9.0:beta7:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:2.9.0:beta8:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:2.9.0:beta9:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:3.0.0:beta15:*:*:beta:*:*:*",
"cpe:2.3:a:discourse:discourse:*:*:*:*:beta:*:*:*"
],
"severity": "Medium"
},
"details": "Discourse is an option source discussion platform. Prior to version 2.8.14 on the `stable` branch and version 3.0.0.beta16 on the `beta` and `tests-passed` branches, pending post titles can be used for cross-site scripting attacks. Pending posts can be created by unprivileged users when a category has the \"require moderator approval of all new topics\" setting set. This vulnerability can lead to a full XSS on sites which have modified or disabled Discourse\u2019s default Content Security Policy. A patch is available in versions 2.8.14 and 3.0.0.beta16.",
"id": "BIT-discourse-2023-22454",
"modified": "2025-05-20T10:02:07.006Z",
"published": "2024-03-06T11:01:50.862Z",
"references": [
{
"type": "WEB",
"url": "https://github.com/discourse/discourse/commit/c0e2d7badac276d82a4056a994b48d68a8993a12"
},
{
"type": "WEB",
"url": "https://github.com/discourse/discourse/security/advisories/GHSA-ggq4-4qxc-c462"
},
{
"type": "WEB",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2023-22454"
}
],
"schema_version": "1.5.0",
"summary": "Discourse vulnerable to Cross-site Scripting through pending post titles descriptions"
}
Loading…
Loading…
Sightings
| Author | Source | Type | Date |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
Loading…
Loading…