Kubernetes için yaygın olarak kullanılan bir açık kaynaklı gitops aracı olan Argo CD’de CVE-2025-47933 ve GHSA-2HJ5-G64G-FP6P olarak izlenen kritik bir bölgeler arası komut dosyası (XSS) güvenlik açığı tanımlanmıştır.
Bu kusur, ARGO CD kullanıcı arayüzündeki depo URL kullanma mekanizmasını, özellikle URL protokollerinin uygunsuz olarak doğrulanmasından dolayı etkiler. ui/src/app/shared/components/urls.ts
dosya.
Saldırganlar kötü niyetli enjekte etmek için bunu kullanabilir javascript:
Daha sonra kimlik doğrulamalı bir kullanıcının tarayıcısı bağlamında yürütülen URL’ler.
.png
)
Etkilenen ve yamalı versiyonlar
Güvenlik açığı aşağıdaki sürümleri etkiler:
Paket Versiyon Aralığı | Yamalı versiyon |
---|---|
github.com/argoproj/argo-cd (go) | > = 1.2.0-rc1, <= 1.8.7 |
github.com/argoproj/argo-cd/v2 (Go) | > = 2.0.0-rc3, < 2.13.8 and >= 2.14.0-rc1, <2.14.13 |
github.com/argoproj/argo-cd/v3 (Go) | <3.0.4 |
Kullanıcılara riski azaltmak için en son yamalı sürümlere yükseltmeleri şiddetle tavsiye edilir.
Teknik Ayrıntılar:
Güvenlik açığı, depo URL’lerini ayrıştırırken protokol filtreleme eksikliğinden kaynaklanır.
Aşağıdaki kod urls.ts
URL ayrıştırmasından sorumludur, ancak protokolü doğrulayamaz:
typescript// Example vulnerable code snippet
function parseRepoUrl(url: string): string {
// No protocol validation performed
return url;
}
Bu işlevin dönüş değeri href
Bir özelliği Depolar sayfasında etiketleyin.
Sonuç olarak, depo ayarlarını düzenleme izni olan bir saldırgan, javascript:alert('XSS')
.
Başka bir kullanıcı bu bağlantıyı tıkladığında, tarayıcı gömülü JavaScript’i yürütür ve saldırganın kurbanın oturumunu kaçırmasına veya Argo CD API’sı aracılığıyla yetkisiz eylemler gerçekleştirmesini sağlar.
Tarayıcılar böyle engelleyemeyebilir javascript:
Bağlantılar, kullanıcı izinlerinin sıkı bir şekilde kontrol edilmediği ortamlarda sömürüyü önemsiz hale getirir.
Etki, azaltma ve öneriler
Darbe:
Başarılı sömürü, bir saldırganın kimlik doğrulamalı kullanıcılar bağlamında keyfi JavaScript uygulamasını sağlar. Bu:
- Kullanıcı kimlik bilgilerini ve oturum çerezlerini çalmak
- Argo CD API’si aracılığıyla yetkisiz eylemler gerçekleştirme (örn., Kubernetes kaynaklarını oluşturma, değiştirme veya silme)
- Yönetilen Kubernetes kümesinin gizliliğini ve bütünlüğünü tehlikeye atma
Azaltma:
Argo CD ekibi, 2.13.8, 2.14.13 ve 3.0.4 sürümlerinde yamalar yayınladı. Düzeltme, depo URL’lerinin sıkı bir şekilde doğrulanmasını sağlar, geri döner null
Protokol izin verilmiyorsa:
typescriptfunction parseRepoUrl(url: string): string | null {
const allowedProtocols = ['http:', 'https:', 'git:'];
const parsed = new URL(url);
if (!allowedProtocols.includes(parsed.protocol)) {
return null;
}
return url;
}
Öneriler:
- Hemen yükselt Argo CD’sinin en son yamalı versiyonuna.
- Kullanıcı ayrıcalıklarını sınırlayın: Yalnızca güvenilir kullanıcıların depo ayarlarını düzenleme izni olmalıdır.
- Şüpheli etkinlik için izleme: Düzenli olarak depo URL’lerini ve kullanıcı eylemlerini denetleyin.
- İçerik Güvenlik Politikası (CSP) tarayıcılarda komut dosyası yürütmeyi daha da kısıtlamak için.
Bu haberi ilginç bul! Anında güncellemeler almak için bizi Google News, LinkedIn ve X’te takip edin!