Skip to main content

Dify CVE-2025-63386

CRITICAL
Origin Validation Error (CWE-346)
2025-12-18 cve@mitre.org
9.1
CVSS 3.1 · NVD
View

Attack ChainAIDerived

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

  1. Access
    Lure Dify operator to malicious page
  2. Exploit
    Browser sends credentialed CORS request to /console/api/setup
  3. Impact
    Read reflected setup-status response

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V6 - Authentication Origin validation
Exploitation Conditions

Exploitation targets the /console/api/setup endpoint, which reflects any Origin header and returns Access-Control-Allow-Credentials: true, allowing an arbitrary external site to issue credentialed cross-origin requests. Realistic exploitation requires a victim operator's browser to visit an attacker-controlled page (user interaction), and the exposed data is limited to first-time bootstrap/setup status. Per the vendor, the endpoint is unauthenticated by design only in SELF_HOSTED deployment mode and is protected by one-time setup guards and init-password validation, so the meaningful window is the pre-setup bootstrap phase; after initial setup completes, the one-time guards sharply limit any initialization abuse. These factors substantially reduce real-world risk below the raw 9.1 score.

Impact

The input lists a CVSS 3.1 base score of 9.1 (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N), which rates this as critical with full confidentiality and integrity impact over the network with no privileges or user interaction. That rating is almost certainly inflated for a CWE-346 CORS misconfiguration: a reflected-origin + Access-Control-Allow-Credentials flaw is only exploitable when a victim's browser is lured to an attacker page, which in practice requires user interaction (not UI:N as scored), and the affected /console/api/setup endpoint exposes only first-time bootstrap/setup-status data rather than high-value secrets - so C:H/I:H overstates the real impact. Critically, the supplier formally DISPUTES this CVE: the referenced pull request (langgenius/dify#32224) does not patch the behavior but instead adds docstrings documenting that the endpoint is unauthenticated by design for bootstrap, gated by SELF_HOSTED deployment mode, one-time setup guards, and init-password validation. No EPSS score and no CISA KEV entry are present in the input, so there is no signal of active or probable exploitation; the two linked GitHub gists from the reporter appear to be proof-of-concept/write-up material. Net assessment: this is a high-CVSS-but-low-real-risk, vendor-disputed issue, not an operational priority - the CVSS network/no-interaction framing conflicts with both the CORS attack model (requires victim browser interaction) and the limited bootstrap-only data exposed; verify impact against the vendor's disputed position before acting.

Exploit ScenarioDerived

An attacker hosts a malicious web page and lures a Dify operator (during or shortly after first-time bootstrap) into visiting it; because the /console/api/setup endpoint reflects any Origin and allows credentials, the page issues a credentialed cross-origin request and reads the reflected setup-status response. Reporter-published gists appear to document the behavior as a proof of concept, but the data obtainable is limited to bootstrap/setup status and the vendor disputes that this constitutes a vulnerability.

Act Now Prioritize within 24-48h. Why: CRITICAL severity.
No patch listed yet 0.2% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 13, 2026

Cross-origin information disclosure affects Dify v1.9.1's /console/api/setup endpoint, which reflects any Origin header with Access-Control-Allow-Credentials: true, permitting a malicious external site to issue credentialed requests and read bootstrap setup status from a victim operator's browser. The vendor disputes the finding, stating the endpoint's unauthenticated configuration is intentional for first-time bootstrap in SELF_HOSTED mode and protected by one-time setup guards and init-password validation; our independent assessment rates it CVSS 3.1 AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:N (low confidentiality, no integrity/availability) because exploitation requires user interaction and the exposed data is limited to pre-setup bootstrap status. No public exploit identified at time of analysis, no CISA KEV entry exists, and no vendor-released patch version is confirmed-PR 32224 only adds documentation notes.

RemediationAI

