GHSA-x462-89pf-6r5h
Crash due to malformed relay protocol message
Packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| Go | github.com/syncthing/syncthing | < 1.15.0 | 1.15.0 |
Details
As written in the advisory (Markdown source, shown as plain text).
### Impact
1. `syncthing` can be caused to crash and exit if sent a malformed relay
protocol message message with a negative length field.
2. The relay server `strelaysrv` can be caused to crash and exit if sent
a malformed relay protocol message with a negative length field.
At no point is sensitive data exposed or liable to be altered due to this
issue. Sensitive data is never exposed to relay operators. Syncthing itself
would need to be lured to connect to a malicious relay server in order to
exploit the issue.
### Patches
Fixed in version 1.15.0.
### Workarounds
1. No known workaround for `strelaysrv`.
2. `syncthing` can be configured to not use relays, or to only use specific,
trusted relays. If Syncthing is used in a closed environment or with
relaying disabled, i.e., it does not communicate with unknown relays,
Syncthing is not vulnerable.
### For more information
If you have any questions or comments about this advisory, please discuss it [on the forum](https://forum.syncthing.net/).
Thanks to Wojciech Paciorek for discovering and reporting this issue.
References
External links from the advisory. They lead to third-party sites.
- https://github.com/syncthing/syncthing/security/advisories/GHSA-x462-89pf-6r5h
- https://nvd.nist.gov/vuln/detail/CVE-2021-21404
- https://github.com/syncthing/syncthing/commit/fb4fdaf4c0a79c22cad000c42ac1394e3ccb6a97
- https://github.com/syncthing/syncthing/releases/tag/v1.15.0
- https://pkg.go.dev/github.com/syncthing/syncthing