Skip to content

Conversation

@renovate
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.16.1 -> v1.16.2 age adoption passing confidence

Warning

Some dependencies could not be looked up. Check the warning logs 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.16.2

Compare Source


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.

….16.2 [security]

Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
@renovate renovate bot changed the title chore(deps): update module github.com/cert-manager/cert-manager to v1.16.2 [security] chore(deps): update module github.com/cert-manager/cert-manager to v1.16.2 [security] - autoclosed Nov 20, 2024
@renovate renovate bot closed this Nov 20, 2024
@renovate renovate bot deleted the renovate/go-github.com-cert-manager-cert-manager-vulnerability branch November 20, 2024 22:23
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.

1 participant