NIST deprecates RSA-2048 from 2030. Find every one of them before attackers do.
🐹
🐹 Go
Not in CISA KEV
MEDIUM severity

CVE-2022-39272 — flux2

MEDIUMFix: fluxcd/helm-controller#533

CVE-2022-39272 is a medium-severity (CVSS 5) CWE-1284 vulnerability in github.com/fluxcd/flux2. A fix is available for github.com/fluxcd/flux2 — see the affected versions and patch details below.

Flux2 vulnerable to Denial of Service due to Improper use of metav1.Duration

Also known asBIT-flux-2022-39272BIT-kustomize-2022-39272GHSA-f4p5-x4vc-mh4vGO-2022-1071
Published
Updated
Affected
13 pkgs
Patched
13 / 13
Exploits
None indexed
Exploitation data as of Nov 4, 2026 · OSV.dev, NVD, FIRST.org (EPSS)

EPSS Exploitation Probability

via FIRST.org ↗
0.8%probability of exploitation in next 30 days
Lower Risk0.00%
Lower risk than most CVEs56th percentile — riskier than 56% of all scored CVEsHighest risk
0.00%0.42%0.85%1.27%0.3%0.8%May 26Sep 26Nov 26

Probability of exploitation in the next 30 days, from FIRST.org EPSS.

How urgent is this, really

Where this sits among everything scored

Real-World Exposure

13 pkgs affected
🐹github.com/fluxcd/flux2🐹github.com/fluxcd/source-controller🐹github.com/fluxcd/kustomize-controller🐹github.com/fluxcd/helm-controller🐹github.com/fluxcd/notification-controller🐹github.com/fluxcd/image-automation-controller🐹github.com/fluxcd/image-reflector-controller🐹github.com/fluxcd/helm-controller/api+5 more

Real-time download stats are indexed for npm and PyPI packages. This vulnerability affects Go packages — download data is not available via public APIs for these ecosystems.

Description

Flux controllers within the affected versions range are vulnerable to a denial of service attack. Users that have permissions to change Flux’s objects, either through a Flux source or directly within a cluster, can provide invalid data to fields .spec.interval or .spec.timeout (and structured variations of these fields), causing the entire object type to stop being processed.

The issue has two root causes: a) the Kubernetes type metav1.Duration not being fully compatible with the Go type time.Duration as explained on upstream report; b) lack of validation within Flux to restrict allowed values.

Workarounds

Admission controllers can be employed to restrict the values that can be used for fields .spec.interval and .spec.timeout, however upgrading to the latest versions is still the recommended mitigation.

Credits

This issue was reported by Alexander Block (@codablock) through the Flux security mailing list (as recommended).

For more information

If you have any questions or comments about this advisory:

  • Open an issue in any of the affected repositories.
  • Contact us at the CNCF Flux channel.

References

Affected Packages

13 total 13 fixed
EcosystemPackageVulnerable rangeFix
🐹Gogithub.com/fluxcd/flux2≥ 0.1.0&&< 0.35.00.35.0go get github.com/fluxcd/flux2@v0.35.0
🐹Gogithub.com/fluxcd/source-controller≥ 0.0.1-alpha-1&&< 0.30.00.30.0go get github.com/fluxcd/source-controller@v0.30.0
🐹Gogithub.com/fluxcd/kustomize-controller≥ 0.0.1-alpha-1&&< 0.29.00.29.0go get github.com/fluxcd/kustomize-controller@v0.29.0
🐹Gogithub.com/fluxcd/helm-controller≥ 0.0.1-alpha-1&&< 0.24.00.24.0go get github.com/fluxcd/helm-controller@v0.24.0
🐹Gogithub.com/fluxcd/notification-controller≥ 0.0.1-alpha-1&&< 0.27.00.27.0go get github.com/fluxcd/notification-controller@v0.27.0
🐹Gogithub.com/fluxcd/image-automation-controller≥ 0.1.0&&< 0.26.00.26.0go get github.com/fluxcd/image-automation-controller@v0.26.0

Affected Products

7 products · 35 configurations
Application
flux2fluxcd
≥ 0.1.0 && < 0.35.0
range
Application
helm-controllerfluxcd
≥ 0.0.2 && < 0.24.0
1 version
0.0.1
Application
image-automation-controllerfluxcd
≥ 0.1.0 && < 0.26.0
range
Application
image-reflector-controllerfluxcd
≥ 0.1.0 && < 0.22.0
range
Application
kustomize-controllerfluxcd
≥ 0.0.2 && < 0.29.0
1 version
0.0.1
Application
notification-controllerfluxcd
≥ 0.0.2 && < 0.27.0
1 version
0.0.1

Detection & mitigation playbook

Open-source dependency
  1. Detect

    Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for github.com/fluxcd/flux2, including transitive dependencies — a direct dependency you never call can still pull in a vulnerable version.

  2. Fix

    Update github.com/fluxcd/flux2 to 0.35.0 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms CVE-2022-39272 is resolved across your whole dependency graph.

  3. Workarounds

    Cap what an attacker can consume: apply request size, rate and timeout limits in front of the affected component, and run it with memory and CPU limits so exhaustion degrades one worker rather than the whole service.

Frequently Asked Questions

Flux controllers within the affected versions range are vulnerable to a denial of service attack. Users that have permissions to change Flux’s objects, either through a Flux source or directly within a cluster, can provide invalid data to fields `.spec.interval` or `.spec.timeout` (and structured variations of these fields), causing the entire object type to stop being processed. The issue has two root causes: a) the Kubernetes type `metav1.Duration` not being fully compatible with the Go type `time.Duration` as explained on [upstream report](https://github.com/kubernetes/apimachinery/issues/
O3 Security · Impact-Aware SCA

Is CVE-2022-39272 in your dependencies?

Find it across Go, including transitive dependencies.

CVE-2022-39272: flux2 DoS — Fixed in 0.35.0