Summary
cert-manager ha a potential slowdown / DoS when parsing specially crafted PEM inputs
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
- Upstream issue: https://github.com/golang/go/issues/50116
- Similar issue: https://github.com/sigstore/sigstore/issues/198
- Google OSSFuzz: https://issues.oss-fuzz.com/issues/376728466
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.
Affected versions
Security releases
Kodem intelligence
Severity tells you how bad this could be in the worst case. It does not tell you whether you are exposed. Exploitability and impact are functions of runtime truth: whether the vulnerable code is present, reachable, and actually executes in your application. A vulnerable package can sit in your dependency tree and never run.
Kodem, an Intelligent Application Security platform, uses runtime intelligence to reveal which vulnerabilities actually execute in production, so teams prioritize the ones that genuinely matter. Kodem's runtime-powered SCA identifies whether this CVE is reachable in your applications.
Already deployed Kodem?
See it in your environmentNew to Kodem? Get a demo →Remediation advice
The fixed versions are v1.16.2, v1.15.4 and v1.12.14.
- master branch: https://github.com/cert-manager/cert-manager/pull/7400
- release-1.16 branch: https://github.com/cert-manager/cert-manager/pull/7401
- release-1.15 branch: https://github.com/cert-manager/cert-manager/pull/7402
- release-1.12 branch: https://github.com/cert-manager/cert-manager/pull/7403
Frequently Asked Questions
- What is GHSA-R4PG-VG54-WXX4? GHSA-R4PG-VG54-WXX4 is a medium-severity security vulnerability in github.com/cert-manager/cert-manager (go), affecting versions < 1.12.14. It is fixed in 1.12.14, 1.15.4, 1.16.2.
- Which versions of github.com/cert-manager/cert-manager are affected by GHSA-R4PG-VG54-WXX4? github.com/cert-manager/cert-manager (go) versions < 1.12.14 is affected.
- Is there a fix for GHSA-R4PG-VG54-WXX4? Yes. GHSA-R4PG-VG54-WXX4 is fixed in 1.12.14, 1.15.4, 1.16.2. Upgrade to this version or later.
- Is GHSA-R4PG-VG54-WXX4 exploitable, and should I be worried? Whether GHSA-R4PG-VG54-WXX4 is exploitable in your environment depends on whether the vulnerable code is present and reachable. A CVSS score is a worst-case rating; it does not account for your specific deployment, configuration, or usage patterns. Kodem, an Intelligent Application Security platform, uses runtime intelligence to show which vulnerabilities actually execute in production, so you can focus on the ones that represent real risk. Get a demo
- What actually determines whether GHSA-R4PG-VG54-WXX4 is exploitable, and how bad it is? Exploitability and impact are not fixed properties of a CVE. They depend on runtime truth: whether the vulnerable code is present, reachable, and actually executes in your application. A high CVSS score on a dependency that never runs is not the same as real risk. Kodem, an Intelligent Application Security platform, uses runtime intelligence to reveal which vulnerabilities actually execute in production, so teams prioritize the ones that genuinely matter.
- How do I fix GHSA-R4PG-VG54-WXX4?
- Upgrade
github.com/cert-manager/cert-managerto 1.12.14 or later - Upgrade
github.com/cert-manager/cert-managerto 1.15.4 or later - Upgrade
github.com/cert-manager/cert-managerto 1.16.2 or later
- Upgrade