ghsa-c2fc-9q9c-5486
Vulnerability from github
Impact
The access control mechanism for the Proxy feature uses simple string comparisons and is therefore vulnerable to timing attacks. An attacker may try to guess the password one character at a time by sending all possible characters to a vulnerable mechanism and measuring the comparison instruction’s execution times. The vulnerability is shown in figure 8.1, where both the username and password are compared with a short-circuiting equality operation.
golang
if user != proxy.basicAuth.Username || pass != proxy.basicAuth.Password {
It is currently undetermined what an attacker may be able to do with access to the proxy password.
Patches
- Dragonfy v2.1.0 and above.
Workarounds
There are no effective workarounds, beyond upgrading.
References
A third party security audit was performed by Trail of Bits, you can see the full report.
If you have any questions or comments about this advisory, please email us at dragonfly-maintainers@googlegroups.com.
{ "affected": [ { "package": { "ecosystem": "Go", "name": "github.com/dragonflyoss/dragonfly" }, "ranges": [ { "events": [ { "introduced": "0" }, { "fixed": "2.1.0" } ], "type": "ECOSYSTEM" } ] }, { "package": { "ecosystem": "Go", "name": "d7y.io/dragonfly/v2" }, "ranges": [ { "events": [ { "introduced": "0" }, { "fixed": "2.1.0" } ], "type": "ECOSYSTEM" } ] } ], "aliases": [ "CVE-2025-59350" ], "database_specific": { "cwe_ids": [ "CWE-208", "CWE-697" ], "github_reviewed": true, "github_reviewed_at": "2025-09-17T20:02:30Z", "nvd_published_at": "2025-09-17T20:15:37Z", "severity": "MODERATE" }, "details": "### Impact\nThe access control mechanism for the Proxy feature uses simple string comparisons and is therefore vulnerable to timing attacks. An attacker may try to guess the password one character at a time by sending all possible characters to a vulnerable mechanism and measuring the comparison instruction\u2019s execution times.\nThe vulnerability is shown in figure 8.1, where both the username and password are compared with a short-circuiting equality operation.\n\n```golang\nif user != proxy.basicAuth.Username || pass != proxy.basicAuth.Password {\n```\n\nIt is currently undetermined what an attacker may be able to do with access to the proxy password.\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).", "id": "GHSA-c2fc-9q9c-5486", "modified": "2025-09-26T16:17:59Z", "published": "2025-09-17T20:02:30Z", "references": [ { "type": "WEB", "url": "https://github.com/dragonflyoss/dragonfly/security/advisories/GHSA-c2fc-9q9c-5486" }, { "type": "ADVISORY", "url": "https://nvd.nist.gov/vuln/detail/CVE-2025-59350" }, { "type": "PACKAGE", "url": "https://github.com/dragonflyoss/dragonfly" }, { "type": "WEB", "url": "https://github.com/dragonflyoss/dragonfly/blob/main/docs/security/dragonfly-comprehensive-report-2023.pdf" }, { "type": "WEB", "url": "https://pkg.go.dev/vuln/GO-2025-3972" } ], "schema_version": "1.4.0", "severity": [ { "score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N/E:P", "type": "CVSS_V4" } ], "summary": "Dragonfly vulnerable to timing attacks against Proxy\u2019s basic authentication" }
Sightings
Author | Source | Type | Date |
---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
- Confirmed: The vulnerability is confirmed from an analyst perspective.
- Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
- Patched: This vulnerability was successfully patched by the user reporting the sighting.
- Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
- Not confirmed: The user expresses doubt about the veracity of the vulnerability.
- Not patched: This vulnerability was not successfully patched by the user reporting the sighting.