Skip to main content

Dify CVE-2026-41947

| EUVDEUVD-2026-30772 CRITICAL
Authorization Bypass Through User-Controlled Key (CWE-639)
2026-05-18 VulnCheck GHSA-48v9-p8g8-55vg
9.3
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Self-register Dify Cloud account
  2. Delivery
    Enumerate or guess victim app UUID
  3. Exploit
    POST attacker Langfuse creds to /trace-config endpoint
  4. Execution
    Enable tracing via /trace endpoint
  5. Persist
    Victim prompts and LLM responses mirrored to attacker
  6. Impact
    Harvest system prompts and user data

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

The attacker must hold an authenticated console session in some tenant of the target Dify instance (any editor-level account suffices) and must know or guess the target application's UUID, which is passed as the app_id path parameter to /console/api/apps/<app_id>/trace and /console/api/apps/<app_id>/trace-config. On Dify Cloud this prerequisite is effectively void because unauthenticated self-registration is open, matching the CVSS PR:N rating; on self-hosted deployments that require SSO, invitation, or admin-approved onboarding the bar is meaningfully higher. No user interaction by the victim is required and no special non-default Dify configuration is needed - the trace-config endpoints exist in the default console API; the only situational requirement is that the victim application be one whose telemetry the attacker wants to siphon (so a configured or about-to-be-used LLM app, otherwise no traffic flows through the redirected trace provider).

Impact

CVSS 4.0 scores this 9.1 with AV:N/AC:H/PR:N and high confidentiality and integrity impact, but those signals deserve nuance. PR:N is technically correct for Dify Cloud because self-registration is open, so the listed 'authenticated editor' requirement collapses to zero friction; for self-hosted deployments behind SSO or invite-only onboarding the practical privilege barrier is higher. AC:H is questionable given the exploit is a straightforward IDOR - the huntr bounty report and one-line diff indicate trivial reproduction, so attack complexity is arguably overstated. Exploitation is automatable (iterating app_ids), data confidentiality impact is severe (every prompt/response can be siphoned to an attacker's trace endpoint), and a working POC is public via huntr. EPSS and CISA KEV status were not supplied in the input data, so widespread active exploitation cannot be confirmed; treat this as a high-priority patch-now item for any internet-facing Dify Cloud or multi-tenant self-hosted instance.

Exploit ScenarioDerived

An attacker self-registers a free Dify Cloud account, enumerates or guesses target application UUIDs (or harvests them from public sharing links), then POSTs to /console/api/apps/<victim_app_id>/trace-config with their own Langfuse credentials and enables tracing via the /trace endpoint. Every subsequent prompt submitted to the victim's chatbot, along with the LLM's responses, is mirrored to the attacker's trace dashboard - exfiltrating proprietary system prompts, end-user PII, and business data in real time. Working exploit guidance is published in the huntr bounty report.

Act Now Prioritize within 24-48h. Why: CRITICAL severity + public POC available.
Patch available 0.0% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv2 – May 18, 2026

Cross-tenant authorization bypass in LangGenius Dify versions through 1.14.1 lets any logged-in editor reroute another tenant's LLM trace traffic - including prompts and model responses - to an attacker-controlled observability provider. Because Dify Cloud permits free self-registration, the authentication barrier is effectively trivial; publicly available exploit code exists and a vendor patch is shipped via PR #35793. The flaw is an instance of CWE-639 (insecure direct object reference) in the trace-configuration endpoints, which accepted an app_id without validating tenant ownership.

Earlier versions of this analysis (1)
v1 May 18, 2026 - 15:00 CVSS 7.4

Authorization bypass in Dify 1.14.1 and prior allows authenticated editor users to hijack trace configurations for any application across all tenants. Attackers can redirect all messages and responses from victim applications to attacker-controlled LLM trace providers by exploiting missing tenant ownership checks in the trace configuration endpoints. With Dify Cloud offering free unauthenticated self-registration, this vulnerability is trivially exploitable by any attacker who can create an account and access editor functionality.

RemediationAI

Upgrade Dify to the version that incorporates PR #35793 (https://github.com/langgenius/dify/pull/35793), which introduces the @get_app_model tenant-ownership decorator on the AppTraceApi and TraceAppConfigApi GET/POST/PATCH/DELETE handlers; an exact tagged release version was not provided in the input data, so confirm the fix is included against the vendor's release notes before deploying. Where immediate upgrade is impossible, compensating controls include disabling external trace-provider integrations entirely (removes the high-value sink, at the cost of losing Langfuse/observability features), placing the /console/api/apps/<app_id>/trace and /trace-config endpoints behind a reverse-proxy WAF rule that enforces session-to-tenant binding, and on Dify Cloud temporarily disabling open self-registration to raise the cost of account creation (which breaks the public signup flow). Rotate any third-party LLM trace-provider API keys that may have been exposed and audit existing trace configurations across applications for unfamiliar provider endpoints.

Affected VersionsENISA

dify 0 ≤1.14.1

Affected Packages

euvd dify 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

Dify is an open-source LLM application development platform (CPE cpe:2.3:a:langgenius:dify) whose console API exposes per-application tracing controls that integrate with external observability providers such as Langfuse. The vulnerable handlers in api/controllers/console/app/app.py (AppTraceApi) and api/controllers/console/app/ops_trace.py (TraceAppConfigApi) accepted a raw app_id UUID from the URL and forwarded it directly to OpsTraceManager / OpsService without confirming that the caller's tenant owned the application - a textbook CWE-639 Authorization Bypass Through User-Controlled Key. The upstream fix replaces the raw UUID parameter with the @get_app_model decorator, which resolves the app through the requesting account's tenant scope and returns 404 when the app belongs to another tenant, as the new integration test test_trace_endpoints_hide_apps_from_other_tenants demonstrates.

Know when Dify 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 9.3 CRITICAL
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck) · only source for this CVE.

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
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

