Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain prior admin access to Flame
-
DeliveryPOST to login endpoint with crafted duration parameter
-
ExploitServer signs near-permanent JWT with static secret
-
ExecutionRetain valid admin token after password reset
-
ImpactPersist full dashboard control
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V7 - Session Management Session expiration enforcement
|
| Exploitation Conditions | Requires that the attacker previously held administrator access to the Flame dashboard (PR:H) - this is a persistence/re-entry flaw, not initial access. Exploitation succeeds because the login endpoint accepts an attacker-controlled, unvalidated token duration parameter and Flame signs all tokens with a single static JWT secret generated once (initSecret.js) and never rotated, so previously issued tokens remain valid across password changes and admin deprovisioning. What LIMITS exploitation: the attacker must already possess valid admin credentials/session at least once; the flaw does not help an unprivileged remote attacker gain first-time access. Mitigation hinges on rotating the JWT secret (which the current code does not do), which is not exposed as a routine operation. |
| Impact | This is a moderate-severity persistence flaw, not a high-priority mass-exploitation risk. The CVSS 4.0 score of 5.9 (AV:N/AC:H/AT:P/PR:H/UI:N/VC:L/VI:H/VA:N) is honest: PR:H and AT:P reflect that the attacker must ALREADY possess admin access (a 'former admin'), so this is a post-compromise persistence primitive rather than an initial-access vector. No EPSS score, no CISA KEV listing, and no public POC were provided, so exploitation status is: no public exploit identified at time of analysis. The primary impact is integrity (VI:H) - minting long-lived tokens that survive password changes because the JWT secret is static and never rotated - with only minor confidentiality exposure (VC:L). Note a data conflict: the input Tags label this 'Information Disclosure,' but the CWE-613 (insufficient session expiration) and the integrity-dominant vector show this is a broken-session-management / privilege-persistence issue, not info disclosure - the tag is mislabeled. There is no SSVC decision data supplied. Net: a real but low-urgency issue whose blast radius is limited to environments where an admin credential was already exposed or an admin was deprovisioned without rotating the JWT secret. |
| Exploit ScenarioDerived | A user who once held Flame admin access (e.g., a departed employee or a temporarily-compromised admin session) calls the login endpoint and supplies an arbitrary, oversized duration parameter, minting a JWT valid for years. Because tokens are signed with a static, never-rotated secret and are not invalidated on password change, the attacker retains full dashboard control even after the organization 'revokes' access by resetting the admin password. No public POC is identified, and the CVSS AC:H/AT:P indicates the attack depends on the attacker's prior privilege rather than being trivially repeatable. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 25, 2026
Flame dashboards running version 2.4.0 and earlier will sign administrator JSON Web Tokens with whatever lifespan a caller supplies, letting a previously privileged user mint a near-permanent admin token that survives password changes and account deprovisioning. Exploitation is authenticated (PR:H in the assessed vector) and requires that the attacker already held admin access at least once, so this is a persistence and re-entry flaw rather than a route to first-time compromise. Because every token is verified against a single static JWT secret that Flame generates once and never rotates, revocation is effectively impossible without manual secret replacement; no public exploit code or confirmed active exploitation was identified at time of analysis.
RemediationAI
No vendor-released patch version is identified in the available data, so the decisive compensating control is JWT secret rotation: delete or replace the secret file generated by utils/init/initSecret.js and restart Flame so a fresh secret is produced (or set one explicitly), which immediately invalidates every previously issued token, including any near-permanent admin token created through this flaw. The trade-off is that all legitimate users are logged out and must re-authenticate, and rotating the secret again later is the only way to revoke tokens going forward since the code offers no per-session revocation. Until a fix is released, administrators should also treat any prior admin credential exposure as unremediated by password changes alone, force a secret rotation after removing an admin, restrict dashboard network exposure (bind to localhost, place behind a reverse proxy with authentication, or block the login endpoint from untrusted networks), and audit for tokens with unusually distant expiration claims. Monitor the upstream repository and issue https://github.com/pawelmalak/flame/issues/494 plus the advisory at https://www.vulncheck.com/advisories/flame-through-2.4.0-admin-token-insufficient-session-expiration for a patched release, at which point upgrading past 2.4.0 should be paired with a secret rotation to clear any lingering tokens.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The issue is a CWE-613 Insufficient Session Expiration defect in the Node.js/Express-based Flame dashboard (pawelmalak/flame). Per the referenced source, controllers/auth/login.js (lines 9-17) passes a client-supplied duration value into the token-signing path without validating or clamping it, so an authenticated administrator can request an arbitrarily long expiry. utils/signToken.js (line 4) then issues a JWT whose only integrity anchor is the application-wide secret produced by utils/init/initSecret.js (lines 8-25); that secret is generated a single time and is never rotated. Session validity is therefore determined solely by that static secret and the embedded expiration claim rather than by any server-side session record tied to the account, password, or role. As a result, password resets, credential rotation, and removal of the administrator account do not invalidate previously issued tokens - the JWT continues to verify until it expires, and the attacker controls how far out that expiration is set. The reported CVSS 4.0 vector (AV:N/AC:H/AT:P/PR:H/UI:N/VC:L/VI:H/VA:N) indicates a network-reachable, authenticated, high-complexity attack that yields low confidentiality impact but high integrity impact through unauthorized modification of the dashboard, consistent with an independent CVSS 3.1 assessment of AV:N/AC:H/PR:H/UI:N/S:U/C:L/I:H/A:N. The advisory is associated with GitHub issue #494 in the upstream repository.
Know when Node.js gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:H/AT:P/PR:H/UI:N/VC:L/VI:H/VA:N/SC:N/SI:N/SA:N
Attacker must already hold admin access (PR:H) and success depends on prior privilege/secret conditions (AC:H); impact is durable admin control (I:H) with minor confidentiality (C:L) and no availability loss.
Primary rating from Vendor (vulncheck).
CVSS VectorVendor: vulncheck
DescriptionCVE.org
Flame through 2.4.0 contains an insufficient session expiration vulnerability in the login endpoint that allows attackers with former admin access to obtain tokens with arbitrary lifespans by supplying unvalidated duration parameters. Attackers can mint near-permanent administrator tokens that survive password changes, retaining full control of the dashboard since tokens are verified only against a static JWT secret that is never rotated.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Remote code execution in n8n's workflow expression evaluation system allows an authenticated user with workflow creation
A vulnerability in the NuPoint Unified Messaging (NPM) component of Mitel MiCollab through 9.8 SP1 FP2 (9.8.1.201) could
FortiOS and FortiProxy contain an authentication bypass via the Node.js websocket module allowing unauthenticated remote
Denial of service against HTTP/2 server implementations allows remote unauthenticated attackers to exhaust server resour
Eval injection vulnerability in the internals.batch function in lib/batch.js in the bassmaster plugin before 1.5.2 for t
Flowise version 3.0.5 contains a remote code execution vulnerability in the CustomMCP node. The mcpServerConfig paramete
Node.js 8.5.0 before 8.6.0 allows remote attackers to access unintended files, because a change to ".." handling was inc
An issue was discovered in the node-serialize package 0.0.4 for Node.js. Rated critical severity (CVSS 9.8), this vulner
OpenSSL before 0.9.8za, 1.0.0 before 1.0.0m, and 1.0.1 before 1.0.1h does not properly restrict processing of ChangeCiph
Directory traversal vulnerability in the st module before 0.2.5 for Node.js allows remote attackers to read arbitrary fi
Multiple SQL injection vulnerabilities in the Manage Accounts page in the AccountManagement.asmx service in the Solarwin
The JS-YAML module before 2.0.5 for Node.js parses input without properly considering the unsafe !!js/function tag, whic
EUVD-2026-87368
GHSA-h3fx-87pr-c7fx
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB