LiveActive security incident?Get immediate response
CVE Record

CVE-2021-25985: FactorJS - Insufficient Session Expiration Leads to a Local Account Takeover

In Factor (App Framework & 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.

HighCVSS 7.8Not KEV-listedUpdated
Glexia's TakeAutomated analysishigh

Security readout for executives and security teams

Plain-English summary

FactorJS Factor did not properly end user sessions after logout, and session data stored in browser local storage had no default expiration. If an attacker obtained that session data, they could reuse it and take over the local account. The sources do not show active exploitation or a named fixed version.

Executive priority

Treat this as a high-priority session management issue for any exposed FactorJS-based application. Business urgency depends on whether affected Factor versions are deployed and whether attackers could steal browser session material.

Technical view

CVE-2021-25985 is a CWE-613 insufficient session expiration issue in Factor App Framework and Headless CMS versions 1.0.4 through 1.8.30. Logout did not reliably invalidate sessions, while browser localStorage retained session material indefinitely. Reuse of stolen session material could compromise confidentiality, integrity, and availability.

Likely exposure

Exposure is likely limited to applications built on FactorJS Factor versions 1.0.4 through 1.8.30 that use the affected user session handling. Public internet exposure increases impact if the application also has XSS or session theft paths.

Exploitation context

The bundle does not include CISA KEV status or a cited report of exploitation in the wild. The described attack depends on obtaining reusable session material, for example through XSS or local browser access, followed by session reuse.

Researcher notes

Evidence is limited to the CVE record, CVE List entry, referenced Factor source, and WhiteSource advisory. The provided sources identify the flaw and affected version range but do not name a patch, workaround, or active exploitation.

Mitigation direction

  • Inventory FactorJS Factor deployments and identify versions 1.0.4 through 1.8.30.
  • Check current FactorJS or advisory guidance for a fixed version or vendor-approved workaround.
  • Force logout and rotate sessions for users of affected applications after remediation.
  • Reduce XSS risk in affected apps through output encoding and content security controls.
  • Avoid long-lived session material in browser localStorage where application changes are feasible.

Validation and detection

  • Confirm whether the application depends on FactorJS Factor user session utilities.
  • Review package manifests or lockfiles for Factor versions in the affected range.
  • Test whether logout invalidates the server-side session, without reusing captured tokens offensively.
  • Check browser storage for persistent session material after logout and browser restart.
  • Review logs for unusual account access following logout or from unexpected clients.
Prepared
Confidence
medium
Sources
4

Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.

Potential ATT&CK relevance

Conservative CVE-to-ATT&CK context

These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.

ATT&CK lookup starting points

Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.

cwe · low confidence lookup

CWE-613: Exact CWE lookup

Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.

Open ATT&CK lookup
cve · low confidence lookup

CVE-2021-25985 mapping review

Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.

Open ATT&CK lookup
Vulnerability profileCVE Program record
Severity
High
CVSS
7.8 (3.1)
Known Exploited
No
Published

Vector: CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H

Official CVE source material

CNA and ADP enrichment extracted from CVE v5

These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.

1CVSS vectors
0Timeline events
0ADP providers
3Source links

CVSS vector scores

1 official score

We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.

ScoreVersionSeverityVectorExploitImpactSource
7.8CVSS 3.1HighCVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H1.85.9Primary CVE score

Vulnerability scoring details

Base CVSS 3.1 score

7.8High
CVSS 3.1 vector shape for CVE-2021-25985Attack VectorAttack ComplexityPrivileges RequiredUser InteractionScopeConfidentiality ImpactIntegrity ImpactAvailability Impact

Vector: CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H

Attack Vector
NetworkAdjacentLocalPhysical
Attack Complexity
LowHigh
Privileges Required
NoneLowHigh
User Interaction
NoneRequired
Scope
ChangedUnchanged
Confidentiality Impact
HighLowNone
Integrity Impact
HighLowNone
Availability Impact
HighLowNone
Affected products

Products and packages named in the record

VendorProductVersion / packageStatus
FactorJSFactor1.0.4, unspecifiedListed
Weakness

CWE details

CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.

CWE-613 · source CWE mapping

Insufficient Session Expiration

Insufficient Session Expiration represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.