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, when a user requests for a password reset link email, then changes their primary email, the old reset email is still valid. When the old reset email is used to reset the password, the Discourse account's primary email would be re-linked to the old email. If the old email address is compromised or has transferred ownership, this leads to an account takeover. This is however mitigated by the SiteSetting email_token_valid_hours
which is currently 48 hours. Users should upgrade to versions 2.8.14 or 3.0.0.beta15 to receive a patch. As a workaround, lower email_token_valid_hours
as needed.
{ "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": "High" }