Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(deps): update module github.com/external-secrets/external-secrets to v0.10.2 [security] #522

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Sep 9, 2024

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
github.com/external-secrets/external-secrets v0.9.11 -> v0.10.2 age adoption passing confidence

Warning

Some dependencies could not be looked up. Check the Dependency Dashboard for more information.

GitHub Vulnerability Alerts

CVE-2024-45041

Details

The external-secrets has a deployment called default-external-secrets-cert-controller, which is bound with a same-name ClusterRole. This ClusterRole has "get/list" verbs of secrets resources(https://github.com/external-secrets/external-secrets/blob/main/deploy/charts/external-secrets/templates/cert-controller-rbac.yaml#L49). It also has path/update verb of validatingwebhookconfigurations resources(https://github.com/external-secrets/external-secrets/blob/main/deploy/charts/external-secrets/templates/cert-controller-rbac.yaml#L27). As a result, if a malicious user can access the worker node which has this deployment. he/she can:

  1. For the "get/list secrets" permission, he/she can abuse the SA token of this deployment to retrieve or get ALL secrets in the whole cluster, including the cluster-admin secret if created. After that, he/she can abuse the cluster-admin secret to do whatever he/she likes to the whole cluster, resulting in a cluster-level privilege escalation.

  2. For the patch/update verb of validatingwebhookconfigurations, the malicious user can abuse these permissions to get sensitive data or lanuch DoS attacks:

For the privilege escalation attack, by updating/patching a Webhook to make it listen to Secret update operations, the attacker can capture and log all data from requests attempting to update Secrets. More specifically, when a Secret is updated, this Webhook sends the request data to the logging-service, which can then log the content of the Secret. This way, an attacker could indirectly gain access to the full contents of the Secret.

For the DoS attack, by updating/patching a Webhook, and making it deny all Pod create and update requests, the attacker can prevent any new Pods from being created or existing Pods from being updated, resulting in a Denial of Service (DoS) attack.

PoC

Please see the "Details" section

Impact

Privilege escalation


Release Notes

external-secrets/external-secrets (github.com/external-secrets/external-secrets)

v0.10.2

Compare Source

Image: ghcr.io/external-secrets/external-secrets:v0.10.2
Image: ghcr.io/external-secrets/external-secrets:v0.10.2-ubi
Image: ghcr.io/external-secrets/external-secrets:v0.10.2-ubi-boringssl

What's Changed

Full Changelog: external-secrets/external-secrets@v0.10.1...v0.10.2

v0.10.1

Compare Source

Image: ghcr.io/external-secrets/external-secrets:v0.10.1
Image: ghcr.io/external-secrets/external-secrets:v0.10.1-ubi
Image: ghcr.io/external-secrets/external-secrets:v0.10.1-ubi-boringssl

What's Changed
New Contributors

Full Changelog: external-secrets/external-secrets@v0.10.0...v0.10.1

v0.10.0

Compare Source

⚠️ :red-alert: BREAKING CHANGE :red-alert: ⚠️

  • Webhook Generator
    Webhook generator labels have changed from generators.external-secrets.io/type: webhook to external-secrets.io/type: webhook.

  • Webhook Provider
    Webhook provider now can only use secrets that are labeled with external-secrets.io/type: webhook. This enforces explicit setup for webhook secrets by users.

Fixing the issue:

add the label for the secret used by the webhook:

apiVersion: v1
kind: Secret
metadata:
  name: your-secret
  labels:
    external-secrets.io/type: webhook ### <<<<<<<<<<<<< ADD THIS
data:
...

Image: ghcr.io/external-secrets/external-secrets:v0.10.0
Image: ghcr.io/external-secrets/external-secrets:v0.10.0-ubi
Image: ghcr.io/external-secrets/external-secrets:v0.10.0-ubi-boringssl

What's Changed
New Contributors

Full Changelog: external-secrets/external-secrets@v0.9.20...v0.10.0

v0.9.20

Compare Source

Image: ghcr.io/external-secrets/external-secrets:v0.9.20
Image: ghcr.io/external-secrets/external-secrets:v0.9.20-ubi
Image: ghcr.io/external-secrets/external-secrets:v0.9.20-ubi-boringssl

What's Changed

New Contributors


Configuration

📅 Schedule: Branch creation - "" (UTC), Automerge - At any time (no schedule defined).

🚦 Automerge: Enabled.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

Copy link
Contributor Author

renovate bot commented Sep 9, 2024

ℹ Artifact update notice

File name: go.mod

In order to perform the update(s) described in the table above, Renovate ran the go get command, which resulted in the following additional change(s):

  • 56 additional dependencies were updated
  • The go directive was updated for compatibility reasons

Details:

Package Change
go 1.22.3 -> 1.23.1
k8s.io/api v0.30.1 -> v0.31.0
k8s.io/apiextensions-apiserver v0.30.0 -> v0.31.0
github.com/Azure/azure-sdk-for-go/sdk/azcore v1.11.1 -> v1.14.0
github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.5.2 -> v1.7.0
github.com/Azure/azure-sdk-for-go/sdk/internal v1.5.2 -> v1.10.0
github.com/aws/aws-sdk-go v1.53.3 -> v1.55.5
github.com/cespare/xxhash/v2 v2.2.0 -> v2.3.0
github.com/emicklei/go-restful/v3 v3.12.0 -> v3.12.1
github.com/go-logr/logr v1.4.1 -> v1.4.2
github.com/google/cel-go v0.17.8 -> v0.20.1
github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.0 -> v2.20.0
github.com/hashicorp/go-retryablehttp v0.7.5 -> v0.7.7
github.com/hashicorp/vault/api v1.10.0 -> v1.14.0
github.com/hashicorp/vault/api/auth/approle v0.5.0 -> v0.7.0
github.com/hashicorp/vault/api/auth/kubernetes v0.5.0 -> v0.7.0
github.com/klauspost/compress v1.17.4 -> v1.17.9
github.com/prometheus/client_golang v1.19.1 -> v1.20.2
github.com/prometheus/common v0.53.0 -> v0.55.0
github.com/prometheus/procfs v0.12.0 -> v0.15.1
github.com/rogpeppe/go-internal v1.11.1-0.20231026093722-fa6a31e0812c -> v1.12.0
github.com/spf13/cast v1.6.0 -> v1.7.0
github.com/spf13/cobra v1.8.0 -> v1.8.1
go.mongodb.org/mongo-driver v1.14.0 -> v1.16.1
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.46.1 -> v0.54.0
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 -> v0.54.0
go.opentelemetry.io/otel v1.24.0 -> v1.29.0
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.21.0 -> v1.28.0
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.21.0 -> v1.27.0
go.opentelemetry.io/otel/metric v1.24.0 -> v1.29.0
go.opentelemetry.io/otel/sdk v1.21.0 -> v1.28.0
go.opentelemetry.io/otel/trace v1.24.0 -> v1.29.0
go.opentelemetry.io/proto/otlp v1.0.0 -> v1.3.1
go.uber.org/zap v1.26.0 -> v1.27.0
golang.org/x/crypto v0.23.0 -> v0.26.0
golang.org/x/exp v0.0.0-20240416160154-fe59bbe5cc7f -> v0.0.0-20240808152545-0cdaa3abc0fa
golang.org/x/mod v0.17.0 -> v0.20.0
golang.org/x/net v0.25.0 -> v0.28.0
golang.org/x/oauth2 v0.20.0 -> v0.22.0
golang.org/x/sync v0.7.0 -> v0.8.0
golang.org/x/sys v0.20.0 -> v0.24.0
golang.org/x/term v0.20.0 -> v0.23.0
golang.org/x/text v0.15.0 -> v0.17.0
golang.org/x/time v0.5.0 -> v0.6.0
golang.org/x/tools v0.20.0 -> v0.24.0
google.golang.org/genproto/googleapis/api v0.0.0-20240415180920-8c6c420018be -> v0.0.0-20240823204242-4ba0660f739c
google.golang.org/genproto/googleapis/rpc v0.0.0-20240429193739-8cf5692501f6 -> v0.0.0-20240823204242-4ba0660f739c
google.golang.org/grpc v1.63.2 -> v1.65.0
google.golang.org/protobuf v1.34.1 -> v1.34.2
k8s.io/apimachinery v0.30.1 -> v0.31.0
k8s.io/apiserver v0.30.0 -> v0.31.0
k8s.io/component-base v0.30.0 -> v0.31.0
k8s.io/klog/v2 v2.120.1 -> v2.130.1
k8s.io/kube-openapi v0.0.0-20240423202451-8948a665c108 -> v0.0.0-20240822171749-76de80e0abd9
k8s.io/utils v0.0.0-20240423183400-0849a56e8f22 -> v0.0.0-20240821151609-f90d01438635
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.29.0 -> v0.30.3
sigs.k8s.io/controller-runtime v0.18.2 -> v0.19.0

@renovate renovate bot force-pushed the renovate/go-github.com-external-secrets-external-secrets-vulnerability branch from ff3b50a to af68b08 Compare September 24, 2024 02:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants