CVE-2023-38490
Təsvir
Kirby məzmun idarəetmə sistemidir. 3.5.8.3, 3.6.6.3, 3.7.5.2, 3.8.4.1 və 3.9.6 versiyalarından əvvəlki versiyalarda mövcud olan zəiflik yalnız sayt və ya plagin kodunda `Xml` məlumat emalçısından (məsələn, `Data::decode($string, 'xml')`) və ya `Xml::parse()` metodundan istifadə edən Kirby saytlarına təsir edir. Kirby nüvəsi (core) təsirlənmiş metodlardan heç birindən istifadə etmir. XML Xarici Entitetləri (XXE), XML nişanlama dilində az istifadə olunan bir funksiyadır və xarici fayllardan məlumatların XML strukturuna daxil edilməsinə imkan verir. Əgər xarici faylın adı hücumçu tərəfindən idarə edilə bilirsə, bu, serverdə saxlanılan daxili və ya konfidensial məlumatların ifşası (ixtiyari faylın ifşası) və ya server adına şəbəkə sorğularının yerinə yetirilməsi (server-side request forgery, SSRF) kimi müxtəlif sistem təsirləri üçün istismar edilə bilən bir zəifliyə çevrilir. Kirby-nin `Xml::parse()` metodu PHP-nin `LIBXML_NOENT` sabitindən istifadə edirdi ki, bu da analiz prosesi zamanı XML xarici entitetlərinin işlənilməsini aktivləşdirirdi. `Xml::parse()` metodu `Xml` məlumat emalçısında (məsələn, `Data::decode($string, 'xml')`) istifadə olunur. Həm zəifliyi olan metod, həm də məlumat emalçısı Kirby nüvəsində istifadə edilmir. Lakin onlar sayt və ya plagin kodunda, məsələn, RSS axınlarını və ya digər XML fayllarını analiz etmək üçün istifadə oluna bilər. Əgər həmin fayllar xarici mənşəlidirse (məsələn, istifadəçi tərəfindən yüklənibsə və ya xarici URL-dən götürülübsə), hücumçular XML faylına xarici entitet daxil edə bilərlər və bu, daha sonra analiz prosesində işlənəcəkdir. Sayt və ya plagin kodunda XML analizi istifadə etməyən Kirby saytları bu zəiflikdən təsirlənmir. Problem Kirby 3.5.8.3, 3.6.6.3, 3.7.5.2, 3.8.4.1 və 3.9.6 versiyalarında aradan qaldırılmışdır. Qeyd olunan bütün buraxılışlarda, xarici entitetlərin işlənilməsi analiz məntiqinin əhatə dairəsindən kənarda olduğu üçün developerlər `LIBXML_NOENT` sabitini silmişlər. Bu, metodun bütün istifadə hallarını təsvir edilmiş zəiflikdən qoruyur.
Necə düzəltmək olar
- getkirby kirby3.5.8.3, 3.6.6.3, 3.7.5.2, 3.8.4.1, 3.9.6 və ya daha yeni versiya
- getkirby/cms3.5.8.3, 3.6.6.3, 3.7.5.2, 3.8.4.1, 3.9.6 və ya daha yeni versiya
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| getkirby kirby | 3.5.0 ≤ v < 3.5.8.3, 3.6.0 ≤ v < 3.6.6.3, 3.7.0 ≤ v < 3.7.5.2, 3.8.0 ≤ v < 3.8.4.1, 3.9.0 ≤ v < 3.9.6 | 3.5.8.3, 3.6.6.3, 3.7.5.2, 3.8.4.1, 3.9.6 |
| getkirby/cmsPackagist | v < 3.5.8.3, 3.6.0 ≤ v < 3.6.6.3, 3.7.0 ≤ v < 3.7.5.2, 3.8.0 ≤ v < 3.8.4.1, 3.9.0 ≤ v < 3.9.6 | 3.5.8.3, 3.6.6.3, 3.7.5.2, 3.8.4.1, 3.9.6 |
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.