CVE-2024-36115
Təsvir
Reposilite, JVM ekosistemində Maven əsaslı artefaktlar üçün açıq mənbəli, yüngül və istifadəsi asan repozitoriya meneceridir. Maven repozitoriya meneceri kimi Reposilite, brauzerdə artefaktların məzmununu görmək, həmçinin API vasitəsilə inzibati tapşırıqları yerinə yetirmək imkanı təmin edir. Problem ondadır ki, artefaktın məzmunu Admin UI ilə eyni mənşə (protokol/host/port) vasitəsilə təqdim olunur. Əgər artefakt daxilində javascript olan HTML məzmununa malikdirsə, həmin javascript eyni mənşədə icra edilir. Buna görə də, autentifikasiya olunmuş istifadəçi artefaktların məzmununa baxdıqda, daxildəki javascript istifadəçinin şifrəsinin ('token-secret') saxlandığı brauzerin lokal yaddaşına (local storage) daxil ola bilər. Bu, xüsusilə Reposilite-in Maven Central Repository kimi üçüncü tərəf repozitoriyalarını güzgülemək (mirror) üçün konfiqurasiya edildiyi ssenarilərdə təhlükəlidir. Hər kəs Maven Central-da öz adına artefakt paylaşa bildiyi üçün, belə zərərli paketlərdən Reposilite instansiyasına hücum etmək üçün istifadə edilə bilər. Bu problem Reposilite instansiyasının tamamilə ələ keçirilməsinə səbəb ola bilər. Hücum admin istifadəçisinə qarşı həyata keçirilərsə, instansiyadakı parametrləri və artefaktları dəyişdirmək üçün admin API-dan istifadə etmək mümkündür. Ən pis ssenaridə, hücumçu Reposilite-dən artefaktlar istifadə edən bütün sistemlərdə uzaqdan kodun icrasını (Remote code execution) əldə edə bilər. Qeyd etmək vacibdir ki, hücumçunun qurban istifadəçini zərərli artefaktdan istifadə etməyə sövq etməsinə ehtiyac yoxdur, sadəcə brauzerdə bir keçidi açmaq kifayətdir. Bu keçid digər HTML məzmunları arasında gizli şəkildə yüklənə bilər ki, bu da hücumu hiss edilməz edir. Reposilite instansiyası VPN arxasında və ya lokal şəbəkədə kimi izolyasiya olunmuş mühitdə yerləşsə belə, hücum admin brauzerindən həyata keçirilə bildiyi üçün hələ də mümkündür. Reposilite bu problemi 3.5.12 versiyasında aradan qaldırmışdır. İstifadəçilərə yeniləmə etmək tövsiyə olunur. Bu zəiflik üçün məlum alternativ həll yolu yoxdur. Bu problem GitHub Security lab tərəfindən aşkar edilib hesabat verilmişdir və GHSL-2024-072 kimi izlənilir.
Necə düzəltmək olar
- com.reposilite:reposilite-backend3.5.12 və ya daha yeni versiya
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| com.reposilite:reposilite-backendMaven | 3.3.0 ≤ v < 3.5.12 | 3.5.12 |
Versiyanızı yoxlayın
Məhsulu seçin və istifadə etdiyiniz versiyanı yazın; versiyanın təsirlənən aralıqda olub-olmadığını görün.
Attack Surface Management
Domenlərinizə bağlı aktivləri, onlarda işləyən texnologiyaları və məlum zəiflikləri bir siyahıda görün.