Skip to main content

Shuffle CVE-2026-92716

| EUVDEUVD-2026-80899 HIGH
Authorization Bypass Through User-Controlled Key (CWE-639)
2026-09-16 VulnCheck GHSA-gxxx-83g3-wgp9
8.6
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Obtain admin in one org
  2. Delivery
    Call HandleApiGeneration with foreign UserId
  3. Exploit
    Server resets/returns victim API key
  4. Execution
    Authenticate as cross-tenant victim
  5. Impact
    Account takeover across tenants

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 account with administrator privileges in at least one Shuffle organization (PR:L); the attacker then supplies an arbitrary victim UserId to the HandleApiGeneration API-key endpoint. The pre-patch code (shuffle-shared through v1.2.50 / Shuffle through 2.2.1) performs no check that the requested user belongs to the caller, so the only limiting factors are obtaining org-admin access and knowing/enumerating target user IDs. No user interaction is needed (UI:N) and it is remotely reachable over the network (AV:N). Fixed by upgrading to the patched build containing the foundUser.Id == userInfo.Id ownership check.

Impact

This is a genuine, source-code-confirmed authorization flaw (CWE-639, IDOR) rather than an inflated high-CVSS metric. The vendor CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:N) is well-supported: the fix commit c1b582e adds an explicit foundUser.Id != userInfo.Id ownership check in HandleApiGeneration, proving the endpoint previously let an org admin regenerate and read another user's API key by supplying an arbitrary UserId. PR:L is honest - exploitation requires authenticated admin rights in at least one tenant, which limits the attacker population but is trivially obtainable in a multi-tenant SaaS/self-hosted deployment. No EPSS score, no CISA KEV entry, and no public exploit code are present in the provided data, so this is not confirmed as actively exploited; the risk is elevated by the low attack complexity and confirmed patch rather than by observed exploitation. The main driver of priority is the cross-tenant blast radius (account takeover across organizational boundaries) combined with a public, easily-diffed patch that reveals the exact missing check.

Exploit ScenarioDerived

An attacker who holds (or registers for) admin privileges in one Shuffle organization sends a request to the HandleApiGeneration endpoint specifying the user ID of a victim in a different tenant. The server regenerates and returns a valid API key for that foreign user, which the attacker then uses to authenticate as the victim and take over the account across the tenant boundary. No public exploit code is identified, but the patch diff makes the vulnerable code path and the trivial exploitation trivial to reconstruct.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.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 16, 2026

Cross-tenant privilege escalation in Shuffle (self-hosted SOAR platform) through version 2.2.1 lets an administrator who holds org-admin rights in any single organization mint and read valid API keys for arbitrary users in other organizations, resulting in full account takeover across tenant boundaries. The flaw is an IDOR/authz bypass (CWE-639) in the HandleApiGeneration endpoint, which accepts a caller-supplied user ID and returns or resets that user's API key without verifying ownership; it is remotely reachable over the network and requires only an authenticated admin account (CVSS:4.0 8.6, PR:L, UI:N, high confidentiality and integrity impact). There is no CISA KEV listing and no public exploit code identified at time of analysis, but exploitation is trivial once any tenant admin account is obtained, and source-verified fix code exists in the upstream shuffle-shared repository.

RemediationAI

