Skip to content
Fencer Intel
high —

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 Fencer

Affected 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

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.