Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain hard-coded JWT secret from public source
-
DeliveryForge admin JWT signed with known key
-
ExploitSubmit forged token to refly API
-
ExecutionAuthenticate as arbitrary/admin user
-
ImpactAccess or modify application data
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V6 - Authentication Credential externalization
MITRE ATT&CK
2 techniques across 2 tactics: Persistence, Credential Access The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires that the deployment run with the hard-coded/default JWT signing secret present in apps/api/src/modules/config/app.config.ts (the 'test' input value) rather than an operator-supplied secret. Where that default is used, no special conditions apply - remote unauthenticated token forgery works against default configurations of refly <=1.1.0 (AV:N/AC:L/PR:N/UI:N). The primary limiting factor is configuration: an operator who overrides the JWT secret with a strong environment-provided value is not exploitable. No user interaction is required. |
| Impact | The vendor's CVSS 4.0 vector (AV:N/AC:L/PR:N/UI:N, VC:L/VI:L/VA:L, E:P) rates this 6.9 (medium), treating the impact as merely 'low' across confidentiality, integrity and availability. That understates the class of flaw: CWE-798 hard-coded credentials in a JWT Token Handler means the token-signing secret (seeded from an 'input test' default) is publicly known, so any remote unauthenticated attacker can forge valid JWTs and impersonate arbitrary users - including administrators. That is a full authentication bypass (consistent with the 'Authentication Bypass' tag), which realistically warrants HIGH confidentiality and integrity impact, not 'low'. On the raw signals: attack vector is network, complexity low, no privileges and no user interaction required, and public POC exploit code exists (E:P, confirmed by the GitHub write-up). There is NO CISA KEV listing and NO EPSS score in the provided data, so there is no evidence of active mass exploitation - the appropriate framing is 'publicly available exploit code exists,' distinct from in-the-wild abuse. Net: the technical severity is higher than the vendor's 6.9 suggests, but real-world priority is tempered by the product's limited deployment footprint and the fact that a security-conscious operator who overrode the default secret is not affected. Verify against the vendor/source whether the hard-coded value is a hard override or merely a fallback default, as that materially changes impact. |
| Exploit ScenarioDerived | A remote attacker reads the publicly disclosed hard-coded JWT secret from the refly source (apps/api/src/modules/config/app.config.ts) and uses it to sign a forged JWT asserting an administrator identity. They present the forged token to the API and are granted authenticated access without any credentials. Public exploit code demonstrating this is already available on GitHub. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 28, 2026
Refly through 1.1.0 uses a hard-coded JWT signing secret in apps/api/src/modules/config/app.config.ts, allowing unauthenticated remote attackers to forge authentication tokens and impersonate any user when deployments retain the default 'test' secret. Publicly available exploit code exists, and the vendor did not respond to the disclosure. The configuration is the limiting factor: operators who override the JWT secret with a strong environment-provided value are not exploitable.
RemediationAI
No vendor-released patch identified at time of analysis; the vendor was contacted early but did not respond. Until an official fix is issued, operators of refly <=1.1.0 must override the hard-coded JWT signing secret: set the JWT secret via the documented environment variable (or edit apps/api/src/modules/config/app.config.ts) to a strong random value such as one generated with openssl rand -base64 48, ensure the application does not fall back to the 'test' default, and restart the API service. Rotate all existing JWTs and invalidate active sessions because tokens signed with the old default may already have been forged; this will log out all users and break integrations using old tokens. As compensating controls, restrict network access to the API with a firewall, VPN, or reverse-proxy authentication, and monitor logs for anomalous token usage. References: https://vuldb.com/vuln/410910 and the exploit write-up https://github.com/DReazer/CV3/blob/main/refly/Hard-coded.md.
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 vulnerability is a classic CWE-798 use of hard-coded credentials in the JWT token handler of refly-ai's refly platform. The JWT signing secret is embedded in the source file apps/api/src/modules/config/app.config.ts with the value 'test', and if the application falls back to this default (rather than requiring an operator-supplied secret via environment variable), any remote attacker who knows the secret can craft valid JSON Web Tokens signed with HMAC. Because JWT authentication typically encodes user identity and roles, a forged token can impersonate arbitrary users, including administrators, yielding high confidentiality and integrity impact. The CPE cpe:2.3:a:refly-ai:refly:*:*:*:*:*:*:*:* indicates all versions are potentially affected, with 1.1.0 being the latest at disclosure. The vendor's CVSS 4.0 vector (6.9, VC:L/VI:L/VA:L) treats impact as low, but independent assessment rates confidentiality and integrity as high under default configuration; availability is unaffected. No user interaction is required, and exploitation is unauthenticated (PR:N).
Know when Refly 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:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N/E:P
A known hard-coded JWT signing secret lets an unauthenticated remote attacker forge tokens and impersonate any user (full auth bypass), so PR:N/AC:L with C:H/I:H; no direct availability impact.
Primary rating from Vendor (VulDB).
CVSS VectorVendor: VulDB
Lifecycle Timeline
2DescriptionCVE.org
A security vulnerability has been detected in refly-ai refly up to 1.1.0. This issue affects some unknown processing of the file apps/api/src/modules/config/app.config.ts of the component JWT Token Handler. The manipulation with the input test leads to hard-coded credentials. It is possible to initiate the attack remotely. The exploit has been disclosed publicly and may be used. The vendor was contacted early about this disclosure but did not respond in any way.
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
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
EUVD-2026-88217
GHSA-rjf7-j2f2-fmhv
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB