{"answers":{"affected":"It affects 1 product.","exploited":"It is not confirmed as exploited in the wild, but public exploit code for CVE-2025-58747 exists.","fix":"No fix has been published for CVE-2025-58747 yet. Limit exposure of the affected software until one is available.","what":"CVE-2025-58747 is a low-severity cross-site scripting vulnerability in langgenius dify, published on 17 Oct 2025. An attacker can exploit it over the internet without logging in, and only if a user opens a file or follows a link."},"fix_prompt":"Check this codebase for CVE-2025-58747 and fix it if it is affected.\n\nWhat it is: CVE-2025-58747 is a low-severity cross-site scripting vulnerability in langgenius dify, published on 17 Oct 2025. An attacker can exploit it over the internet without logging in, and only if a user opens a file or follows a link.\nExploitation: It is not confirmed as exploited in the wild, but public exploit code for CVE-2025-58747 exists.\n\nAffected product: langgenius dify. No package-level version data is available, so check the vendor advisory linked from the reference page.\n\nTask:\n1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.\n2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.\n3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.\n4. Run the tests and summarise what changed and why.\n5. If nothing in the project is affected, say so and change nothing.\n\nReference: https://insights.sbomify.com/CVE-2025-58747/ (Markdown: https://insights.sbomify.com/CVE-2025-58747/index.md)","id":"CVE-2025-58747","markdown":"https://insights.sbomify.com/CVE-2025-58747/index.md","name":"CVE-2025-58747","record":{"aliases":["GHSA-9jch-j9qf-vqfw"],"analysis":{"component_type":"web_application","fix_type":"upgrade","impacts":["code_execution"],"network_reachable":"yes","non_default_config":false,"product_category":"LLM application platform","requires_auth":"none","summary":"Attackers can execute arbitrary JavaScript in the Dify application context by tricking users into connecting to a malicious MCP server.","user_interaction":"required","vuln_class":"xss"},"analysis_generated_by":"qwen3.8-flash-next","assigner":"GitHub_M","cpe":[{"product":"dify","vendor":"langgenius"}],"cvss":{"score":2,"severity":"low","source":"cna","vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N/E:P","version":"4.0"},"cwes":[{"id":"CWE-79","name":"Improper Neutralization of Input During Web Page Generation"}],"description":"Dify is an LLM application development platform. In Dify versions through 1.9.1, the MCP OAuth component is vulnerable to cross-site scripting when a victim connects to an attacker-controlled remote MCP server. The vulnerability exists in the OAuth flow implementation where the authorization_url provided by a remote MCP server is directly passed to window.open without validation or sanitization. An attacker can craft a malicious MCP server that returns a JavaScript URI (such as javascript:alert(1)) in the authorization_url field, which is then executed when the victim attempts to connect to the MCP server. This allows the attacker to execute arbitrary JavaScript in the context of the Dify application.","ecosystems":[],"exploits":{"exploitdb":0,"first_seen":null,"github_poc":0,"max_poc_stars":null,"metasploit":0,"nuclei":0,"refs":[],"tier":"weaponised"},"has_fix":false,"headline":"Dify MCP OAuth Flow Vulnerable to XSS","id":"CVE-2025-58747","indexable":true,"kev":null,"kind":"cve","links":{"ecosystem":null,"product":null,"products":[],"type":"xss","year":"2025"},"n_packages":0,"n_references":2,"next":{"headline":"Dataease H2 data source JDBC URL validation bypass leads to remote code execution","id":"CVE-2025-58748"},"packages":[],"prev":{"headline":"Volkov Labs Business Links plugin vulnerable to privilege escalation attack","id":"CVE-2025-58746"},"products":["dify"],"published":"2025-10-17","related":[{"cvss_score":9.8,"headline":"Hardcoded credentials in n/a","id":"CVE-2025-56157","kev_date_added":null,"published":"2025-12-18"},{"cvss_score":9.8,"headline":"Unsanitized Input in langgenius/dify","id":"CVE-2025-3466","kev_date_added":null,"published":"2025-07-07"},{"cvss_score":9.1,"headline":"Misconfiguration in n/a","id":"CVE-2025-63386","kev_date_added":null,"published":"2025-12-18"},{"cvss_score":9.1,"headline":"Misconfiguration in n/a","id":"CVE-2025-63388","kev_date_added":null,"published":"2025-12-18"},{"cvss_score":8.8,"headline":"Code Injection in langgenius/dify","id":"CVE-2024-10252","kev_date_added":null,"published":"2025-03-20"},{"cvss_score":8.1,"headline":"Authentication Bypass in langgenius/dify","id":"CVE-2024-12776","kev_date_added":null,"published":"2025-03-20"},{"cvss_score":8,"headline":"XSS Vulnerability in langgenius/dify","id":"CVE-2025-3467","kev_date_added":null,"published":"2025-07-07"}],"sources":[{"class":"attribution","licence":"CVE Terms of Use (MITRE)","name":"CVE List","prefix":"CVE"},{"class":"attribution","licence":"US public information, NVD API terms","name":"NVD"},{"class":"attribution","licence":"CWE Terms of Use","name":"CWE (MITRE)"},{"class":"attribution","licence":"FIRST CVSS licence","name":"CVSS (FIRST)"}],"ssvc":{"automatable":"no","exploitation":"poc","technical_impact":"partial"},"state":"PUBLISHED","updated":"2025-10-17","vendors":["langgenius"]},"summary":"Attackers can execute arbitrary JavaScript in the Dify application context by tricking users into connecting to a malicious MCP server.","url":"https://insights.sbomify.com/CVE-2025-58747/"}