Improper use of metav1.Duration allows for Denial of Service
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/131); 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](https://fluxcd.io/security/#report-a-vulnerability)). ### 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 - https://github.com/kubernetes/apimachinery/issues/131
describes (1)
Related CVEs.
| ID | severity | exploitable | ||
|---|---|---|---|---|
| CVE-2022-39272US | medium4.3 | — | ||
Flux is an open and extensible continuous delivery solution for Kubernetes. Versions prior to 0.35.0 are subject to a Denial of Service. Users that have permissions to change Flux’… | ||||
references
External citations — patches, advisories, analysis.
- https://github.com/fluxcd/flux2PACKAGE
- https://github.com/fluxcd/flux2/security/advisories/GHSA-f4p5-x4vc-mh4vWEB
- https://github.com/fluxcd/helm-controller/pull/533WEB
- https://github.com/fluxcd/image-automation-controller/pull/439WEB
- https://github.com/fluxcd/image-reflector-controller/pull/314WEB
- https://github.com/fluxcd/kustomize-controller/pull/731WEB
- https://github.com/fluxcd/notification-controller/pull/420WEB
- https://github.com/fluxcd/source-controller/pull/903WEB
Advisories like this name the exposed products attackers go after on your perimeter. See what is exposed on your perimeter with a free passive scan.
Free scan