CVE-2022-0618
Təsvir
swift-nio-http2 istifadə edən proqram, şəbəkə tərəfdaşının xüsusi hazırlanmış HTTP/2 freymini göndərməsi səbəbindən xidmətdən imtina (DoS) hücumuna qarşı həssasdır. Bu zəiflik, HTTP/2 HEADERS və ya HTTP/2 PUSH_PROMISE freyminin təhlili zamanı yaranan məntiqi xətadan qaynaqlanır; bu halda freym digər heç bir məlumat olmadan yalnız doldurma (padding) məlumatlarını ehtiva edir. Həmin məntiqi xəta freymin ölçüsü ilə bağlı çaşqınlığa səbəb olur ki, bu da təhlil xətasına gətirib çıxarır. Təhlil xətası bütün prosesi dərhal çökdürür. HTTP/2 doldurma məlumatları olan HEADERS və ya PUSH_PROMISE freyminin göndərilməsi üçün heç bir xüsusi icazə tələb olunmur, buna görə də hər hansı HTTP/2 bağlantısı tərəfdaşı belə bir freym göndərə bilər. Müştərilər üçün bu o deməkdir ki, qoşulduqları hər hansı server bu hücumu həyata keçirə bilər. Serverlər üçün isə onlara qoşulmasına icazə verilən hər kəs belə bir hücum edə bilər. Hücum aşağı səylə həyata keçirilir: müvafiq şəkildə hazırlanmış freymi göndərmək çox az resurs tələb edir. Əlçatanlığa təsiri yüksəkdir: freymin qəbulu serveri dərhal çökdürür, bütün aktiv bağlantıları kəsir və xidmətin yenidən başladılmasını tələb edir. Hücumçunun müvafiq şəkildə hazırlanmış freymləri təkrar-təkrar göndərməsi sadədir, buna görə də əhəmiyyətli dərəcədə xidmətdən imtina yaratmaq üçün hücumçulara çox az resurs lazımdır. Hücum özlüyündə konfidensiallıq və ya bütövlük risklərinə malik deyil: swift-nio-http2 freymi yaddaş-təhlükəsiz (memory-safe) kodla təhlil etdiyi üçün çökmə təhlükəsizdir. Lakin prosesin qəfil çökməsi xidmətlərdə invariantların pozulmasına səbəb ola bilər, buna görə də bu hücum konfidensiallıq və ya bütövlük riskləri yaradan xəta vəziyyətini tetikləmək üçün istifadə edilə bilər. Etibarsız tərəfdaşların xidmətlə ünsiyyəti qarşısını almaq mümkün olduqda risk azaldıla bilər. Bir çox xidmətlər üçün bu yumşaltma üsulu mövcud deyil. Problem, təhlil kodunun sözügedən vəziyyəti düzgün idarə etmək üçün yenidən yazılması ilə həll edilmişdir. Problem oss-fuzz tərəfindən avtomatlaşdırılmış fazzinq (fuzzing) vasitəsilə aşkar edilmişdir.
Necə düzəltmək olar
- apple swiftnio_http\/21.20.0 və ya daha yeni versiya
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| apple swiftnio_http\/2 | 1.0.0 ≤ v < 1.20.0 | 1.20.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.