Description
Netmaker through 1.7.0 contains an authorization bypass vulnerability in the updateExtClient handler that allows network-scoped users to modify external clients on other networks. Attackers with external client permissions on one network can send PUT requests to /api/extclients/{network}/{clientid} to replace public keys, disable clients, and obtain WireGuard private keys.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| gravitl | netmaker | ≤ 1.7.0 | — |
References
- https://github.com/gravitl/netmaker/issues/3875 issue-tracking
- https://github.com/gravitl/netmaker/pull/4153 patch issue-tracking
- https://github.com/gravitl/netmaker/commit/332d8b9bab030ee65e78b9141259e4e0e80ac4b0 patch
- https://github.com/gravitl/netmaker/blob/v1.7.0/controllers/ext_client.go#L879 technical-description
- https://github.com/gravitl/netmaker product
- VulnCheck Advisory: Netmaker through 1.7.0 Authorization Bypass via updateExtClient Unscoped Lookup third-party-advisory