CVE-2023-46737
Açıklama
Cosign, OCI konteynerleri için bir sigstore imzalama aracıdır. Cosign, saldırgan tarafından kontrol edilen bir kayıt defteri (registry) aracılığıyla hizmet reddi (DoS) saldırısına karşı savunmasızdır. Uzak bir kayıt defterini kontrol eden bir saldırgan, Cosign'a çok sayıda kanıtlama (attestation) ve/veya imza döndürerek Cosign'ın uzun bir döngüye girmesine neden olabilir ve bu da sonsuz veri saldırısıyla sonuçlanır. Temel neden, Cosign'ın pkg/cosign.FetchAttestations içerisinde uzak kayıt defterinden alınan tüm kanıtlamalar üzerinde döngü kurmasıdır. Saldırganın kayıt defterini ele geçirmesi veya kendi kontrolündeki bir kayıt defterine istek yapması gerekir. Bunu yaparken, saldırgan Cosign'a verilen yanıtta yüksek sayıda kanıtlama döndürmelidir. Sonuç olarak saldırgan, diğer kullanıcıların verilerini doğrulamasını engelleyecek şekilde Cosign'ın uzun veya sonsuz bir döngüye girmesine neden olabilir. Kyverno durumunda, yetkileri yalnızca kümeye istek yapmakla sınırlı olan bir saldırgan, kendi kayıt defterine ait bir imaj referansı ile istek göndererek sonsuz döngüyü tetikleyebilir ve diğer kullanıcıların kabul (admission) isteklerini tamamlamasını engelleyebilir. Alternatif olarak, saldırgan bir kuruluş tarafından kullanılan kayıt defterinin kontrolünü ele geçirip beklenen sayı yerine çok yüksek sayıda kanıtlama döndürebilir. Sorun, Cosign'ın döngüye gireceği kanıtlama sayısına basitçe bir sınır getirilerek hafifletilebilir. Sınırın, kullanım durumlarının büyük çoğunluğunu kapsayacak kadar yüksek olmasına gerek yoktur ve yine de sonsuz veri saldırısını önleyebilir. Bu sorun sürüm 2.2.1'de düzeltilmiştir ve kullanıcıların yükseltme yapmaları önerilir.
Nasıl düzeltilir
- sigstore cosign2.2.1 ya da sonraki bir sürüm
- github.com/sigstore/cosign1.13.2 ya da sonraki bir sürüm
- github.com/sigstore/cosign/v22.2.1 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| sigstore cosign | v < 2.2.1 | 2.2.1 |
| github.com/sigstore/cosignGo | v < 1.13.2, Aralık belirtilmemiş | 1.13.2 |
| github.com/sigstore/cosign/v2Go | v < 2.2.1 | 2.2.1 |
Sürümünüzü kontrol edin
Ürünü seçin ve kullandığınız sürümü yazın; sürümün etkilenen aralıkta olup olmadığını görün.
Attack Surface Management
Alan adlarınıza bağlı varlıkları, bu varlıklarda çalışan teknolojileri ve bilinen zafiyetleri tek listede görün.