{"id":"CVE-2025-59410","aliases":["GHSA-mcvp-rpgg-9273","GO-2025-3974"],"url":"https://o3.security/vulnerability/CVE-2025-59410","summary":"Dragonfly tiny file download uses hard coded HTTP protocol","details":"### Impact\nThe code in the scheduler for downloading a tiny file is hard coded to use the HTTP protocol, rather than HTTPS. This means that an attacker could perform a Man-in-the-Middle attack, changing the network request so that a different piece of data gets downloaded. Due to the use of weak integrity checks (TOB-DF2-15), this modification of the data may go unnoticed.\n\n```golang\n// DownloadTinyFile downloads tiny file from peer without range.\nfunc (p *Peer) DownloadTinyFile() ([]byte, error) {\n       ctx, cancel := context.WithTimeout(context.Background(),\ndownloadTinyFileContextTimeout)\n       defer cancel()\n       // Download url:\nhttp://${host}:${port}/download/${taskIndex}/${taskID}?peerId=${peerID}\n       targetURL := url.URL{\nScheme:\n}\n\"http\",\nfmt.Sprintf(\"%s:%d\", p.Host.IP, p.Host.DownloadPort),\nfmt.Sprintf(\"download/%s/%s\", p.Task.ID[:3], p.Task.ID),\nHost:\nPath:\nRawQuery: fmt.Sprintf(\"peerId=%s\", p.ID),\n```\n\nA network-level attacker who cannot join a peer-to-peer network performs a Man-in-the-Middle attack on peers. The adversary can do this because peers (partially) communicate over plaintext HTTP protocol. The attack chains this vulnerability with the one described in TOB-DF2-15 to replace correct files with malicious ones. Unconscious peers use the malicious files.\n\n### Patches\n\n- Dragonfy v2.1.0 and above.\n\n### Workarounds\n\nThere are no effective workarounds, beyond upgrading.\n\n### References\n\nA third party security audit was performed by Trail of Bits, you can see the [full report](https://github.com/dragonflyoss/dragonfly/blob/main/docs/security/dragonfly-comprehensive-report-2023.pdf).\n\nIf you have any questions or comments about this advisory, please email us at [dragonfly-maintainers@googlegroups.com](mailto:dragonfly-maintainers@googlegroups.com).","published":"2025-09-17T19:58:54.083Z","modified":"2026-08-12T03:51:09.504120346Z","cvss":null,"epss":null,"cisaKev":null,"exploitsKnown":0,"affectedPackages":[{"ecosystem":"Go","name":"github.com/dragonflyoss/dragonfly","fixedVersion":"2.1.0"},{"ecosystem":"Go","name":"d7y.io/dragonfly/v2","fixedVersion":"2.1.0"}],"fix":null,"references":[{"type":"WEB","url":"https://github.com/dragonflyoss/dragonfly/blob/main/docs/security/dragonfly-comprehensive-report-2023.pdf"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/59xxx/CVE-2025-59410.json"},{"type":"ADVISORY","url":"https://github.com/dragonflyoss/dragonfly/security/advisories/GHSA-mcvp-rpgg-9273"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2025-59410"},{"type":"PACKAGE","url":"https://github.com/dragonflyoss/dragonfly"},{"type":"WEB","url":"https://pkg.go.dev/vuln/GO-2025-3974"}],"provenance":{"sources":["OSV.dev","FIRST.org (EPSS)"],"lastVerified":"2026-08-12T03:51:09.504120346Z"}}