Skip to main content

Dify CVE-2025-63388

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 authenticated Dify operator to malicious page
  2. Delivery
    Browser auto-sends session cookies cross-origin
  3. Exploit
    Endpoint reflects Origin and allows credentials
  4. Execution
    Attacker JS reads system-features response
  5. Impact
    Exfiltrate disclosed configuration data

Vulnerability Assessment

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

Exploitation requires (1) a Dify console user with an active authenticated session who (2) visits or is redirected to an attacker-controlled web page while that session is live; the attacker's JavaScript then issues a credentialed cross-origin request to the specific /console/api/system-features endpoint, which reflects the arbitrary Origin and returns Access-Control-Allow-Credentials: true. Limiting factors: the attack fails if the victim is not logged in, reaches only this single endpoint's data rather than arbitrary API access, and - per the supplier's dispute - may expose nothing beyond unauthenticated content, which would make the condition exploitable but of negligible value. No vendor-side configuration toggle is cited as a precondition; the permissive CORS behavior is described as present in default Dify v1.9.1.

Impact

The input assigns CVSS 9.1 (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N), which on paper indicates a critical, network-exploitable, unauthenticated flaw. However, multiple signals conflict with that severity. First, this is a CORS misconfiguration (CWE-346): such attacks are not truly 'no user interaction' - they require an already-authenticated Dify console user to visit an attacker-controlled web page, so the real-world precondition is stronger than UI:N suggests. Second, the I:H (integrity high) rating is questionable because reading a reflected cross-origin response is an information-disclosure primitive (the input's own tag is 'Information Disclosure'), not a write/modify primitive. Third, and most importantly, the SUPPLIER DISPUTES the vulnerability, arguing that credentialed requests to /console/api/system-features expose nothing beyond what an unauthenticated request already returns - if true, the confidentiality impact collapses toward negligible. No EPSS score, KEV listing, or SSVC decision data was provided, so exploitation probability and automatability cannot be quantified from the input. Two referenced gists and a GitHub discussion thread exist but are not confirmed as working exploit code in the input metadata. Net assessment: this is most likely a high-CVSS-but-contested, low-real-risk issue whose actual severity hinges entirely on whether the /console/api/system-features response contains sensitive data - a fact the vendor explicitly disputes and which should be verified before prioritization.

Exploit ScenarioDerived

An attacker hosts a malicious web page and lures a currently-logged-in Dify console operator to visit it. JavaScript on that page issues a credentialed cross-origin fetch to the victim instance's /console/api/system-features endpoint; because the endpoint reflects the arbitrary Origin header and sets Access-Control-Allow-Credentials: true, the attacker's script can read the authenticated JSON response and exfiltrate whatever system-feature data it contains. No confirmed public exploit code is identified in the input, though two referenced gists may contain technical proof-of-concept details.

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 read access to Dify v1.9.1's /console/api/system-features endpoint is possible because the server reflects arbitrary Origin headers while returning Access-Control-Allow-Credentials: true, letting an attacker-controlled web page make credentialed requests in the context of a logged-in console user's browser session. Exploitation requires the victim to hold an active authenticated Dify session and to visit or be redirected to the attacker's page, and the exposure is limited to that single endpoint's data rather than arbitrary API access; the vendor disputes the finding, arguing that credentialed requests provide no more access than unauthenticated ones. No public exploit code was identified at time of analysis, and our independent assessment rates the practical risk far below the 9.1 score assigned in the input, since the realistic worst case is low-confidentiality disclosure requiring user interaction.

RemediationAI

No vendor-released patch version is identified in the provided data, and the supplier disputes the issue, so no upstream fixed release can be cited as confirmed; the references (the two Cristliu gists and the langgenius/dify GitHub Discussions thread) should be checked for updated vendor guidance before planning a fix. Actionable compensating controls, in order of preference: (1) correct the endpoint's CORS handling at the application or reverse-proxy layer so that Access-Control-Allow-Origin is emitted only for an explicit allow-list of trusted console origins and Access-Control-Allow-Credentials is never returned alongside a reflected or wildcard origin - this is the direct fix and removes the flaw, though it must be validated against any legitimate cross-origin console or embedded-widget use cases or those will break; (2) set the Dify session cookie to SameSite=Strict (or Lax as a weaker fallback) so browsers do not attach it to cross-site requests - effective and low-cost, but it may disrupt legitimate cross-site or embedded flows and does not help if the console is accessed through a same-site subdomain; (3) block or restrict external access to /console/api/* at the reverse proxy to trusted networks or IP ranges, which eliminates the remote attack path entirely at the cost of reducing legitimate remote console accessibility; and (4) where the endpoint's data is confirmed to be non-sensitive per the supplier's dispute, treat the finding as low risk and document the accepted-risk decision rather than applying disruptive controls. If a patched Dify version is later published, plan the upgrade to that exact version; do not assume any specific release number without vendor confirmation.

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 issue is a Cross-Origin Resource Sharing (CORS) trust-boundary error (CWE-346, Origin Validation Error) in the Dify console API endpoint /console/api/system-features. A correctly configured CORS policy must only echo back origins from an explicit allow-list and must never pair a reflected, attacker-supplied Origin with Access-Control-Allow-Credentials: true, because that combination authorizes the browser to attach the victim's session cookies to the cross-origin response read. Dify v1.9.1 instead reflects arbitrary Origin values and sets that credentials flag, so any external domain's JavaScript running in a logged-in user's browser can read the endpoint's JSON response. Per the CPE (cpe:2.3:a:langgenius:dify:1.9.1:*:*:*:*:node.js:*:*), the affected artifact is Dify 1.9.1; the endpoint in question serves console system-feature configuration data, so the data exposed is bounded by what that endpoint returns rather than the full authenticated API surface. Our assessed vector (AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:N) reflects that the browser session, not the attacker, supplies the credentials, so confidentiality impact is limited and no integrity or availability loss is demonstrated; the supplier further contends the response contains nothing beyond what an unauthenticated caller can already obtain.

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 credential theft needs an authenticated victim to visit a malicious page (UI:R); it only discloses one endpoint's data (C:L), performs no modification (I:N) and no availability impact.

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/system-features endpoint. The endpoint implements an overly permissive CORS policy that reflects arbitrary Origin headers and sets Access-Control-Allow-Credentials: true, allowing any external domain to make authenticated cross-origin requests. NOTE: the Supplier disputes this, providing the rationale of "sending requests with credentials does not provide any additional access compared to unauthenticated requests."

Executive ViewAI

Why It Matters

Dify v1.9.1, the open-source platform used to build and operate AI applications and assistants, carries a cross-origin data exposure in its administrative console that could reveal system configuration details to a malicious website visited by an operator who is currently signed in. The exposure is confined to a single endpoint and a low-confidentiality class of data, and it requires operator interaction, so this is a narrow disclosure risk rather than a route to platform or data compromise. Leadership should treat it as a short-term hardening and monitoring item, and track the vendor's response given their dispute of the reported severity.

Business Impact: Low
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: restrict console access to trusted networks, VPN, or an identity-aware proxy; block or strip cross-origin requests to /console/api/system-features at the reverse proxy or WAF unless the Origin matches the console domain; enforce SameSite=Strict or Lax on console session cookies; shorten session lifetimes and require re-authentication; alert on anomalous Origin headers; and instruct operators not to visit untrusted sites while signed into the console.

Threat Intelligence Overview

EPSS Score
0.2%
Top 88% exploitable
Prevalence
Medium
popular open-source LLM app platform, growing but not ubiquitous enterprise 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