GHSA-79hx-3fp8-hj66
GitHub Security Advisory
DragonFly vulnerable to arbitrary file read and write on a peer machine
Advisory Details
### Impact
A peer exposes the gRPC API and HTTP API for consumption by other peers. These APIs allow peers to send requests that force the recipient peer to create files in arbitrary file system locations, and to read arbitrary files. This allows peers to steal other peers’ secret data and to gain remote code execution (RCE) capabilities on the peer’s machine.
```golang
file, err := os.OpenFile(t.DataFilePath, os.O_RDWR, defaultFileMode)
if err != nil {
return 0, err
}
defer file.Close()
if _, err = file.Seek(req.Range.Start, io.SeekStart); err != nil {
return 0, err
}
n, err := io.Copy(file, io.LimitReader(req.Reader, req.Range.Length))
```
### 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.