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/cert-manager/cert-manager to v1.15.4 [security] #525

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

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Nov 20, 2024

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
github.com/cert-manager/cert-manager v1.15.3 -> v1.15.4 age adoption passing confidence

Warning

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

GitHub Vulnerability Alerts

GHSA-r4pg-vg54-wxx4

Impact

cert-manager packages which call the standard library pem.Decode() function can take a long time to process specially crafted invalid PEM data.

If an attacker is able to modify PEM data which cert-manager reads (e.g. in a Secret resource), they may be able to use large amounts of CPU in the cert-manager controller pod to effectively create a denial-of-service (DoS) vector for cert-manager in the cluster.

Secrets are limited in size to 1MiB, which reduces the impact of this issue; it was discovered through an ~856kB fuzz test input which causes pem.Decode to take roughly 750ms to reject the input on an M2 Max Macbook Pro. By way of comparison, a valid PEM-encoded 4096-bit RSA key takes roughly 70µs to parse on the same machine.

Given the required size of PEM data needed to present a realistic DoS vector, an attacker would need to create or insert many different large sized resources in the cluster, and so the best secondary defense is to ensure that sensible limits are placed via RBAC.

This issue affects all versions of cert-manager to have been released since at least v0.1.0 (since pem.Decode is core functionality for cert-manager). All supported releases are patched.

Patches

The fixed versions are v1.16.2, v1.15.4 and v1.12.14.

Workarounds

Ensure that RBAC is scoped correctly in your cluster. If a user is able to modify resources containing PEM data to be able to exploit this, it's like that those permissions are a bigger security threat than this issue - especially for Secret resources.

References


Release Notes

cert-manager/cert-manager (github.com/cert-manager/cert-manager)

v1.15.4

Compare Source

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

This patch release of cert-manager 1.15 makes several changes to how PEM input is validated, adding maximum sizes appropriate to the type of PEM data which is being parsed.

This is to prevent an unacceptable slow-down in parsing specially crafted PEM data. The issue was found by Google's OSS-Fuzz project.

The issue is low severity; to exploit the PEM issue would require privileged access which would likely allow Denial-of-Service through other methods.

Note also that since most PEM data parsed by cert-manager comes from ConfigMap or Secret resources which have a max size limit of approximately 1MB, it's difficult to force cert-manager to parse large amounts of PEM data.

Further information is available in GHSA-r4pg-vg54-wxx4

In addition, the version of Go used to build cert-manager 1.15 was updated along with the base images, and a Route53 bug fix was backported.

Changes by Kind

Bug or Regression
  • Bugfix: Prevent aggressive Route53 retries caused by STS authentication failures by removing the Amazon Request ID from STS errors. (#​7261, @​cert-manager-bot)
  • Set a maximum size for PEM inputs which cert-manager will accept to remove possibility of taking a long time to process an input (#​7402, @​SgtCoDFish)
Other (Cleanup or Flake)

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.

@renovate renovate bot changed the title fix(deps): update module github.com/cert-manager/cert-manager to v1.15.4 [security] fix(deps): update module github.com/cert-manager/cert-manager to v1.15.4 [security] - autoclosed Dec 6, 2024
@renovate renovate bot closed this Dec 6, 2024
@renovate renovate bot deleted the renovate/go-github.com-cert-manager-cert-manager-vulnerability branch December 6, 2024 10:15
@renovate renovate bot changed the title fix(deps): update module github.com/cert-manager/cert-manager to v1.15.4 [security] - autoclosed fix(deps): update module github.com/cert-manager/cert-manager to v1.15.4 [security] Dec 6, 2024
@renovate renovate bot reopened this Dec 6, 2024
@renovate renovate bot force-pushed the renovate/go-github.com-cert-manager-cert-manager-vulnerability branch from d755a4f to ebcc4b2 Compare December 6, 2024 13:33
@renovate renovate bot changed the title fix(deps): update module github.com/cert-manager/cert-manager to v1.15.4 [security] fix(deps): update module github.com/cert-manager/cert-manager to v1.15.4 [security] - autoclosed Jan 3, 2025
@renovate renovate bot closed this Jan 3, 2025
@renovate renovate bot changed the title fix(deps): update module github.com/cert-manager/cert-manager to v1.15.4 [security] - autoclosed fix(deps): update module github.com/cert-manager/cert-manager to v1.15.4 [security] Jan 3, 2025
@renovate renovate bot reopened this Jan 3, 2025
@renovate renovate bot force-pushed the renovate/go-github.com-cert-manager-cert-manager-vulnerability branch 2 times, most recently from ebcc4b2 to eb3839d Compare January 5, 2025 23:02
@renovate renovate bot changed the title fix(deps): update module github.com/cert-manager/cert-manager to v1.15.4 [security] fix(deps): update module github.com/cert-manager/cert-manager to v1.15.4 [security] - autoclosed Jan 10, 2025
@renovate renovate bot closed this Jan 10, 2025
@renovate renovate bot changed the title fix(deps): update module github.com/cert-manager/cert-manager to v1.15.4 [security] - autoclosed fix(deps): update module github.com/cert-manager/cert-manager to v1.15.4 [security] Jan 10, 2025
@renovate renovate bot reopened this Jan 10, 2025
@renovate renovate bot force-pushed the renovate/go-github.com-cert-manager-cert-manager-vulnerability branch from 4d03493 to eb3839d Compare January 10, 2025 19:21
@renovate renovate bot force-pushed the renovate/go-github.com-cert-manager-cert-manager-vulnerability branch from eb3839d to 5ad231a Compare January 16, 2025 04:29
@renovate renovate bot changed the title fix(deps): update module github.com/cert-manager/cert-manager to v1.15.4 [security] fix(deps): update module github.com/cert-manager/cert-manager to v1.15.4 [security] - autoclosed Jan 20, 2025
@renovate renovate bot closed this Jan 20, 2025
@renovate renovate bot changed the title fix(deps): update module github.com/cert-manager/cert-manager to v1.15.4 [security] - autoclosed fix(deps): update module github.com/cert-manager/cert-manager to v1.15.4 [security] Jan 20, 2025
@renovate renovate bot reopened this Jan 20, 2025
@renovate renovate bot force-pushed the renovate/go-github.com-cert-manager-cert-manager-vulnerability branch from 8db61a1 to 5ad231a Compare January 20, 2025 17:24
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