No vendor-released patch identified at time of analysis; the vendor disputes the vulnerability and states the configuration is intentional for first-time bootstrap. Upstream PR 32224 adds explanatory docstrings only and does not change CORS logic. For self-hosted Dify v1.9.1, complete initial setup immediately to close the pre-bootstrap window, and restrict network access to /console/api/setup using a reverse proxy or firewall so only trusted operator networks can reach it. As a compensating control, configure the reverse proxy to strip or validate Origin headers and enforce a strict Access-Control-Allow-Origin allowlist for console API endpoints; trade-off is that overly restrictive CORS may break legitimate frontend initialization during first-time setup, so the allowlist must include the trusted console origin. Monitor langgenius/dify discussions and PR 32224 for vendor updates, and consult the provided gists for researcher analysis. Do not rely on the raw 9.1 score; prioritize based on the assessed UI:R and confidentiality-only impact.

Affects your stack

Find out whether the stacks and servers you run are on an affected version.

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

Technical ContextAI · show details

The underlying issue is a CORS origin validation error (CWE-346) in Dify's Python-based console API controller at api/controllers/console/setup.py. The endpoint /console/api/setup returns setup status and handles first-time admin account initialization. Its CORS policy reflects the request's Origin header into Access-Control-Allow-Origin while also setting Access-Control-Allow-Credentials: true, which lets a browser include credentials and expose responses to an arbitrary external origin. According to the vendor and the upstream PR 32224 diff, the endpoint is intentionally unauthenticated during first-time bootstrap in SELF_HOSTED mode, with access intended to be restricted by deployment mode, one-time setup guards, and init-password validation rather than session authentication. The CPE cpe:2.3:a:langgenius:dify:1.9.1:*:*:*:*:node.js:*:* identifies Dify 1.9.1; however, the backend is Python/Flask, so the node.js component tag may be inaccurate. Because exploitation requires a victim's browser to visit an attacker-controlled page (UI:R) and the exposed data is limited to bootstrap status (C:L, I:N, A:N), the raw 9.1 CVSS 3.1 score overstates real-world risk.

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

NVD PRIMARY 9.1 CRITICAL
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
vuln.today AI 4.3 MEDIUM

CORS theft requires a victim browser to visit an attacker page (UI:R); only bootstrap setup-status data leaks (C:L), and one-time setup guards prevent integrity impact (I:N).

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

Primary rating from NVD.

CVSS VectorNVD

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
None

DescriptionNVD

A Cross-Origin Resource Sharing (CORS) misconfiguration vulnerability exists in Dify v1.9.1 in the /console/api/setup endpoint. The endpoint implements an insecure CORS policy that reflects any Origin header and enables Access-Control-Allow-Credentials: true, permitting arbitrary external domains to make authenticated requests. NOTE: the Supplier disputes this because the endpoint configuration is intentional to support bootstrap.

Executive ViewAI

Why It Matters

Dify v1.9.1 self-hosted deployments face a limited cross-origin information disclosure affecting the bootstrap setup endpoint, which requires user interaction and exposes only pre-setup status. Although the CVE carries a critical severity label, the independently assessed impact is low confidentiality with no integrity or availability effect, no public exploit identified at time of analysis, and no vendor-released patch identified at time of analysis. Leadership should prioritize inventory and mitigation of exposed instances but can treat this as a targeted reconnaissance risk rather than an immediate compromise vector.

Business Impact: Low
Compensating Controls

Until a vendor patch is available, restrict /console/api/setup to trusted networks or VPN, complete first-time bootstrap promptly and block the endpoint afterward, use reverse proxy or WAF rules to reject cross-origin requests and prevent Access-Control-Allow-Credentials: true from being returned to untrusted origins, and monitor for anomalous Origin headers or setup-status access.

Threat Intelligence Overview

EPSS Score
0.2%
Top 87% exploitable
Prevalence
Low
niche self-hosted LLM app-dev platform, limited production footprint
Data Quality
3 sources
Confidence: Low

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 No
EPSS 0.2%
Patch available No
Active threat No
Deciding rule
CRITICAL severity
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
Yes
Human Impact
Low

Priority Score

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

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

Affected Products (CPE)NVD

cpe:2.3:a:langgenius:dify:1.9.1:*:*:*:*:node.js:*:*

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-2026-41947 CRITICAL POC
9.3 May 18

Cross-tenant authorization bypass in LangGenius Dify versions through 1.14.1 lets any logged-in editor reroute another t

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

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