GHSA-g8fc-vrcg-8vjg json
Constallation has pods exposed to peers in VPC
published 2y ago modified 8mo ago also GO-2024-2727
- cvss
- —
- not scored
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- —
- no score, EPSS covers CVEs only
- public exploits
- 0
- none known
Summary
### Impact
Cilium allows outside actors (`world` entity) to directly access pods with their internal pod IP, even if they are not exposed explicitly (e.g. via `LoadBalancer`). A pod that does not authenticate clients and that does not exclude `world` traffic via network policy may leak sensitive data to an attacker _inside the cloud VPC_.
### Patches
The issue has been patched in [v2.16.3](https://github.com/edgelesssys/constellation/releases/tag/v2.16.3).
### Workarounds
This network policy excludes all `world` traffic. It mitigates the problem, but will also block all desired external traffic. If vulnerable pods are known, a policy can be crafted to only firewall those instead (see also https://docs.cilium.io/en/stable/security/policy/language/#access-to-from-outside-cluster).
```yaml apiVersion: "cilium.io/v2" kind: CiliumClusterwideNetworkPolicy metadata: name: "from-world-to-role-public" spec: endpointSelector: matchLabels: {} # role: public ingressDeny: - fromEntities: - world ```
### References
The tracking bug for a Cilium-side fix is https://github.com/cilium/cilium/issues/25626.
Patch / fix
- go github.com/edgelesssys/constellation/v2 2.16.3
Is GHSA-g8fc-vrcg-8vjg in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerAffected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| go | github.com/edgelesssys/constellation/v2 | <2.16.3 |
2.16.3 |
| go | github.com/edgelesssys/constellation | all versions |
no fix listed |
Classification
- Weakness
-
- CWE-940 Improper Verification of Source of a Communication Channel
References
Sources
- GitHub Advisory GHSA-g8fc-vrcg-8vjg
- OSV GO-2024-2727
Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.