CVE-2025-63388 is a Critical severity (CVSS 9.1) CORS misconfiguration reported in Dify v1.9.1, on the /console/api/system-features endpoint, which reflects any Origin and allows credentials. The supplier disputes it as intended behavior. No fixed version is listed, so review the advisory discussion and your own CORS settings.
The weakness is CWE-346, origin validation error. The Gold page for the CVE is CVE-2025-63388 on Gold.
What's affected
- Dify (langgenius) v1.9.1, endpoint /console/api/system-features
- Fixed version: none listed in the record. The project has not announced a code fix for this CVE in the sources we reviewed.
Read the dispute before you act. The record carries this note: the supplier disputes the finding, reasoning that sending requests with credentials does not provide any additional access compared to unauthenticated requests. We did not find a project pull request that addresses this specific endpoint, so that rationale is the only supplier position we can cite.
That leaves a real source conflict. The CVE record scores the issue 9.1 and calls it a misconfiguration. The supplier says the behaviour is deliberate. Both statements can be true: the headers may be intended for one endpoint and still be risky if copied to others, or if an authenticated session is later added to the same route. We do not know how the score was derived beyond the record, so treat it as a prompt to review, not as proof of account takeover.
How to check if you're exposed
If you self host Dify, check how your instance answers a cross origin request. From a terminal, send a request that carries a made up Origin header to the endpoint on a test copy and read the response headers:
curl -s -I -H "Origin: https://example.invalid" https://YOUR-DIFY-HOST/console/api/system-features
In the response, look at Access-Control-Allow-Origin and Access-Control-Allow-Credentials. If the first echoes your made up origin and the second says true, the instance behaves as the record describes. Run this only against systems you own.
Also check which version you run in the admin UI or your container tag, and whether a reverse proxy in front of Dify rewrites or overrides these headers.
What to do now
- Confirm your Dify version and whether the console is reachable from the internet. If it does not need to be, restrict it.
- Set CORS at your reverse proxy to an explicit allowlist of your own origins, and avoid combining credentials with a reflected origin.
- Read the project discussion linked below and watch the repository for a change in position on this CVE.
- Keep session cookies on the SameSite setting that fits your deployment, and require a strong admin login.
- Record in your risk register that the supplier disputes the finding, so a later audit sees the reasoning.
- Scan your dependencies and container images with the free in-browser dependency scan and keep the application on a current release.
Why it matters
Cross origin resource sharing relaxes the browser rule that stops one website from reading another's responses. Reflecting any origin while allowing credentials removes much of that protection for the endpoint in question. Whether that matters depends on what the endpoint returns. System feature data is generally configuration state, so the practical effect depends on what your instance returns there.
The class of weakness is common, and disputed CVEs like this one are a good test of process. Check the facts, avoid both panic and dismissal, and fix what is cheap to fix. The CVE is not marked as known exploited in the record.
Quick check
Is this CVE confirmed by Dify?
No. The record says the supplier disputes it, and a merged pull request in the project documents the setup endpoint as unauthenticated by design. Review that discussion yourself.
Should I still tighten CORS?
It is a low cost step. An explicit origin allowlist is safer than reflecting every origin, whatever the final status of the CVE.
Sources
Other references listed in the CVE record (not independently fetched):
- https://gist.github.com/Cristliu/5ded6d03e41d7d66ecb1b568bae3ff6c
- https://gist.github.com/Cristliu/c2bc7d05abd89db8eb542a453a528d77
- https://github.com/langgenius/dify/discussions
Last reviewed: 18 October 2026.