Lifecycle Timeline

4
CVSS changed
May 26, 2026 - 17:22 NVD
9.1 (CRITICAL) 9.3 (CRITICAL)
Analysis Updated
May 18, 2026 - 15:29 vuln.today
v2 - CVSS changed
Severity Changed
May 18, 2026 - 15:22 NVD
HIGH CRITICAL
CVSS changed
May 18, 2026 - 15:22 NVD
7.4 (HIGH) 9.1 (CRITICAL)

DescriptionCVE.org

Dify version 1.14.1 and prior contains an authorization bypass vulnerability that allows authenticated editor users to set and enable trace configurations for any application regardless of tenant ownership. Attackers can exploit missing tenant ownership checks in the trace configuration endpoints to redirect all messages and responses from victim applications to attacker-controlled LLM trace providers. NOTE: Dify Cloud allows unauthenticated free self-registration, making account creation trivially accessible to any attacker.

Executive ViewAI

Why It Matters

LangGenius Dify versions through 1.14.1 contain a critical cross-tenant authorization bypass where publicly available exploit code exists, allowing any registered user to redirect competitors' or other tenants' LLM traffic-including proprietary prompts and model responses-to attacker-controlled monitoring systems. Organizations running Dify Cloud or multi-tenant Dify deployments face immediate risk of proprietary data exfiltration, with free self-registration eliminating practical barriers to exploitation.

Business Impact: Severe
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.0%
Top 92% exploitable
Exploit
POC
Public exploit code exists
Data Quality
8 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment CIRCL GitHub VulDB

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 CRITICAL
CISA KEV No
Public POC Yes
EPSS 0.0%
Patch available Yes
Active threat No
Deciding rule
CRITICAL severity + public POC available
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
Out-of-Cycle
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact
Very High
Technical Impact
Total

Priority Score

66
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +46
PoC: +20
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.

More in Dify

View all
CVE-2025-63387 HIGH POC
7.5 Dec 18

Dify 1.9.1 permits unauthenticated remote GET requests to the /console/api/system-features console endpoint, letting ano

CVE-2025-56157 CRITICAL POC
9.8 Dec 18

Hard-coded default PostgreSQL credentials shipped in the docker-compose.yaml of langgenius Dify through version 1.5.1 al

CVE-2026-41948 CRITICAL POC
9.3 May 18

Path traversal in Dify versions 0 through 1.14.1 allows authenticated tenants to escape their authorized tenant path and

CVE-2025-1796 HIGH POC
8.8 Mar 20

A vulnerability in langgenius/dify v0.10.1 allows an attacker to take over any account, including administrator accounts

CVE-2026-61461 HIGH POC
8.7 Jul 10

SQL injection in Dify's MyScale vector store backend (versions before 1.16.0-rc1) lets authenticated attackers execute a

CVE-2025-67732 HIGH POC
8.4 Jan 05

Plaintext exposure of third-party service API keys in Dify prior to version 1.11.0 allows any authenticated non-administ

CVE-2026-41949 HIGH POC
8.2 May 18

Cross-tenant document disclosure in Dify 1.14.1 and prior allows any authenticated user to read up to 3,000 characters o

CVE-2024-12039 HIGH POC
8.1 Mar 20

langgenius/dify version v0.10.1 contains a vulnerability where there are no limits applied to the number of code guess a

CVE-2024-12776 HIGH POC
8.1 Mar 20

In langgenius/dify v0.10.1, the `/forgot-password/resets` endpoint does not verify the password reset code, allowing an

CVE-2025-43862 HIGH POC
7.6 Apr 25

Dify is an open-source LLM app development platform. Rated high severity (CVSS 7.6), this vulnerability is remotely expl

CVE-2024-11824 HIGH POC
7.6 Mar 20

A stored cross-site scripting (XSS) vulnerability exists in langgenius/dify version latest, specifically in the chat log

CVE-2024-11822 HIGH POC
7.5 Mar 20

langgenius/dify version 0.9.1 contains a Server-Side Request Forgery (SSRF) vulnerability. Rated high severity (CVSS 7.5

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