Executive brief
Dify is an open-source platform for building AI workflows and RAG pipelines. The application contains a DOM-based cross-site scripting (XSS) vulnerability in its redirect URL parameter handling. An attacker can craft a malicious link that, when clicked by a user, executes arbitrary JavaScript in the victim's browser, potentially stealing credentials or performing unauthorized actions on their behalf.
Technical details
The vulnerability is a DOM-based XSS flaw in the Splash layout component (web/app/(shareLayout)/components/splash.tsx) where the redirect_url URL parameter is passed unsanitized to router.replace(). The vulnerable code extracts the redirect_url from query parameters and passes it to router.replace() without filtering for the javascript: protocol; since router.replace() delegates to window.location, malicious javascript: URIs are executed client-side. An attacker must craft a URL that: (1) appears to be valid when combined with the origin, and (2) contains a valid app/share code at the end to bypass validation. The attack requires no authentication and is performed entirely client-side; a victim need only click a malicious link. The vendor was contacted early but did not respond, and the exploit is publicly available. Patches or fixes have not been provided by the maintainers.
Affected products
- langgenius dify 1.13.0
Timeline
- 2026-09-03: disclosed: Advisory published on NVD
- 2026-03-10: other: Disclosed to DiFy maintainers via GHSA following standard procedures
- 2026-03-13: other: Also disclosed on Huntr
- 2026-07-05: exploited: PoC published on GitHub gist by disclosure researcher after 90+ days without vendor response