Skip to main content

Unleash CVE-2026-76910

| EUVDEUVD-2026-84863 MEDIUM
Authorization Bypass Through User-Controlled Key (CWE-639)
2026-09-22 GitHub_M GHSA-8xcj-9hfr-fh9j
5.3
CVSS 4.0 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate as low-priv user with clone/create rights
  2. Delivery
    Guess or learn target project's unique feature name
  3. Exploit
    POST clone request naming source feature into own project
  4. Execution
    Server skips source-project authorization check
  5. Impact
    Inspect copied strategies, constraints, variants and payloads

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Object-level authorization, IDOR prevention
Exploitation Conditions

Requires an authenticated Unleash account holding create or clone permission in at least one project (PR:L, so not remote-unauthenticated), plus knowledge or a successful guess of a target feature's globally-unique name in a project the attacker cannot otherwise read. Exploitation targets the clone endpoint POST /api/admin/projects/:projectId/features/:featureName/clone (the cloneFeatureToggle operation) in versions prior to 8.0.3. Limiting factors: the attacker must already have a foothold with project-level clone/create rights, must know or enumerate the source feature name (feature names may leak via shared SDK access across projects), and impact is confined to disclosure of feature configuration (strategies, constraints, variants, payloads) with no write or availability effect.

Impact

This is a genuine but modest-severity broken-authorization (IDOR, CWE-639) issue, not a high-CVSS-but-low-real-risk misfire nor a critical priority. The vendor CVSS 4.0 base score is 5.3 with vector AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N - meaning network-reachable, low complexity, but requiring an authenticated low-privilege account (PR:L) and yielding only limited confidentiality impact (VC:L) with no integrity or availability impact. There is no EPSS score, no CISA KEV listing, and no evidence of active exploitation in the provided data, so exploitation status is best characterized by the fact that a proof-of-concept exists in the GHSA advisory but the flaw is not confirmed exploited in the wild. Notably, the vendor's own advisory states the vulnerability 'cannot be confirmed without Enterprise access' and is based on circumstantial evidence in the open-source repository, which is a conflicting/uncertainty signal worth flagging: the patch (commit 2dc6ac0e adding validateFeatureBelongsToProject) confirms the code path was fixed, but real-world confirmation of the disclosure was limited. Overall this is a data-confidentiality issue requiring an existing foothold, appropriate for routine patching rather than emergency response.

Exploit ScenarioDerived

An authenticated Unleash user who has clone or create permission in one project (P2) but no access to a restricted project (P1) sends POST /api/admin/projects/P2/features/secret-feature/clone, referencing a globally-unique feature name they know or guessed from P1. The clone succeeds because only destination-project authorization is checked, and the attacker then opens the copied feature in P2 to read its strategy parameters, constraints, variants, and variant payloads. A working proof-of-concept with the exact HTTP request is published in the GHSA-8xcj-9hfr-fh9j advisory.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.4% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Sep 22, 2026

Authenticated users of Unleash (npm unleash-server) prior to 8.0.3 who hold create or clone rights in any single project can abuse the clone-feature endpoint to copy a feature toggle out of a different project they cannot read, then inspect the copied strategy parameters, constraints, variants, and variant payloads. The flaw is a broken object-level authorization (CWE-639) in cloneFeatureToggle and POST /api/admin/projects/:projectId/features/:featureName/clone: the destination project is authorized but the source project is never checked, and because feature names are globally unique an attacker only needs the target feature's name (which may leak through SDKs shared across projects). Impact is limited to information disclosure (CVSS 4.0 5.3, PR:L, no integrity or availability effect); the vendor fixed it in 8.0.3 and no public exploit or CISA KEV entry was identified at time of analysis.

RemediationAI

Upgrade to Unleash 8.0.3 or later - the vendor-released fix is tagged at https://github.com/Unleash/unleash/releases/tag/v8.0.3 and the code change is commit 2dc6ac0e8ba524ec7a2e9bc96a0e01d9d6f5a35a (see https://github.com/Unleash/unleash/security/advisories/GHSA-8xcj-9hfr-fh9j), which enforces validateFeatureBelongsToProject on the source feature before cloning and stops error responses from disclosing which project owns a feature name. If immediate upgrade is not possible, compensating controls should target the prerequisites: restrict project-level create/clone permissions to a minimal trusted set of users and service accounts (trade-off: slows legitimate cross-project flag creation), avoid predictable or guessable feature names and audit for names reused across public SDK tokens (trade-off: renaming breaks existing client integrations and requires SDK rollout), rotate or narrow SDK tokens that expose feature names across multiple projects (trade-off: can disrupt clients reading those flags), and monitor or temporarily block POST requests matching /api/admin/projects/*/features/*/clone at a reverse proxy or WAF in environments where cross-project cloning is not a legitimate workflow (trade-off: false positives for teams that do use the clone feature and potential breakage of the admin UI). Treat any pre-8.0.3 audit-log entries showing clones into projects the caller was not a member of as evidence of configuration disclosure.

Affected VersionsENISA

unleash < 8.0.3

Affected Packages

npm unleash-server fix: 8.0.3
euvd unleash fix: 8.0.3

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 2 packages in npm, euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Unleash is an open-source feature-management platform (feature flags/toggles) whose admin API is organized around projects; each feature toggle belongs to a project but its name is enforced as globally unique across the instance. In src/lib/features/feature-toggle/feature-toggle-service.ts the cloneFeatureToggle operation is a cross-project copy that must authorize two distinct objects: read/copy rights on the source feature's owning project and create rights on the destination project. Only the destination was validated, so the server-side authorization check was incomplete - the classic CWE-639 authorization-bypass-through-user-controlled-key pattern, where the client-supplied featureName resolves to an object outside the caller's authorization scope. The upstream fix adds an explicit call to featureService.validateFeatureBelongsToProject({ featureName, projectId }, false) in the controller before the clone proceeds, ensuring the referenced feature actually belongs to the project path being authorized; the same commit also parameterizes that helper with exposeExistingFeature so the API no longer returns an error message naming the project that already owns a feature name (an enumeration side channel). The CPE cpe:2.3:a:unleash:unleash:*:*:*:*:*:*:*:* reflects that all pre-8.0.3 releases are in scope. The assessor's authoritative CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N) confirms an authenticated, network-reachable, low-privilege disclosure primitive with no write or availability impact.

Know when Unleash 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

Vendor (GitHub_M) PRIMARY 5.3 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N
vuln.today AI 4.3 MEDIUM

Authenticated low-priv user (PR:L) exploits an authorization gap over the network with no interaction; impact is limited confidentiality disclosure of feature config only, so C:L and I/A:N.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
Low
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

1
Patch available
Sep 22, 2026 - 22:18 EUVD

DescriptionCVE.org

Unleash is an open-source feature management platform. Prior to 8.0.3, cloneFeatureToggle and POST /api/admin/projects/:projectId/features/:featureName/clone authorize creation in the destination project but do not verify access to the source project. Because feature names are globally unique, a user with create or clone permission in one project who knows or guesses another project's feature name can copy that feature into the authorized project and inspect its strategy parameters, constraints, variants, and variant payloads. This issue is fixed in version 8.0.3.

Threat Intelligence Overview

EPSS Score
0.4%
Top 65% exploitable
Prevalence
Medium
widely-adopted open-source feature-flag platform, but a specific-purpose dev tool not everywhere
Threat Intel
1
1 source
Exploit
POC
Public exploit code exists
Data Quality
5 sources
Confidence: Medium
EUVD NVD CVE.org EPSS Vulnrichment GHSA GitHub

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.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC Yes
EPSS 0.4%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

46
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +26
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy