Description
go-micro before 6.0.0 contains an improper certificate validation vulnerability that allows network attackers to impersonate services because the shared TLS helper sets InsecureSkipVerify to true by default. Man-in-the-middle attackers can present any certificate to intercept or modify gRPC transport, HTTP and RabbitMQ broker, and Consul or etcd registry traffic, including authentication tokens and credentials.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| micro | go-micro | < 6.0.0 | 6.0.0 |
References
- GitHub Issue #2963 issue-tracking
- https://github.com/micro/go-micro/commit/c7657f73f45cf839e643db10f28703eeab7299c3 patch
- https://github.com/micro/go-micro/blob/v5.30.0/internal/util/tls/tls.go#L43-L67 technical-description
- https://github.com/micro/go-micro product
- VulnCheck Advisory: go-micro before 6.0.0 Disabled TLS Certificate Verification via tls.Config Helper third-party-advisory