Skip to content

Releases: cert-manager/cert-manager

v1.14.2

08 Feb 13:37
306e329
Compare
Choose a tag to compare

cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters.

cert-manager 1.14 brings a variety of features, security improvements and bug fixes, including: support for creating X.509 certificates with "Other Name" fields, and support for creating CA certificates with "Name Constraints" and "Authority Information Accessors" extensions.

⚠️ Known Issues

  • ACME Issuer (Let's Encrypt): wrong certificate chain may be used if preferredChain is configured: see release docs for more info and mitigations
  • Logging-format json sometimes writes plaintext messages (see #6768). FIXED in v1.14.3

ℹ️ Documentation

Release notes
Upgrade notes
Installation instructions

🔧 Breaking changes

See Breaking changes in v1.14.0 release notes

📜 Changes since v1.14.1

Bug or Regression

  • BUGFIX: cert-manager CA and SelfSigned issuers incorrectly copied the critical flag from the CSR instead of re-calculating that field themselves. (#6727, @jetstack-bot)
  • Helm: Fix a bug in the logic that differentiates between 0 and an empty value. (#6729, @jetstack-bot)

Other (Cleanup or Flake)

v1.14.1

02 Feb 18:05
c7b1e30
Compare
Choose a tag to compare

cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters.

cert-manager 1.14 brings a variety of features, security improvements and bug fixes, including: support for creating X.509 certificates with "Other Name" fields, and support for creating CA certificates with "Name Constraints" and "Authority Information Accessors" extensions.

⚠️ This version has known issues. Please install v1.14.2 instead.

⚠️ Known Issues (please install v1.14.2)

  • ACME Issuer (Let's Encrypt): wrong certificate chain may be used if preferredChain is configured: see release docs for more info and mitigations
  • In cert-manager v1.14.0 and v1.14.1, the CA and SelfSigned issuers issue certificates with SANs set to non-critical even when the subject is empty. It incorrectly copies the critical field from the CSR.

🔧 Breaking changes

See Breaking changes in v1.14.0 release notes

ℹ️ Documentation

📜 Changes since v1.14.0

Bug or Regression

  • Fix broken cainjector image value in Helm chart (#6693, @SgtCoDFish)
  • Fix bug in cmctl namespace detection which prevented it being used as a startupapicheck image in namespaces other than cert-manager. (#6706, @inteon)
  • Fix bug in cmctl which caused cmctl experimental install to panic. (#6706, @inteon)

v1.14.0

02 Feb 18:04
2c14e5f
Compare
Choose a tag to compare

cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters.

cert-manager 1.14 brings a variety of features, security improvements and bug fixes, including: support for creating X.509 certificates with "Other Name" fields, and support for creating CA certificates with "Name Constraints" and "Authority Information Accessors" extensions.

⚠️ This version has known issues. Please install v1.14.2 instead.

⚠️ Known Issues (please install v1.14.2)

  • ACME Issuer (Let's Encrypt): wrong certificate chain may be used if preferredChain is configured: see release docs for more info and mitigations
  • In cert-manager v1.14.0 and v1.14.1, the CA and SelfSigned issuers issue certificates with SANs set to non-critical even when the subject is empty. It incorrectly copies the critical field from the CSR.
  • During the release of v1.14.0, the Helm chart for this version was found to use the wrong OCI image for the cainjector Deployment,
    which caused the Helm installation to fail.
    In order to complete the release, the cert-manager team have manually updated the Helm chart for this version,
    which contains all the Helm chart fixes which are in v1.14.1.
  • A bug in cmctl namespace detection prevents it being used as a startupapicheck image in namespaces other than cert-manager.
  • A bug in cmctl causes cmctl experimental install to panic.

🔧 Breaking Changes

The startupapicheck job uses a new OCI image called "startupapicheck", instead of the ctl image.
If you run in an environment in which images cannot be pulled, be sure to include the new image.

The KeyUsage and BasicConstraints extensions will now be encoded as critical in the CertificateRequest's CSR blob.

🗺️ Major Themes

New X.509 Features

The cert-manager Certificate resource now allows you to configure a subset of "Other Name" SANs,
which are described in the Subject Alternative Name section of RFC 5280 (on page 37).

We specifically support any otherName type with a UTF-8 value, such as the User Principal Name or sAMAccountName.
These are useful when issuing unique certificates for authenticating with LDAP systems such as Microsoft Active Directory.
For example you can create certificates with this block in the spec:

  otherNames:
    - oid: 1.3.6.1.4.1.311.20.2.3 # UPN OID
      utf8Value: upn@domain.local

The feature is still in alpha stage and requires you to enable the OtherName feature flag in the controller and webhook components.

New CA certificate Features

You can now specify the X.509 v3 Authority Information Accessors extension,
with URLs for certificates issued by the CA issuer.

Users can now use name constraints in CA certificates.
To know more details on name constraints check out RFC section https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.10

Security

An ongoing security audit of the cert-manager code revealed some weaknesses which we have addressed in this release,
such as using more secure default settings in the HTTP servers that serve metrics, healthz and pprof endpoints.
This will help mitigate denial-of-service attacks against those important services.

All the cert-manager containers are now configured with read only root file system by default,
to prevent unexpected changes to the file system of the OCI image.

And it is now possible to configure the metrics server to use HTTPS rather than HTTP,
so that clients can verify the identity of the metrics server.

Other

The liveness probe of the cert-manager controller Pod is now enabled by default.

There is a new option .spec.keystores.pkcs12.algorithms to specify encryption and MAC algorithms for PKCS.

🤝 Community

Thanks again to all open-source contributors with commits in this release, including:

Thanks also to the following cert-manager maintainers for their contributions during this release:

Equally thanks to everyone who provided feedback, helped users and raised issues on GitHub and Slack and joined our meetings!

Thanks also to the CNCF, which provides resources and support, and to the AWS open source team for being good community members and for their maintenance of the PrivateCA Issuer.

In addition, massive thanks to Venafi for contributing developer time and resources towards the continued maintenance of cert-manager projects.

📜 Changes

Feature

  • ACME challenge solver Pod for HTTP01 will get a default annotation of "cluster-autoscaler.kubernetes.io/safe-to-evict": "true". You can provide an annotation of "cluster-autoscaler.kubernetes.io/safe-to-evict": "false" in your podTemplate if you don't like this. (#6349, @jsoref)
  • Added a clock skew detector liveness probe that will force a restart in case we detect a skew between the internal monotonic clock and the system clock of more than 5 minutes.
    Also, the controller's liveness probe is now enabled by default. (#6328, @inteon)
  • Added a new flag (--dynamic-serving-leaf-duration) that can adjust the lifetime of the dynamic leaf certificates (#6552, @allenmunC1)
  • Added support for otherName SANS in Certificates (#6404, @SpectralHiss)
  • Added the option to specify the X.509 v3 Authority Information Accessors extension CA Issuers URLs for certificates issued by the CA issuer. (#6486, @jeremycampbell)
  • Adds cert-manager's new core infrastructure initiative badge! See more details on https://www.bestpractices.dev/projects/8079 (#6497, @SgtCoDFish)
  • All Pods are now configured with readOnlyRootFilesystem by default. (#6453, @wallrj)
  • MAYBE BREAKING: The startupapicheck job is now handled by an entirely new container called "startupapicheck". This replaces the previous ctl container. If you run in an environment in which images cannot be pulled, be sure to include the new container. (#6549, @SgtCoDFish)
  • New option .spec.keystores.pkcs12.algorithms to specify encryption and MAC algorithms for PKCS#12 keystores. Fixes issues #5957 and #6523. (#6548, @snorwin)
  • The ACME HTTP01 solver Pod is now configured with readOnlyRootFilesystem: true (#6462, @wallrj)
  • Updates the AWS SDK for Go to 1.48.7 to support Amazon EKS Pod Identity (#6519, @JoeNorth)
  • Users can now use name constraints in CA certificates. To know more details on name constraints check out RFC section https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.10 (#6500, @tanujd11)
  • ⚠️ potentially breaking ⚠️: The KeyUsage and BasicConstraints extensions will now be encoded as critical in the CertificateRequest's CSR blob. (#6053, @inteon)
  • Add TLS support to the metrics endpoint through either a certificate file or through dynamically issued certificates (#6574, @ThatsMrTalbot)
  • Helm Chart: allow changing the default Deployment revisionHistoryLimit (#6248, @tberreis)
  • Security: Limit the size of the response b...
Read more

v1.14.0-beta.0

22 Jan 15:27
v1.14.0-beta.0
862cc12
Compare
Choose a tag to compare
v1.14.0-beta.0 Pre-release
Pre-release

cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters.

This is the first beta release of cert-manager 1.14, which will be released on January 31 2024.

Breaking Changes

The startupapicheck job uses a new OCI image called "startupapicheck", instead of the ctl image.
If you run in an environment in which images cannot be pulled, be sure to include the new image.

The KeyUsage and BasicConstraints extensions will now be encoded as critical in the CertificateRequest's CSR blob.

Release Notes

📖 Read the draft cert-manager 1.14 release notes.

Changes Since v1.14.0-alpha.1

Other (Cleanup or Flake)

  • The cert-manager E2E tests can now be run on Kubernetes 1.29 (#6641, @wallrj)

Uncategorized

  • Support custom spec.namespaceSelector for webhooks (#6638, @jkroepke)

v1.14.0-alpha.1

16 Jan 10:33
3d4c6d1
Compare
Choose a tag to compare
v1.14.0-alpha.1 Pre-release
Pre-release

This is the second pre-release of cert-manager 1.14 which will be released on January 31 2024.

Breaking Changes

The startupapicheck job uses a new OCI image called "startupapicheck", instead of the ctl image.
If you run in an environment in which images cannot be pulled, be sure to include the new image.

The KeyUsage and BasicConstraints extensions will now be encoded as critical in the CertificateRequest's CSR blob.

Release Notes

📖 Read the draft cert-manager 1.14 release notes.

Community

Thanks again to all open-source contributors with commits in this release, including:

Changes since v1.14.0-alpha.0

Feature

  • Add TLS support to the metrics endpoint through either a certificate file or through dynamically issued certificates (#6574, @ThatsMrTalbot)
  • Helm Chart: allow changing the default Deployment revisionHistoryLimit (#6248, @tberreis)
  • Security: Limit the size of the response body read from HTTP requests by cert-manager. (#6619, @ThatsMrTalbot)

Bug or Regression

  • BUGFIX: Ensure otherName SAN changes in Certificate resources trigger re-issuance. (#6620, @SpectralHiss)
  • Bugfix: Publish the startupapicheck image to quay.io (#6609, @wallrj)

Other (Cleanup or Flake)

Dependencies

Added

  • github.com/Azure/azure-sdk-for-go/sdk/azcore: v1.9.1
  • github.com/Azure/azure-sdk-for-go/sdk/azidentity: v1.4.0
  • github.com/Azure/azure-sdk-for-go/sdk/internal: v1.5.1
  • github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/dns/armdns: v1.2.0
  • github.com/AzureAD/microsoft-authentication-library-for-go: v1.1.1
  • github.com/dnaeon/go-vcr: v1.2.0
  • github.com/golang-jwt/jwt/v5: v5.0.0
  • github.com/kylelemons/godebug: v1.1.0
  • github.com/montanaflynn/stats: v0.7.0
  • github.com/pkg/browser: 681adbf

Changed

Nothing has changed.

Removed

  • github.com/Azure/azure-sdk-for-go: v68.0.0+incompatible
  • github.com/Azure/go-autorest/autorest/adal: v0.9.23
  • github.com/Azure/go-autorest/autorest/date: v0.3.0
  • github.com/Azure/go-autorest/autorest/mocks: v0.4.2
  • github.com/Azure/go-autorest/autorest/to: v0.4.0
  • github.com/Azure/go-autorest/autorest/validation: v0.3.1
  • github.com/Azure/go-autorest/autorest: v0.11.29
  • github.com/Azure/go-autorest/logger: v0.2.1
  • github.com/Azure/go-autorest/tracing: v0.6.0
  • github.com/Azure/go-autorest: v14.2.0+incompatible

v1.14.0-alpha.0

04 Jan 11:40
3ab3e9d
Compare
Choose a tag to compare
v1.14.0-alpha.0 Pre-release
Pre-release

This is a pre-release of cert-manager 1.14 which will be released on January 31 2024.

Known Issues

Breaking Changes

The startupapicheck job uses a new OCI image called "startupapicheck", instead of the ctl image.
If you run in an environment in which images cannot be pulled, be sure to include the new image.

The KeyUsage and BasicConstraints extensions will now be encoded as critical in the CertificateRequest's CSR blob.

Release Notes

📖 Read the draft cert-manager 1.14 release notes.

Feature

  • ACME challenge solver Pod for HTTP01 will get a default annotation of "cluster-autoscaler.kubernetes.io/safe-to-evict": "true". You can provide an annotation of "cluster-autoscaler.kubernetes.io/safe-to-evict": "false" in your podTemplate if you don't like this. (#6349, @jsoref)
  • Added a clock skew detector liveness probe that will force a restart in case we detect a skew between the internal monotonic clock and the system clock of more than 5 minutes.
    Also, the controller's liveness probe is now enabled by default. (#6328, @inteon)
  • Added a new flag (--dynamic-serving-leaf-duration) that can adjust the lifetime of the dynamic leaf certificates (#6552, @allenmunC1)
  • Added support for otherName SANS in Certificates (#6404, @SpectralHiss)
  • Added the option to specify the X.509 v3 Authority Information Accessors extension CA Issuers URLs for certificates issued by the CA issuer. (#6486, @jeremycampbell)
  • Adds cert-manager's new core infrastructure initiative badge! See more details on https://www.bestpractices.dev/projects/8079 (#6497, @SgtCoDFish)
  • All Pods are now configured with readOnlyRootFilesystem by default. (#6453, @wallrj)
  • MAYBE BREAKING: The startupapicheck job is now handled by an entirely new container called "startupapicheck". This replaces the previous ctl container. If you run in an environment in which images cannot be pulled, be sure to include the new container. (#6549, @SgtCoDFish)
  • New option .spec.keystores.pkcs12.algorithms to specify encryption and MAC algorithms for PKCS#12 keystores. Fixes issues #5957 and #6523. (#6548, @snorwin)
  • The ACME HTTP01 solver Pod is now configured with readOnlyRootFilesystem: true (#6462, @wallrj)
  • Updates the AWS SDK for Go to 1.48.7 to support Amazon EKS Pod Identity (#6519, @JoeNorth)
  • Users can now use name constraints in CA certificates. To know more details on name constraints check out RFC section https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.10 (#6500, @tanujd11)
  • ⚠️ potentially breaking ⚠️: The KeyUsage and BasicConstraints extensions will now be encoded as critical in the CertificateRequest's CSR blob. (#6053, @inteon)

Bug or Regression

  • BUGFIX[helm]: Fix issue where webhook feature gates were only set if controller feature gates are set. (#6380, @asapekia)
  • Controller ConfigMap if now created only if .Values.config is set. (#6357, @ABWassim)
  • Fix runaway bug caused by multiple Certificate resources that point to the same Secret resource. (#6406, @inteon)
  • Fix(helm): templating of required value in controller and webhook ConfigMap resources (#6435, @ABWassim)
  • Fixed a webhook validation error message when the key algorithm was invalid. (#6571, @pevidex)
  • Fixed error messaging when setting up vault issuer (#6433, @vinny)
  • GHSA-vgf6-pvf4-34rq: The webhook server now returns HTTP error 413 (Content Too Large) for requests with body size >= 3MiB. This is to mitigate DoS attacks that attempt to crash the webhook process by sending large requests that exceed the available memory.
    The webhook server now returns HTTP error 400 (Bad Request) if the request contains an empty body.
    The webhook server now returns HTTP error 500 (Internal Server Error) rather than crashing, if the code panics while handling a request. (#6498, @inteon)
  • Increase the default webhook timeout to its maximum value of 30 seconds, so that the underlying timeout error message has more chance of being returned to the end user. (#6488, @wallrj)
  • Listeners that do not support TLS on Gateway resources will now not raise BadConfig warnings anymore (#6347, @lauraseidler)
  • Mitigate potential Slowloris attacks by setting ReadHeaderTimeout in all http.Server instances (#6534, @wallrj)
  • The Venafi issuer now properly resets the certificate and should no longer get stuck with WebSDK CertRequest Module Requested Certificate or This certificate cannot be processed while it is in an error state. Fix any errors, and then click Retry.. (#6398, @maelvls)
  • Update experimental install and uninstall commands to have flag parity with the rest of the CLI (#6562, @ThatsMrTalbot)
  • Webhook ConfigMap if now created only if .Values.webhook.config is set. (#6360, @ABWassim)

Other (Cleanup or Flake)

  • Cert-manager is now built with Go 1.21.5 (#6545, @wallrj)
  • Bump Go to 1.21.3 to address CVE-2023-39325. Also bumps base images. (#6410, @SgtCoDFish)
  • Bump golang.org/x/net v0.15.0 => v0.17.0 as part of addressing CVE-2023-44487 / CVE-2023-39325 (#6427, @SgtCoDFish)
  • Check code for unintended use of crypto/md5, a weak cryptographic primitive; using golangci-lint / gosec (G501). (#6581, @wallrj)
  • Check code for unintended use of crypto/sha1, a weak cryptographic primitive; using golangci-lint / gosec (G505). (#6579, @wallrj)
  • Check code for unintended use of weak random number generator (math/rand instead of crypto/rand); using golangci-lint / gosec (G404). (#6582, @wallrj)
  • Cleanup: Restrict MutatingWebhookConfiguration to only CertificateRequest resources (#6311, @hawksight)
  • Deprecated pkg/util.RandStringRunes and pkg/controller/test.RandStringBytes. Use k8s.io/apimachinery/pkg/util/rand.String instead. (#6585, @wallrj)
  • Enabled verbose logging in startupapicheck by default, so that if it fails, users can know exactly what caused the failure. (#6495, @wallrj)
  • Fix gosec G601: Implicit memory aliasing of items from a range statement (#6551, @wallrj)
  • Fix handling of serial numbers in literal certificate subjects. Previously a serial number could be specified in subject.serialNumber whil...
Read more

v1.12.7

12 Dec 16:08
6d7629b
Compare
Choose a tag to compare

This patch release contains fixes for the following security vulnerabilities in the cert-manager-controller:

  • GO-2023-2382: Denial of service via chunk extensions in net/http

If you use ArtifactHub Security report or trivy, this patch will also silence the following warning about a vulnerability in code which is imported but not used by the cert-manager-controller:

  • CVE-2023-47108: DoS vulnerability in otelgrpc due to unbound cardinality metrics.

An ongoing security audit of cert-manager suggested some changes to the webhook code to mitigate DoS attacks,
and these are included in this patch release.

Known bugs

If you misconfigure two Certificate resources to have the same target Secret resource, cert-manager will generate a MANY CertificateRequests, possibly causing high CPU usage and/ or high costs due to the large number of certificates issued (see #6406).

This problem was resolved in v1.13.2 and other later versions, but the fix cannot be easily backported to v1.12.x. We recommend using v1.12.x with caution (avoid misconfigured Certificate resources) or upgrading to a newer version.

Changes

Feature

  • cert-manager is now built with Go 1.20.12 (#6543, @wallrj).

Bug or Regression

  • The webhook server now returns HTTP error 413 (Content Too Large) for requests with body size >= 3MiB. This is to mitigate DoS attacks that attempt to crash the webhook process by sending large requests that exceed the available memory (#6506, @inteon).
  • The webhook server now returns HTTP error 400 (Bad Request) if the request contains an empty body (#6506, @inteon).
  • The webhook server now returns HTTP error 500 (Internal Server Error) rather than crashing, if the code panics while handling a request (#6506, @inteon).
  • Mitigate potential Slowloris attacks by setting ReadHeaderTimeout in all http.Server instances (#6539, @wallrj).
  • Upgrade otel and docker to fix: CVE-2023-47108 and GHSA-jq35-85cj-fj4p (#6513, @inteon).

Dependencies

Added
  • cloud.google.com/go/dataproc/v2: v2.0.1
Changed
  • cloud.google.com/go/aiplatform: v1.45.0 → v1.48.0
  • cloud.google.com/go/analytics: v0.21.2 → v0.21.3
  • cloud.google.com/go/baremetalsolution: v0.5.0 → v1.1.1
  • cloud.google.com/go/batch: v0.7.0 → v1.3.1
  • cloud.google.com/go/beyondcorp: v0.6.1 → v1.0.0
  • cloud.google.com/go/bigquery: v1.52.0 → v1.53.0
  • cloud.google.com/go/cloudbuild: v1.10.1 → v1.13.0
  • cloud.google.com/go/cloudtasks: v1.11.1 → v1.12.1
  • cloud.google.com/go/compute: v1.21.0 → v1.23.0
  • cloud.google.com/go/contactcenterinsights: v1.9.1 → v1.10.0
  • cloud.google.com/go/container: v1.22.1 → v1.24.0
  • cloud.google.com/go/datacatalog: v1.14.1 → v1.16.0
  • cloud.google.com/go/dataplex: v1.8.1 → v1.9.0
  • cloud.google.com/go/datastore: v1.12.1 → v1.13.0
  • cloud.google.com/go/datastream: v1.9.1 → v1.10.0
  • cloud.google.com/go/deploy: v1.11.0 → v1.13.0
  • cloud.google.com/go/dialogflow: v1.38.0 → v1.40.0
  • cloud.google.com/go/documentai: v1.20.0 → v1.22.0
  • cloud.google.com/go/eventarc: v1.12.1 → v1.13.0
  • cloud.google.com/go/firestore: v1.11.0 → v1.12.0
  • cloud.google.com/go/gkebackup: v0.4.0 → v1.3.0
  • cloud.google.com/go/gkemulticloud: v0.6.1 → v1.0.0
  • cloud.google.com/go/kms: v1.12.1 → v1.15.0
  • cloud.google.com/go/maps: v0.7.0 → v1.4.0
  • cloud.google.com/go/metastore: v1.11.1 → v1.12.0
  • cloud.google.com/go/policytroubleshooter: v1.7.1 → v1.8.0
  • cloud.google.com/go/pubsub: v1.32.0 → v1.33.0
  • cloud.google.com/go/run: v0.9.0 → v1.2.0
  • cloud.google.com/go/servicedirectory: v1.10.1 → v1.11.0
  • cloud.google.com/go/speech: v1.17.1 → v1.19.0
  • cloud.google.com/go/translate: v1.8.1 → v1.8.2
  • cloud.google.com/go/video: v1.17.1 → v1.19.0
  • cloud.google.com/go/vmwareengine: v0.4.1 → v1.0.0
  • cloud.google.com/go: v0.110.4 → v0.110.7
  • github.com/felixge/httpsnoop: v1.0.3 → v1.0.4
  • github.com/go-logr/logr: v1.2.4 → v1.3.0
  • github.com/golang/glog: v1.1.0 → v1.1.2
  • github.com/google/go-cmp: v0.5.9 → v0.6.0
  • github.com/google/uuid: v1.3.0 → v1.3.1
  • go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc: v0.45.0 → v0.46.0
  • go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp: v0.44.0 → v0.46.0
  • go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc: v1.19.0 → v1.20.0
  • go.opentelemetry.io/otel/exporters/otlp/otlptrace: v1.19.0 → v1.20.0
  • go.opentelemetry.io/otel/metric: v1.19.0 → v1.20.0
  • go.opentelemetry.io/otel/sdk: v1.19.0 → v1.20.0
  • go.opentelemetry.io/otel/trace: v1.19.0 → v1.20.0
  • go.opentelemetry.io/otel: v1.19.0 → v1.20.0
  • go.uber.org/goleak: v1.2.1 → v1.3.0
  • golang.org/x/oauth2: v0.10.0 → v0.11.0
  • golang.org/x/sys: v0.13.0 → v0.14.0
  • google.golang.org/genproto/googleapis/api: 782d3b1 → b8732ec
  • google.golang.org/genproto/googleapis/rpc: 782d3b1 → b8732ec
  • google.golang.org/genproto: 782d3b1 → b8732ec
  • google.golang.org/grpc: v1.58.3 → v1.59.0
Removed
  • cloud.google.com/go/dataproc: v1.12.0

v1.13.3

11 Dec 14:50
876e386
Compare
Choose a tag to compare

cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters.

⚠️ Read about the breaking changes in cert-manager 1.13 before you upgrade from a < v1.13 version!

This patch release contains fixes for the following security vulnerabilities in the cert-manager-controller:

  • GO-2023-2334: Decryption of malicious PBES2 JWE objects can consume unbounded system resources.

If you use ArtifactHub Security report or trivy, this patch will also silence the following warning about a vulnerability in code which is imported but not used by the cert-manager-controller:

  • CVE-2023-47108: DoS vulnerability in otelgrpc due to unbound cardinality metrics.

An ongoing security audit of cert-manager suggested some changes to the webhook code to mitigate DoS attacks, and these are included in this patch release.

Changes

Bug or Regression

  • The webhook server now returns HTTP error 413 (Content Too Large) for requests with body size >= 3MiB. This is to mitigate DoS attacks that attempt to crash the webhook process by sending large requests that exceed the available memory. (#6507, @inteon)
  • The webhook server now returns HTTP error 400 (Bad Request) if the request contains an empty body. (#6507, @inteon)
  • The webhook server now returns HTTP error 500 (Internal Server Error) rather than crashing, if the code panics while handling a request. (#6507, @inteon)
  • Mitigate potential "Slowloris" attacks by setting ReadHeaderTimeout in all http.Server instances. (#6538, @wallrj)
  • Upgrade Go modules: otel, docker, and jose to fix CVE alerts. See GHSA-8pgv-569h-w5rw, GHSA-jq35-85cj-fj4p, and GHSA-2c7c-3mj9-8fqh. (#6514, @inteon)

Dependencies

Added

Nothing has changed.

Changed

  • cloud.google.com/go/firestore: v1.11.0 → v1.12.0
  • cloud.google.com/go: v0.110.6 → v0.110.7
  • github.com/felixge/httpsnoop: v1.0.3 → v1.0.4
  • github.com/go-jose/go-jose/v3: v3.0.0 → v3.0.1
  • github.com/go-logr/logr: v1.2.4 → v1.3.0
  • github.com/golang/glog: v1.1.0 → v1.1.2
  • github.com/google/go-cmp: v0.5.9 → v0.6.0
  • go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc: v0.45.0 → v0.46.0
  • go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp: v0.44.0 → v0.46.0
  • go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc: v1.19.0 → v1.20.0
  • go.opentelemetry.io/otel/exporters/otlp/otlptrace: v1.19.0 → v1.20.0
  • go.opentelemetry.io/otel/metric: v1.19.0 → v1.20.0
  • go.opentelemetry.io/otel/sdk: v1.19.0 → v1.20.0
  • go.opentelemetry.io/otel/trace: v1.19.0 → v1.20.0
  • go.opentelemetry.io/otel: v1.19.0 → v1.20.0
  • go.uber.org/goleak: v1.2.1 → v1.3.0
  • golang.org/x/sys: v0.13.0 → v0.14.0
  • google.golang.org/genproto/googleapis/api: f966b18 → b8732ec
  • google.golang.org/genproto: f966b18 → b8732ec
  • google.golang.org/grpc: v1.58.3 → v1.59.0

Removed

Nothing has changed.

v1.13.2

30 Oct 12:58
432a489
Compare
Choose a tag to compare

cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters.

v1.13.2 fixes some CVE alerts and contains fixes for:

  1. a CertificateRequest runaway situation in case two Certificate resources point to the same Secret target resource
  2. a small bug in the Helm chart (feature gate options)
  3. a Venafi issuer bug

⚠️ READ https://github.com/cert-manager/cert-manager/releases/tag/v1.13.0 before you upgrade from a < v1.13 version!

Changes since v1.13.1

Bug or Regression

  • Bump golang.org/x/net v0.15.0 => v0.17.0 as part of addressing CVE-2023-44487 / CVE-2023-39325 (#6432, @SgtCoDFish)
  • BUGFIX[helm]: Fix issue where webhook feature gates were only set if controller feature gates are set. (#6381, @asapekia)
  • Fix runaway bug caused by multiple Certificate resources that point to the same Secret resource. (#6425, @inteon)
  • The Venafi issuer now properly resets the certificate and should no longer get stuck with WebSDK CertRequest Module Requested Certificate or This certificate cannot be processed while it is in an error state. Fix any errors, and then click Retry.. (#6402, @maelvls)

Other (Cleanup or Flake)

v1.12.6

30 Oct 12:55
67300a6
Compare
Choose a tag to compare

cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters.

v1.12.6 fixes some CVE alerts and a Venafi issuer bug.

Known bugs

If you misconfigure two Certificate resources to have the same target Secret resource, cert-manager will generate a MANY CertificateRequests, possibly causing high CPU usage and/ or high costs due to the large number of certificates issued (see #6406).

This problem was resolved in v1.13.2 and other later versions, but the fix cannot be easily backported to v1.12.x. We recommend using v1.12.x with caution (avoid misconfigured Certificate resources) or upgrading to a newer version.

Changes since v1.12.5

Bug or Regression

  • Bump golang.org/x/net v0.15.0 => v0.17.0 as part of addressing CVE-2023-44487 / CVE-2023-39325 (#6431, @SgtCoDFish)
  • The Venafi issuer now properly resets the certificate and should no longer get stuck with WebSDK CertRequest Module Requested Certificate or This certificate cannot be processed while it is in an error state. Fix any errors, and then click Retry.. (#6401, @maelvls)

Other (Cleanup or Flake)