GHSA-c2fc-9q9c-5486
GitHub Security Advisory
Dragonfly vulnerable to timing attacks against Proxy’s basic authentication
Advisory Details
### 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](https://github.com/dragonflyoss/dragonfly/blob/main/docs/security/dragonfly-comprehensive-report-2023.pdf).
If you have any questions or comments about this advisory, please email us at [[email protected]](mailto:[email protected]).
Affected Packages
Related CVEs
Key Information
Dataset
Data from GitHub Advisory Database. This information is provided for research and educational purposes.