HIGH7.8
GHSA-2hp9-3xfr-r9w2
Insufficient token expiration in Serenity
Quick fix
GHSA-2hp9-3xfr-r9w2 — Serenity.Net.Core: upgrade to the fixed version with the command below.
dotnet add package Serenity.Net.Core --version 6.7.0Details
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.
Are you affected?
Enter the version of the package you're using.
Affected packages
NuGet/Serenity.Net.Core
Introduced in:
0Fixed in: 6.7.0Fix
dotnet add package Serenity.Net.Core --version 6.7.0NuGet/Serenity.Net.Web
Introduced in:
0Fixed in: 6.7.0Fix
dotnet add package Serenity.Net.Web --version 6.7.0References
- https://nvd.nist.gov/vuln/detail/CVE-2023-31287[ADVISORY]
- https://github.com/serenity-is/Serenity/commit/11b9d267f840513d04b4f4d4876de7823a6e48d2[WEB]
- https://github.com/serenity-is/Serenity[PACKAGE]
- https://packetstorm.news/files/id/172648[WEB]
- http://packetstormsecurity.com/files/172648/Serenity-StartSharp-Software-File-Upload-XSS-User-Enumeration-Reusable-Tokens.html[WEB]
- http://seclists.org/fulldisclosure/2023/May/14[WEB]