{"answers":{"affected":"6 open source packages ship an affected version, including github.com/dragonflyoss/dragonfly and d7y.io/dragonfly/v2. It affects 1 product.","exploited":"There is no known exploitation of CVE-2025-59349 in the wild and no public exploit code.","fix":"Upgrade github.com/dragonflyoss/dragonfly to 2.1.0 or later.","what":"CVE-2025-59349 is a low-severity vulnerability in dragonflyoss dragonfly, published on 17 Sep 2025. It can only be exploited from the same machine or local network, with no action from the victim."},"fix_prompt":"Check this codebase for CVE-2025-59349 and fix it if it is affected.\n\nWhat it is: CVE-2025-59349 is a low-severity vulnerability in dragonflyoss dragonfly, published on 17 Sep 2025. It can only be exploited from the same machine or local network, with no action from the victim.\nExploitation: There is no known exploitation of CVE-2025-59349 in the wild and no public exploit code.\n\nAffected packages and fixed versions:\n- github.com/dragonflyoss/dragonfly (Go): affected all versions; no fix listed\n- github.com/dragonflyoss/dragonfly (Go): affected all versions; fixed in 2.1.0\n- github.com/dragonflyoss/dragonfly (Go): affected all versions; fixed in 2.1.0\n- d7y.io/dragonfly/v2 (Go): affected all versions; fixed in 2.1.0\n- d7y.io/dragonfly/v2 (Go): affected all versions; fixed in 2.1.0\n- d7y.io/dragonfly/v2 (Go): affected all versions; fixed in 2.1.0\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-59349/ (Markdown: https://insights.sbomify.com/CVE-2025-59349/index.md)","id":"CVE-2025-59349","markdown":"https://insights.sbomify.com/CVE-2025-59349/index.md","name":"CVE-2025-59349","record":{"aliases":["GHSA-8425-8r2f-mrv6","GO-2025-3964"],"analysis":{"component_type":"server_software","fix_type":"upgrade","impacts":["data_modify"],"network_reachable":"adjacent_or_local","non_default_config":false,"product_category":"P2P file distribution system","requires_auth":"none","summary":"Local attackers can tamper with files by pre-creating directories with broad permissions before the application creates them.","user_interaction":"not_required","vuln_class":"misconfiguration"},"analysis_generated_by":"qwen3.8-flash-next","assigner":"GitHub_M","cpe":[{"product":"dragonfly","vendor":"linuxfoundation"}],"cvss":{"score":2,"severity":"low","source":"cna","vector":"CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N/E:P","version":"4.0"},"cwes":[{"id":"CWE-732","name":"Incorrect Permission Assignment for Critical Resource"}],"description":"Dragonfly is an open source P2P-based file distribution and image acceleration system. Prior to 2.1.0, DragonFly2 uses the os.MkdirAll function to create certain directory paths with specific access permissions. This function does not perform any permission checks when a given directory path already exists. This allows a local attacker to create a directory to be used later by DragonFly2 with broad permissions before DragonFly2 does so, potentially allowing the attacker to tamper with the files. This vulnerability is fixed in 2.1.0.","ecosystems":["Go"],"exploits":{"exploitdb":0,"first_seen":null,"github_poc":0,"max_poc_stars":null,"metasploit":0,"nuclei":0,"refs":[],"tier":"none_known"},"has_fix":true,"headline":"Directories created via os.MkdirAll are not checked for permissions","id":"CVE-2025-59349","indexable":true,"kev":null,"kind":"cve","links":{"ecosystem":"Go","product":null,"products":[],"type":"misconfiguration","year":"2025"},"n_packages":6,"n_references":2,"next":{"headline":"Timing attacks against Proxy’s basic authentication are possible","id":"CVE-2025-59350"},"packages":[{"ecosystem":"Go","fixed":["2.1.0"],"introduced":["0"],"last_affected":[],"package":"d7y.io/dragonfly/v2","purl":null,"source":"GHSA-8425-8r2f-mrv6"},{"ecosystem":"Go","fixed":["2.1.0"],"introduced":["0"],"last_affected":[],"package":"d7y.io/dragonfly/v2","purl":"pkg:golang/d7y.io/dragonfly/v2","source":"GHSA-8425-8r2f-mrv6"},{"ecosystem":"Go","fixed":["2.1.0"],"introduced":["0"],"last_affected":[],"package":"d7y.io/dragonfly/v2","purl":"pkg:golang/d7y.io/dragonfly/v2","source":"GO-2025-3964"},{"ecosystem":"Go","fixed":[],"introduced":["0"],"last_affected":[],"package":"github.com/dragonflyoss/dragonfly","purl":"pkg:golang/github.com/dragonflyoss/dragonfly","source":"GO-2025-3964"},{"ecosystem":"Go","fixed":["2.1.0"],"introduced":["0"],"last_affected":[],"package":"github.com/dragonflyoss/dragonfly","purl":null,"source":"GHSA-8425-8r2f-mrv6"},{"ecosystem":"Go","fixed":["2.1.0"],"introduced":["0"],"last_affected":[],"package":"github.com/dragonflyoss/dragonfly","purl":"pkg:golang/github.com/dragonflyoss/dragonfly","source":"GHSA-8425-8r2f-mrv6"}],"prev":{"headline":"Dragonfly incorrectly handles a task structure’s usedTraffic field","id":"CVE-2025-59348"},"products":["dragonfly"],"published":"2025-09-17","related":[{"cvss_score":9.8,"headline":"Dragonfly2 vulnerable to hard coded cyptographic key","id":"CVE-2023-27584","kev_date_added":null,"published":"2024-09-19"},{"cvss_score":8.9,"headline":"Dragonfly Manager Job API Allows Unauthenticated Access","id":"CVE-2026-24124","kev_date_added":null,"published":"2026-01-22"},{"cvss_score":7.7,"headline":"Dragonfly did not enable authentication for some Manager’s endpoints","id":"CVE-2025-59345","kev_date_added":null,"published":"2025-09-17"},{"cvss_score":7.7,"headline":"Manager generates mTLS certificates for arbitrary IP addresses","id":"CVE-2025-59353","kev_date_added":null,"published":"2025-09-17"},{"cvss_score":6.9,"headline":"Dragonfly allows arbitrary file read and write on a peer machine","id":"CVE-2025-59352","kev_date_added":null,"published":"2025-09-17"},{"cvss_score":5.5,"headline":"Dragonfly server-side request forgery vulnerability","id":"CVE-2025-59346","kev_date_added":null,"published":"2025-09-17"},{"cvss_score":5.5,"headline":"Dragonfly incorrectly handles a task structure’s usedTraffic field","id":"CVE-2025-59348","kev_date_added":null,"published":"2025-09-17"}],"sources":[{"class":"attribution","licence":"CVE Terms of Use (MITRE)","name":"CVE List","prefix":"CVE"},{"class":"attribution","licence":"CC BY 4.0","name":"GitHub Advisory Database","prefix":"GHSA"},{"class":"attribution","licence":"CC BY 4.0","name":"Go Vulnerability Database","prefix":"GO"},{"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":"none","technical_impact":"partial"},"state":"PUBLISHED","updated":"2025-09-18","vendors":["dragonflyoss"]},"summary":"Local attackers can tamper with files by pre-creating directories with broad permissions before the application creates them.","url":"https://insights.sbomify.com/CVE-2025-59349/"}