{ "schema_version": "1.4.0", "id": "GHSA-2hp9-3xfr-r9w2", "modified": "2025-01-31T21:35:22Z", "published": "2023-04-27T03:30:23Z", "aliases": [ "CVE-2023-31287" ], "summary": "Insufficient token expiration in Serenity", "details": "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.", "severity": [ { "type": "CVSS_V3", "score": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H" } ], "affected": [ { "package": { "ecosystem": "NuGet", "name": "Serenity.Net.Core" }, "ranges": [ { "type": "ECOSYSTEM", "events": [ { "introduced": "0" }, { "fixed": "6.7.0" } ] } ] }, { "package": { "ecosystem": "NuGet", "name": "Serenity.Net.Web" }, "ranges": [ { "type": "ECOSYSTEM", "events": [ { "introduced": "0" }, { "fixed": "6.7.0" } ] } ] } ], "references": [ { "type": "ADVISORY", "url": "https://nvd.nist.gov/vuln/detail/CVE-2023-31287" }, { "type": "WEB", "url": "https://github.com/serenity-is/Serenity/commit/11b9d267f840513d04b4f4d4876de7823a6e48d2" }, { "type": "PACKAGE", "url": "https://github.com/serenity-is/Serenity" }, { "type": "WEB", "url": "https://packetstorm.news/files/id/172648" }, { "type": "WEB", "url": "http://packetstormsecurity.com/files/172648/Serenity-StartSharp-Software-File-Upload-XSS-User-Enumeration-Reusable-Tokens.html" }, { "type": "WEB", "url": "http://seclists.org/fulldisclosure/2023/May/14" } ], "database_specific": { "cwe_ids": [ "CWE-640" ], "severity": "HIGH", "github_reviewed": true, "github_reviewed_at": "2023-04-27T17:09:21Z", "nvd_published_at": "2023-04-27T03:15:10Z" } }