CVE-2024-51501
Təsvir
Refit .NET Core, Xamarin və .NET üçün avtomatik tip-təhlükəsiz REST kitabxanasıdır. Müxtəlif başlıqlarla əlaqəli Refit atributları (Header, HeaderCollection və Authorize) CRLF inyeksiyasına qarşı həssasdır. HTTP başlıqlarının sorğuya əlavə edilməsi `HttpHeaders.TryAddWithoutValidation` metodu vasitəsilə həyata keçirilir. Bu metod başlıq dəyərində CRLF simvollarının olub-olmadığını yoxlamır. Bu o deməkdir ki, Refit sorğusuna əlavə edilən bütün başlıqlar CRLF-inyeksiyasına qarşı həssasdır. Ümumiyyətlə, HTTP başlığına (HTTP/1.1 istifadə edildikdə) CRLF-inyeksiyasının edilməsi, əlavə HTTP başlıqlarının yerləşdirilməsi və ya bütöv HTTP sorğularının gizli şəkildə ötürülməsi (smuggling) imkanını verir. Əgər Refit kitabxanasından istifadə edən tətbiq istifadəçi tərəfindən idarə olunan dəyəri başlığa ötürürsə, həmin tətbiq CRLF-inyeksiyasına qarşı həssas olur. Bu, yuxarıdakı kimi komanda sətri tətbiqləri üçün mütləq təhlükəsizlik problemi olmaya bilər, lakin belə bir kod veb tətbiqində mövcud olduqda, tətbiq sorğuların bölünməsinə (PoC-da göstərildiyi kimi) və nəticədə Server Side Request Forgery-yə qarşı həssas olur. Dəqiqləşdirmək gerek ki, bu, Refit-in özündə deyil, Refit istifadə edən tətbiqlərdə potensial zəiflikdir. Bu problem 7.2.22 və 8.0.0 versiyalarında aradan qaldırılmışdır və bütün istifadəçilərə yeniləmə etmək tövsiyə olunur. Bu zəiflik üçün məlum olan heç bir alternativ həll yolu yoxdur.
Necə düzəltmək olar
- Refit7.2.22 və ya daha yeni versiya
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| RefitNuGet | v < 7.2.22 | 7.2.22 |
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.