{"id":"CVE-2021-25985","aliases":["EUVD-2021-12812","GHSA-j232-863r-9977"],"status":"published","title":"FactorJS - Insufficient Session Expiration Leads to a Local Account Takeover","description":"In Factor (App Framework \u0026 Headless CMS) v1.0.4 to v1.8.30, improperly invalidate a user’s session even after the user logs out of the application. In addition, user sessions are stored in the browser’s local storage, which by default does not have an expiration time. This makes it possible for an attacker to steal and reuse the cookies using techniques such as XSS attacks, followed by a local account takeover.","severity":{"version":"3.1","score":7.8,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H","level":"high","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-09","score":0.0078,"percentile":0.56181,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":false},"cwes":["CWE-613"],"published":"2021-11-16T09:45:19Z","modified":"2026-10-20T10:53:40Z","products":[{"vendor":"darwin","product":"factor"},{"vendor":"factorjs","product":"factor"}],"references":[{"url":"https://github.com/FactorJS/factor/blob/v1.8.30/%40factor/user/util.ts#L65","tags":["x_refsource_MISC","x_transferred","web"]},{"url":"https://www.whitesourcesoftware.com/vulnerability-database/CVE-2021-25985","tags":["x_refsource_MISC","x_transferred","Third Party Advisory","advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2021-25985"},{"url":"https://github.com/FactorJS/factor/blob/v1.8.30/@factor/user/util.ts#L65"},{"url":"https://github.com/advisories/GHSA-j232-863r-9977"}],"sources":{"cve":[{"id":"CVE-2021-25985","title":"FactorJS - Insufficient Session Expiration Leads to a Local Account Takeover","description":"In Factor (App Framework \u0026 Headless CMS) v1.0.4 to v1.8.30, improperly invalidate a user’s session even after the user logs out of the application. In addition, user sessions are stored in the browser’s local storage, which by default does not have an expiration time. This makes it possible for an attacker to steal and reuse the cookies using techniques such as XSS attacks, followed by a local account takeover.","status":"published","published":"2021-11-16T09:45:19Z","modified":"2025-04-30T15:44:32.788Z","cvss":[{"version":"3.1","score":7.8,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H","level":"high","assessor":"cna"}],"cwes":["CWE-613"],"updated_at":"2026-11-02T14:32:59.802172Z"}],"euvd":[{"id":"EUVD-2021-12812","description":"In Factor (App Framework \u0026 Headless CMS) v1.0.4 to v1.8.30, improperly invalidate a user’s session even after the user logs out of the application. In addition, user sessions are stored in the browser’s local storage, which by default does not have an expiration time. This makes it possible for an attacker to steal and reuse the cookies using techniques such as XSS attacks, followed by a local account takeover.","status":"published","published":"2021-11-16T09:45:19Z","modified":"2025-04-30T15:44:32Z","cvss":[{"version":"3.1","score":7.8,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H","level":"high"}],"updated_at":"2026-11-02T20:51:59.026225Z"}],"ghsa":[{"id":"GHSA-j232-863r-9977","title":"In Factor (App Framework \u0026 Headless CMS) v1.0.4 to v1.8.30, improperly invalidate a user’s...","description":"In Factor (App Framework \u0026 Headless CMS) v1.0.4 to v1.8.30, improperly invalidate a user’s session even after the user logs out of the application. In addition, user sessions are stored in the browser’s local storage, which by default does not have an expiration time. This makes it possible for an attacker to steal and reuse the cookies using techniques such as XSS attacks, followed by a local account takeover.","status":"published","published":"2022-05-24T22:28:43Z","modified":"2023-01-30T05:05:45Z","cwes":["CWE-613"],"updated_at":"2026-11-02T14:47:21.132905Z"}],"nvd":[{"id":"CVE-2021-25985","description":"In Factor (App Framework \u0026 Headless CMS) v1.0.4 to v1.8.30, improperly invalidate a user’s session even after the user logs out of the application. In addition, user sessions are stored in the browser’s local storage, which by default does not have an expiration time. This makes it possible for an attacker to steal and reuse the cookies using techniques such as XSS attacks, followed by a local account takeover.","status":"published","published":"2021-11-16T10:15:07.167Z","modified":"2026-06-17T03:42:43.977Z","cvss":[{"version":"3.1","score":7.8,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H","level":"high","assessor":"secondary"},{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical","assessor":"primary"},{"version":"2.0","score":7.5,"vector":"AV:N/AC:L/Au:N/C:P/I:P/A:P","level":"high","assessor":"primary"}],"cwes":["CWE-613"],"updated_at":"2026-11-02T14:07:00.984108Z"}],"osv":[{"id":"CVE-2021-25985","description":"In Factor (App Framework \u0026 Headless CMS) v1.0.4 to v1.8.30, improperly invalidate a user’s session even after the user logs out of the application. In addition, user sessions are stored in the browser’s local storage, which by default does not have an expiration time. This makes it possible for an attacker to steal and reuse the cookies using techniques such as XSS attacks, followed by a local account takeover.","status":"published","published":"2021-11-16T10:15:07.167Z","modified":"2026-10-20T10:53:40.970702179Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"updated_at":"2026-11-02T15:44:18.778776Z"}]}}
