Every CVE Search/ Get API key

CVE-2023-31287

Insufficient token expiration in Serenity

7.8 HighFix available

An issue was discovered in Serenity Serene (and StartSharp) before 6.7.0. Password reset links are sent by email. A link contains a token that is used to reset the password. This token remains valid even after the password reset and can be used a second time to change the password of the corresponding user. The token expires only 3 hours after issuance and is sent as a query parameter when resetting. An attacker with access to the browser history can thus use the token again to change the password in order to take over the account.

Attack profile

How easy it is to exploit

Attack vector
Local
Complexity
Low
Privileges needed
Low
User interaction
None

What an attacker can affect

Confidentiality
High
Integrity
High
Availability
High

Exploit likelihood

0.43%Up 0.4 points since Apr 27, 2023
90%50%10%1%

What each source reports

NVD Score used 7.8

An issue was discovered in Serenity Serene (and StartSharp) before 6.7.0. Password reset links are sent by email. A link contains a token that is used to reset the password. This token remains valid even after the password reset and can be used a second time to change the password of the corresponding user. The token expires only 3 hours after issuance and is sent as a query parameter when resetting. An attacker with access to the browser history can thus use the token again to change the password in order to take over the account.

Record
CVE-2023-31287
CVSS 3.1
7.8 HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Weakness
CWE-640
Updated
2026-11-02
CVE List 7.8

An issue was discovered in Serenity Serene (and StartSharp) before 6.7.0. Password reset links are sent by email. A link contains a token that is used to reset the password. This token remains valid even after the password reset and can be used a second time to change the password of the corresponding user. The token expires only 3 hours after issuance and is sent as a query parameter when resetting. An attacker with access to the browser history can thus use the token again to change the password in order to take over the account.

Record
CVE-2023-31287
CVSS 3.1
7.8 HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Weakness
CWE-640
Updated
2026-11-02
EUVDEUVD-2023-1158 7.8

An issue was discovered in Serenity Serene (and StartSharp) before 6.7.0. Password reset links are sent by email. A link contains a token that is used to reset the password. This token remains valid even after the password reset and can be used a second time to change the password of the corresponding user. The token expires only 3 hours after issuance and is sent as a query parameter when resetting. An attacker with access to the browser history can thus use the token again to change the password in order to take over the account.

Record
EUVD-2023-1158
CVSS 3.1
7.8 HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Updated
2026-11-03
GitHub AdvisoriesGHSA-2hp9-3xfr-r9w2 7.8

Insufficient token expiration in Serenity

An issue was discovered in Serenity Serene (and StartSharp) before 6.7.0. Password reset links are sent by email. A link contains a token that is used to reset the password. This token remains valid even after the password reset and can be used a second time to change the password of the corresponding user. The token expires only 3 hours after issuance and is sent as a query parameter when resetting. An attacker with access to the browser history can thus use the token again to change the password in order to take over the account.

Record
GHSA-2hp9-3xfr-r9w2
CVSS 3.1
7.8 HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Weakness
CWE-640
Updated
2026-11-02
OSV 7.8

An issue was discovered in Serenity Serene (and StartSharp) before 6.7.0. Password reset links are sent by email. A link contains a token that is used to reset the password. This token remains valid even after the password reset and can be used a second time to change the password of the corresponding user. The token expires only 3 hours after issuance and is sent as a query parameter when resetting. An attacker with access to the browser history can thus use the token again to change the password in order to take over the account.

Record
CVE-2023-31287
CVSS 3.1
7.8 HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Updated
2026-11-02
OSVGHSA-2hp9-3xfr-r9w2 7.8

Insufficient token expiration in Serenity

An issue was discovered in Serenity Serene (and StartSharp) before 6.7.0. Password reset links are sent by email. A link contains a token that is used to reset the password. This token remains valid even after the password reset and can be used a second time to change the password of the corresponding user. The token expires only 3 hours after issuance and is sent as a query parameter when resetting. An attacker with access to the browser history can thus use the token again to change the password in order to take over the account.

Record
GHSA-2hp9-3xfr-r9w2
CVSS 3.1
7.8 HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Weakness
CWE-640
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
Serenity.Net.Core
NuGet
before 6.7.0
6.7.0
Serenity.Net.Web
NuGet
before 6.7.0
6.7.0
Serenity.Net.Core
NuGet
before 6.7.0, plus listed versions
5.0.05.0.15.0.105.0.115.0.12
Show 45 moreShow less
5.0.135.0.175.0.185.0.195.0.25.0.205.0.215.0.225.0.235.0.245.0.255.0.265.0.275.0.285.0.295.0.35.0.305.0.315.0.325.0.335.0.345.0.355.0.365.0.375.0.385.0.395.0.45.0.405.0.415.0.425.0.435.0.445.0.455.0.465.0.475.0.485.0.495.0.55.0.505.0.515.0.65.0.75.0.85.0.95.1.0
6.7.0
Serenity.Net.Web
NuGet
before 6.7.0, plus listed versions
5.0.05.0.15.0.105.0.115.0.12
Show 45 moreShow less
5.0.135.0.175.0.185.0.195.0.25.0.205.0.215.0.225.0.235.0.245.0.255.0.265.0.275.0.285.0.295.0.35.0.305.0.315.0.325.0.335.0.345.0.355.0.365.0.375.0.385.0.395.0.45.0.405.0.415.0.425.0.435.0.445.0.455.0.465.0.475.0.485.0.495.0.55.0.505.0.515.0.65.0.75.0.85.0.95.1.0
6.7.0

History

History
RecordedChangedSources
aliasesEUVD
first indexedCVE List, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2023-31287 is a high vulnerability (CVSS 7.8) in Serenity Serene, published April 27, 2023. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.43%, the 38th percentile. Fixed in Serenity.Net.Core 6.7.0.

References

This page doesn't list everything

Left out here: 132 versions. The JSON record has them.

MoveEnter Open