GHSA-8XCJ-9HFR-FH9J
Vulnerability from github – Published: 2026-09-22 20:34 – Updated: 2026-09-22 20:34Summary
The clone-feature endpoint supports copying features across projects, but it does not verify that the caller can access the source project. A user with create permissions in one project can clone a feature from another project they cannot read and then inspect the copied configuration.
This vulnerability cannot be confirmed without Enterprise access. Report is based on a circumstantial evidence in the open-source repository.
Details
src/lib/features/feature-toggle/feature-toggle-service.ts implements cloneFeatureToggle. This operation needs authorization for both sides: permission to read/copy the source feature and permission to create the destination feature.
The clone path validates permissions against the destination project, but not against the source project that owns featureName. Because feature names are globally unique, a caller can reference a feature outside projects they can access.
PoC
- Create or identify two projects:
P1with a private or restricted feature namedsecret-feature, andP2where the attacker has clone/create permissions. - Authenticate as the attacker.
- Send:
POST /api/admin/projects/P2/features/secret-feature/clone
Content-Type: application/json
{ "name": "secret-feature-copy" }
- Open
P2and inspectsecret-feature-copy. Verify if strategy parameters, constraints, variants, and variant payloads from the source feature have been copied.
Impact
Users with permissions on one project can disclose feature configuration from another project if they know or guess the source feature name. Feature names could be available in more public applications that have a common SDK access to multiple projects.
{
"affected": [
{
"package": {
"ecosystem": "npm",
"name": "unleash-server"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "8.0.3"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"aliases": [
"CVE-2026-76910"
],
"database_specific": {
"cwe_ids": [
"CWE-639"
],
"github_reviewed": true,
"github_reviewed_at": "2026-09-22T20:34:40Z",
"nvd_published_at": null,
"severity": "MODERATE"
},
"details": "### Summary\n\nThe clone-feature endpoint supports copying features across projects, but it does not verify that the caller can access the source project. A user with _create_ permissions in one project can clone a feature from another project they cannot read and then inspect the copied configuration.\n\nThis vulnerability cannot be confirmed without Enterprise access. Report is based on a circumstantial evidence in the open-source repository.\n\n### Details\n`src/lib/features/feature-toggle/feature-toggle-service.ts` implements `cloneFeatureToggle`. This operation needs authorization for both sides: permission to read/copy the source feature and permission to create the destination feature.\n\nThe clone path validates permissions against the destination project, but not against the source project that owns `featureName`. Because feature names are globally unique, a caller can reference a feature outside projects they can access.\n\n### PoC\n1. Create or identify two projects: `P1` with a private or restricted feature named `secret-feature`, and `P2` where the attacker has clone/create permissions.\n2. Authenticate as the attacker.\n3. Send:\n\n```http\nPOST /api/admin/projects/P2/features/secret-feature/clone\nContent-Type: application/json\n\n{ \"name\": \"secret-feature-copy\" }\n```\n\n4. Open `P2` and inspect `secret-feature-copy`. Verify if strategy parameters, constraints, variants, and variant payloads from the source feature have been copied.\n\n### Impact\nUsers with permissions on one project can disclose feature configuration from another project if they know or guess the source feature name. Feature names could be available in more public applications that have a common SDK access to multiple projects.",
"id": "GHSA-8xcj-9hfr-fh9j",
"modified": "2026-09-22T20:34:40Z",
"published": "2026-09-22T20:34:40Z",
"references": [
{
"type": "WEB",
"url": "https://github.com/Unleash/unleash/security/advisories/GHSA-8xcj-9hfr-fh9j"
},
{
"type": "WEB",
"url": "https://github.com/Unleash/unleash/commit/2dc6ac0e8ba524ec7a2e9bc96a0e01d9d6f5a35a"
},
{
"type": "PACKAGE",
"url": "https://github.com/Unleash/unleash"
},
{
"type": "WEB",
"url": "https://github.com/Unleash/unleash/releases/tag/v8.0.3"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "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",
"type": "CVSS_V4"
}
],
"summary": "Unleash: Clone-feature lets a user copy a feature from a project they cannot read"
}
Sightings
| Author | Source | Type | Date | Other |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
The approach is described in our paper Mapping CVEs to MITRE ATT&CK Techniques: A Curated Gold-Set Classifier and the Limits of LLM-Assisted Label Expansion.
Browse all ATT&CK techniques and the vulnerabilities related to each.
Related by attack behaviour
Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.