Skip to main content

Unleash CVE-2026-77425

| EUVDEUVD-2026-84865 MEDIUM
Authorization Bypass Through User-Controlled Key (CWE-639)
2026-09-22 GitHub_M GHSA-5ffh-6f9q-5hhr
4.3
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Access
    Authenticate with UPDATE_FEATURE_STRATEGY in own project
  2. Delivery
    Enumerate victim project/feature strategy IDs
  3. Exploit
    POST set-sort-order with own projectId in URL, victim IDs in body
  4. Execution
    Handler writes sort_order by primary key without context check
  5. Persist
    Reorder victim strategies, flip flag evaluation precedence
  6. Impact
    Tampering logged under attacker's context, evading victim audit trail

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 user who already holds the UPDATE_FEATURE_STRATEGY permission in at least one project, plus knowledge of the target's strategy IDs (primary keys). Full cross-project impact requires a multi-project Pro or Enterprise deployment running a version prior to 8.0.3; the single-project OSS edition is still affected but limited to unauthorized reordering across features/environments within the default project. Limiting factors: valid credentials and an existing project role (PR:L, so not exploitable by fully unauthenticated attackers), the need to enumerate/know victim strategy IDs, and an impact ceiling of only sort_order changes - strategy parameters, constraints, and segments cannot be altered. No user interaction is required.

Impact

This is a genuine but low-severity authorization (IDOR/BOLA, CWE-639) flaw, not a high-CVSS crisis. The vendor CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N = 4.3) is consistent with the description: exploitation is network-reachable and low-complexity but requires an authenticated user holding UPDATE_FEATURE_STRATEGY in at least one project, and the impact is limited to integrity (I:L) with no confidentiality or availability effect. No EPSS score, no CISA KEV listing, and no public exploit were provided, so the correct exploitation status is 'no public exploit identified at time of analysis' - do not treat this as actively exploited. Signals are internally consistent (no CVSS-vs-description conflict): the missing object-level check is confirmed by the GHSA advisory and the fix commit 43e8db37, which adds an allSortOrdersAreAlreadyKnown validation that rejects strategy IDs not already belonging to the URL-scoped environment. The realistic priority is moderate-to-low: it matters most in multi-project Pro/Enterprise deployments where cross-tenant integrity and audit-trail integrity are concerns, and it is bounded because only sort_order (evaluation precedence) can be changed - not strategy parameters, constraints, or segments.

Exploit ScenarioDerived

An authenticated low-privilege member of Project A in a multi-project Unleash Pro/Enterprise instance obtains the strategy IDs of a feature in Project B (which they have no role on), then sends POST /api/admin/projects/A/features/.../strategies/set-sort-order with Project B's strategy IDs in the body. RBAC passes because it only checks the URL's project, and the handler reorders the victim project's activation strategies - flipping which strategy 'wins' in production - while the audit event is attributed to the attacker's project context. No public proof-of-concept was provided, but the fix commit and its e2e test effectively demonstrate the mutation path.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.3% 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 who hold the UPDATE_FEATURE_STRATEGY permission in any single project can reorder the activation strategies of features in other projects, features, or environments in Unleash prior to 8.0.3, because the set-sort-order endpoint authorizes only against the project ID in the URL and then writes strategy IDs taken from the request body by primary key without verifying they belong to that context. In multi-project Pro or Enterprise deployments this is a cross-project integrity write that can flip which activation strategy takes precedence for another team's flag in production and is recorded under the attacker's own project context, while the single-project OSS edition is still affected but limited to unauthorized reordering across features or environments within the default project. The assessed severity is low (CVSS 3.1 4.3, AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N) - it requires a valid project role and knowledge of victim strategy IDs, and the impact ceiling is only sort_order changes, since strategy parameters, constraints, and segments cannot be altered; no public exploit identified at time of analysis.

RemediationAI

Vendor-released patch: upgrade Unleash to 8.0.3 or later, which introduces the missing ownership validation in updateStrategiesSortOrder (fix commit 43e8db37b846921c8a94db58b44935ecbd15d9d1, advisory GHSA-5ffh-6f9q-5hhr, release https://github.com/Unleash/unleash/releases/tag/v8.0.3). If immediate upgrading is not possible, restrict the blast radius by reviewing who holds UPDATE_FEATURE_STRATEGY in multi-project deployments and removing that permission from users who do not need to edit strategies in production - the trade-off is reduced self-service for flag owners; note this is only a reduction, not a fix, since any user who retains the permission in one project can still reach the endpoint. Additionally, monitor and alert on POST requests to .../strategies/set-sort-order where the strategy IDs in the request body do not resolve to the project/feature/environment named in the URL, since that pattern is the exploitation signature, and reconcile sort_order changes against the affected project's expected audit trail because the operation is logged under the attacker's context rather than the victim's; these detections require centralized API or reverse-proxy logging and add operational overhead but do not block legitimate reorders.

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 distributed as the npm package unleash-server (CPE cpe:2.3:a:unleash:unleash:*:*:*:*:*:*:*:*). The flaw is an instance of CWE-639, Authorization Bypass Through User-Controlled Key (also described as IDOR/BOLA): the RBAC middleware correctly gates POST /api/admin/projects/:projectId/features/:featureName/environments/:environment/strategies/set-sort-order behind the project-scoped UPDATE_FEATURE_STRATEGY permission, but the handler setStrategiesSortOrder (src/lib/features/feature-toggle/feature-toggle-controller.ts) passes the URL parameters as context and forwards the raw request body to updateStrategiesSortOrder, which writes the supplied strategy IDs directly to the database by primary key. The sibling write paths in the same service (updateStrategy, patchStrategy, deleteStrategy) all invoke validateUpdatedProperties(), which rejects a strategy whose stored projectId/featureName does not match the URL context; set-sort-order is the asymmetric exception that omits this binding check. Activation-strategy ordering is security-relevant because the first matching strategy determines a flag's rollout and variant outcome, so reordering can change evaluation precedence for another project's flag; a secondary effect is that the mutating operation is attributed to the attacker's URL context rather than the victim's, so the tampering may not appear in the victim project's audit trail. The fix commit adds a validation that every submitted sort-order entry must correspond to an ID already present in the existing order for that environment, raising a BadDataError otherwise.

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 4.3 MEDIUM
AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N
vuln.today AI 4.3 MEDIUM

Authenticated project member (PR:L) makes a low-complexity network API call; impact is limited to integrity of evaluation ordering (I:L), with no confidentiality or availability effect.

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

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
Low
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, POST /api/admin/projects/:projectId/features/:featureName/environments/:environment/strategies/set-sort-order passes attacker-controlled strategy IDs to unprotectedUpdateStrategiesSortOrder and updateSortOrder without verifying that the IDs belong to the project, feature, and environment authorized by the URL. In a multi-project Pro or Enterprise deployment, an authenticated user with UPDATE_FEATURE_STRATEGY in one project who knows another project's strategy IDs can reorder those strategies, changing feature evaluation precedence while the operation is attributed to the attacker's URL context rather than the affected project. The single-project OSS edition lacks the cross-project dimension, although the missing context binding still permits unauthorized reordering across features or environments in the default project. The endpoint changes only sort_order and does not modify strategy parameters, constraints, or segments. This issue is fixed in version 8.0.3.

Threat Intelligence Overview

EPSS Score
0.3%
Top 74% exploitable
Prevalence
Medium
popular open-source feature-flag platform, common in engineering orgs but not universal
Threat Intel
1
1 sources
Exploit
POC
Public exploit code exists
Data Quality
6 sources
Confidence: High
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.3%
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

42
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +22
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