Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate with UPDATE_FEATURE_STRATEGY in own project
-
DeliveryEnumerate victim project/feature strategy IDs
-
ExploitPOST set-sort-order with own projectId in URL, victim IDs in body
-
ExecutionHandler writes sort_order by primary key without context check
-
PersistReorder victim strategies, flip flag evaluation precedence
-
ImpactTampering 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. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – 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
Affected Packages
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
AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N
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.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
1DescriptionCVE.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
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
Stack exhaustion denial-of-service in Unleash's OpenAPI validation middleware allows unauthenticated network attackers t
Server-Side Request Forgery in Unleash's addon and integration subsystem (versions prior to 7.5.2, 7.6.5, and 8.0.2) all
Authenticated users of Unleash (npm unleash-server) prior to 8.0.3 who hold create or clone rights in any single project
Process-wide Mustache HTML escaping is permanently disabled in Unleash (all versions prior to 8.0.3) from the first mome
Authenticated users of Unleash (the open-source feature management platform) can bypass project-scoped authorization and
Unleash deployments prior to 8.0.3 render the change-request approval email template with Mustache triple-stash syntax,
EUVD-2026-84865
GHSA-5ffh-6f9q-5hhr
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB