CVE-2024-45337
Təsvir
connection.serverAuthenticate funksiyasından (ServerConfig.PublicKeyCallback geri çağırış sahəsi vasitəsilə) yanlış istifadə edən tətbiqlər və kitabxanalar avtorizasiyadan yan keçməyə həssas ola bilər. ServerConfig.PublicKeyCallback üçün sənədlərdə bildirilir ki, "bu funksiyanın çağırılması təklif olunan açarın faktiki olaraq autentifikasiya üçün istifadə edildiyini zəmanət vermir". Xüsusilə, SSH protokolu klientlərə müvafiq gizli açar üzərində nəzarəti sübut etməzdən əvvəl açıq açarın qəbul edilib-edilmədiyi barədə sorğu verməyə imkan verir. PublicKeyCallback çox sayda açarla çağırıla bilər və açarların təqdim olunma ardıcıllığı, əgər varsa, klientin hansı açarla uğurla autentifikasiya olunduğunu müəyyən etmək üçün istifadə edilə bilməz. PublicKeyCallback-a ötürülən açarları (və ya törəmiş məlumatları) saxlayan və bağlantı qurulduqdan sonra bunun əsasında təhlükəsizliklə bağlı qərarlar verən bəzi tətbiqlər yanlış fərziyyələr qura bilər. Məsələn, hücumçu A və B açıq açarlarını göndərə və daha sonra A ilə autentifikasiya ola bilər. PublicKeyCallback yalnız iki dəfə çağırılacaq: birinci A, sonra isə B ilə. Həssas tətbiq daha sonra hücumçunun gizli açarına faktiki olaraq nəzarət etmədiyi B açarı əsasında avtorizasiya qərarları verə bilər. Bu API geniş şəkildə yanlış istifadə edildiyi üçün, qismən yumşaltma tədbiri kimi golang.org/x/[email protected] versiyası açıq açar vasitəsilə uğurlu autentifikasiya zamanı ServerConfig.PublicKeyCallback-a ötürülən sonuncu açarın bağlantının autentifikasiyası üçün istifadə olunan açar olması şərtini tətbiq edir. Zərurət olduqda, PublicKeyCallback artıq eyni açarla bir neçə dəfə çağırılacaqdır. Nəzərə alın ki, əgər bağlantı PasswordCallback, KeyboardInteractiveCallback və ya NoClientAuth kimi fərqli metodla autentifikasiya olunarsa, klient hələ də PublicKeyCallback-a ötürülən sonuncu açara nəzarət etməyə bilər. İstifadəçilər xarici vəziyyətə istinad etmək əvəzinə, autentifikasiya cəhdi ilə əlaqəli məlumatları qeyd etmək üçün müxtəlif autentifikasiya geri çağırışlarının qaytardığı Permissions dəyərinin Extensions sahəsindən istifadə etməlidirlər. Bağlantı qurulduqdan sonra uğurlu autentifikasiya cəhdinə uyğun vəziyyət ServerConn.Permissions sahəsi vasitəsilə əldə edilə bilər. Qeyd edək ki, bəzi üçüncü tərəf kitabxanaları Permissions tipini autentifikasiya cəhdləri arasında paylaşmaqla ondan yanlış istifadə edir; üçüncü tərəf kitabxanalarının istifadəçiləri rəhbərlik üçün müvafiq layihələrə müraciət etməlidirlər.
Necə düzəltmək olar
- golang.org/x/crypto0.31.0 və ya daha yeni versiya
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| golang.org/x/cryptoGo | v < 0.31.0 | 0.31.0 |
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.