serenity-is/serenity · Security
Insufficient token expiration in Serenity
- GHSA ID
- GHSA-2hp9-3xfr-r9w2
- CVE ID
- CVE-2023-31287
- Severity
- high
- Published
- Updated
- CVSS
- 7.8 · CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
- CVSS v3
- 7.8 · CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Description
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.
CWEs
- CWE-640 · Weak Password Recovery Mechanism for Forgotten Password
References
- https://nvd.nist.gov/vuln/detail/CVE-2023-31287 ↗
- https://github.com/serenity-is/Serenity/commit/11b9d267f840513d04b4f4d4876de7823a6e48d2 ↗
- http://seclists.org/fulldisclosure/2023/May/14 ↗
- http://packetstormsecurity.com/files/172648/Serenity-StartSharp-Software-File-Upload-XSS-User-Enumeration-Reusable-Tokens.html ↗
- https://packetstorm.news/files/id/172648 ↗
- https://github.com/advisories/GHSA-2hp9-3xfr-r9w2 ↗