The upstream fix is available in shuffle-shared commit c1b582e91b429bc7d5ad02e6c22f98234ec67615 (https://github.com/Shuffle/shuffle-shared/commit/c1b582e91b429bc7d5ad02e6c22f98234ec67615), which adds a foundUser.Id != userInfo.Id ownership comparison that returns HTTP 401 and logs an audit entry; vendor patch status is reported as available, but a tagged released version containing the fix is not independently confirmed from the supplied data, so operators should deploy a Shuffle build whose shuffle-shared dependency includes this commit (later than v1.2.50 / Shuffle 2.2.1) and verify the diff is present before relying on it. Until upgraded, treat every organization admin as effectively a cross-tenant superuser: audit and revoke excess org-admin roles so that only fully trusted operators hold them, since the privilege is the sole prerequisite and reducing its population directly shrinks the attack surface (side effect: legitimate delegation and self-service tenant administration become constrained). Rotate all existing API keys after patching or immediately if compromise is suspected, because keys issued through this endpoint remain valid until revoked, and enable/retain log review for the '[AUDIT] ... tried and failed to change apikey' and API-key generation events to detect post-patch probes and pre-patch abuse (trade-off: audit logging adds storage and review overhead). Network-level exposure of the Shuffle API can be reduced by restricting it to trusted management networks or VPN and blocking it from the public internet, which prevents external attackers who have stolen an admin session from reaching HandleApiGeneration, at the cost of losing remote API access for integrations. Because exploitation requires only a valid admin session and a guessed or enumerated victim UserId, also enforce strong authentication and session hygiene on admin accounts, though note that none of these compensating controls fixes the underlying authorization bypass and upgrading remains the only complete remedy.

Affected VersionsENISA

Shuffle 0 ≤2.2.1

Affected Packages

euvd shuffle no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

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

Technical ContextAI · show details

Shuffle is an open-source security orchestration, automation and response (SOAR) platform in which 'organizations' act as the hard multi-tenancy boundary separating customer data. The vulnerable function is HandleApiGeneration in the shared Go library shuffle-shared (lines roughly 9888-9912 in v1.2.50), the handler behind the API-key generation/reset endpoint. The handler reads a user identifier from the incoming request and, pre-patch, used it directly to look up the target user and issue or return an API key without ever comparing that target to the authenticated caller's identity - the classic CWE-639 'authorization bypass through user-controlled key' (IDOR) pattern, where the object key supplied by the client determines which tenant's object is acted upon and the authorization decision is never made. Because the same code path both generates/resets and returns keys, an attacker with admin privileges in one organization can supply a victim UserId belonging to another organization and obtain a functioning credential for that account, escalating from a single-tenant admin to impersonation of users in other tenants. The upstream fix (commit c1b582e91b429bc7d5ad02e6c22f98234ec67615) inserts an explicit ownership check - if the resolved user's ID differs from the caller's ID the request is rejected with HTTP 401 and an audit log line is emitted - effectively restricting key generation to the caller's own account. CPE data (cpe:2.3:a:shuffle:shuffle:*:*:*:*:*:*:*:*) confirms all versions of Shuffle are flagged in the affected range, with the vulnerable library bounded at shuffle-shared v1.2.50 and the application at Shuffle 2.2.1.

Know when Shuffle 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 (VulnCheck) PRIMARY 8.6 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N
vuln.today AI 8.1 HIGH

Network-reachable API endpoint, low complexity; PR:L because org-admin authentication is required; C:H/I:H for reading/resetting foreign API keys enabling takeover, A:N as no availability impact.

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

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

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

DescriptionCVE.org

Shuffle through 2.2.1 contains a cross-tenant privilege escalation vulnerability in the HandleApiGeneration endpoint that allows administrators to reset and read API keys of non-administrator users in other organizations. Attackers with admin privileges in one organization can supply arbitrary user IDs to generate valid API keys for users in different organizations, enabling account takeover across tenant boundaries.

Executive ViewAI

Why It Matters

A cross-tenant privilege escalation flaw in self-hosted Shuffle SOAR deployments through version 2.2.1 allows a single organization's administrator to mint or reset API keys belonging to users in any other organization, effectively handing over full control of those accounts. Because Shuffle orchestrates automated security and IT response workflows, a successful takeover can expose sensitive incident data, tamper with automation logic, and pivot into every connected tool across customer or business-unit boundaries. Leadership should treat this as a tenant-isolation failure that undermines the platform's core trust boundary and may carry contractual, regulatory, and client-notification consequences.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.3%
Top 76% exploitable
Prevalence
Low
Niche open-source Go SOAR/security-automation platform, self-hosted by security teams
Data Quality
5 sources
Confidence: Medium

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 HIGH
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.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· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact
High

Priority Score

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

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

Privilege escalation occurs when an attacker leverages flaws in access control mechanisms to gain permissions beyond what they were originally granted.

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