{"answers":{"affected":"It affects 1 product.","exploited":"It is not confirmed as exploited in the wild, but public exploit code for CVE-2024-12039 exists.","fix":"No fix has been published for CVE-2024-12039 yet. Limit exposure of the affected software until one is available.","what":"CVE-2024-12039 is a high-severity authentication bypass vulnerability in langgenius/dify, published on 20 Mar 2025. An attacker can exploit it over the internet without logging in, with no action from the victim."},"fix_prompt":"Check this codebase for CVE-2024-12039 and fix it if it is affected.\n\nWhat it is: CVE-2024-12039 is a high-severity authentication bypass vulnerability in langgenius/dify, published on 20 Mar 2025. An attacker can exploit it over the internet without logging in, with no action from the victim.\nExploitation: It is not confirmed as exploited in the wild, but public exploit code for CVE-2024-12039 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-2024-12039/ (Markdown: https://insights.sbomify.com/CVE-2024-12039/index.md)","id":"CVE-2024-12039","markdown":"https://insights.sbomify.com/CVE-2024-12039/index.md","name":"CVE-2024-12039","record":{"aliases":["GHSA-jjm2-vhrm-92vg"],"analysis":{"component_type":"web_application","fix_type":"patch","impacts":["account_takeover"],"network_reachable":"yes","non_default_config":false,"product_category":"Dify AI platform","requires_auth":"none","summary":"An unauthenticated attacker can brute-force six-digit password reset codes to take over user accounts due to missing rate limits.","user_interaction":"not_required","vuln_class":"auth_bypass"},"analysis_generated_by":"qwen3.8-flash-next","assigner":"@huntr_ai","cpe":[{"product":"dify","vendor":"langgenius"}],"cvss":{"score":7.4,"severity":"high","source":"cna","vector":"CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N","version":"3.0"},"cwes":[{"id":"CWE-307","name":"Improper Restriction of Excessive Authentication Attempts"}],"description":"langgenius/dify version v0.10.1 contains a vulnerability where there are no limits applied to the number of code guess attempts for password reset. This allows an unauthenticated attacker to reset owner, admin, or other user passwords within a few hours by guessing the six-digit code, resulting in a complete compromise of the 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":"Improper Restriction of Excessive Authentication Attempts in langgenius/dify","id":"CVE-2024-12039","indexable":true,"kev":null,"kind":"cve","links":{"ecosystem":null,"product":null,"products":[],"type":"auth_bypass","year":"2024"},"n_packages":0,"n_references":1,"next":{"headline":"Path traversal in Product Carousel Slider \u0026 Grid Ultimate for WooCommerce","id":"CVE-2024-12040"},"packages":[],"prev":{"headline":"Cross-site scripting in Post Form – Registration Form – Profile Form for User Profiles – Frontend Content Forms for User Submissions (UGC)","id":"CVE-2024-12038"},"products":["langgenius/dify"],"published":"2025-03-20","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":"total"},"state":"PUBLISHED","updated":"2025-03-20","vendors":["langgenius"]},"summary":"An unauthenticated attacker can brute-force six-digit password reset codes to take over user accounts due to missing rate limits.","url":"https://insights.sbomify.com/CVE-2024-12039/"}