Kyverno 1.19.1'de kritik açık: namespace sahibi kiracı cluster admin yetkisine çıkabiliyor
Kubernetes politika motoru Kyverno'nun 1.19.1 sürümündeki CVE-2026-124440 (CVSS 9.9), apiCall namespace sınırlamasının atlatılmasına izin veriyor. Kendi namespace'inde politika yazabilen bir kiracı, admission controller hesabının yetkisiyle cluster genelinde istek yapabiliyor; düzeltme 1.19.2'de.
CVE-2026-124440Kubernetes cluster'larında politika denetimi için yaygın kullanılan CNCF projesi Kyverno'da kritik bir yetki yükseltme açığı, 8 Kasım'da CVE-2026-124440 kimliğiyle yayımlandı. Açık 1.19.1 sürümünü etkiliyor ve 1.19.2'de kapatıldı. Puan CVSS v3.1'e göre 9.9; saldırı için cluster'da kısıtlı bir hesap yeterli.
Proje bildirimine göre sorun, apiCall özelliğinin istekleri politikanın kendi namespace'iyle sınırlayan kontrolünde. Bir namespace kiracısı, urlPath değerine bozuk yüzde kodlamaları ekleyerek bu sınırı aşabiliyor. Böylece kiracının yazdığı namespace'e özel politika, admission controller ServiceAccount'u adına başka namespace'lerdeki kaynakları okuyabiliyor ve mutating webhook oluşturabiliyor. Bu da cluster admin yetkisine giden yol demek. Açık şu an KEV'de değil ve istismar raporu yok; ancak çok kiracılı (multi-tenant) platformlar için risk yüksek.
Etkilenen ve düzeltilmiş sürümler
| Ürün | Etkilenen | Düzeltilmiş sürüm |
|---|---|---|
| Kyverno | 1.19.1 (1.19.2 öncesi, 1.19.1'den itibaren) | 1.19.2 |
Beni etkiliyor mu?
Önce cluster'da çalışan Kyverno sürümünü öğrenin:
kubectl get deployment -n kyverno -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.spec.template.spec.containers[0].image}{"\n"}{end}'Ardından RBAC bağlarını inceleyerek kiracıların namespace'e özel Policy (policies.kyverno.io) oluşturma yetkisi olup olmadığına ve mevcut politikalarda apiCall kullanılıp kullanılmadığına bakın:
kubectl get rolebindings,clusterrolebindings -A -o wide
kubectl get policies.kyverno.io -ANe yapılmalı?
- Kyverno'yu 1.19.2'ye yükseltin. Helm ile kuruluysa chart sürümünü proje bildirimindeki eşleşmeye göre seçin ve yükseltmeyi değişiklik penceresinde, önce test cluster'ında doğrulayın.
- Hemen yükseltemiyorsanız geçici önlem olarak kiracıların namespace'e özel Kyverno Policy oluşturma yetkisini RBAC ile geri alın; politika yazımını yalnızca platform ekibine bırakın.
- Son dönemde oluşturulan namespace'e özel politikaları, özellikle apiCall içerenleri gözden geçirin. Beklenmeyen MutatingWebhookConfiguration nesnelerini ve Kubernetes audit günlüklerinde Kyverno ServiceAccount'u adına yapılan cluster genelindeki istekleri inceleyin.
- Çok kiracılı platform işletiyorsanız Kyverno'nun admission controller ServiceAccount yetkilerini en az yetki ilkesine göre yeniden değerlendirin.