GHSA-8XCJ-9HFR-FH9J

Vulnerability from github – Published: 2026-09-22 20:34 – Updated: 2026-09-22 20:34
VLAI
Summary
Unleash: Clone-feature lets a user copy a feature from a project they cannot read
Details

Summary

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

  1. Create or identify two projects: P1 with a private or restricted feature named secret-feature, and P2 where the attacker has clone/create permissions.
  2. Authenticate as the attacker.
  3. Send:
POST /api/admin/projects/P2/features/secret-feature/clone
Content-Type: application/json

{ "name": "secret-feature-copy" }
  1. Open P2 and inspect secret-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.

Show details on source website

{
  "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"
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

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.

Loading…

Loading…

Loading…

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.


Loading…