CVE-2026-53723
Təsvir
Guzzle Services, veb xidmətlərini təsvir etmək, sorğuları seriyallaşdırmaq və cavabları istifadəsi asan model strukturlarına çevirmək üçün Guzzle xidmət təsvirlərindən istifadə edən Guzzle Command kitabxanasının tətbiqini təmin edir. 1.5.4 versiyasından əvvəlki versiyalarda `]]>` CDATA terminatorunu ehtiva edən skalyar XML element dəyərləri təhlükəsiz şəkildə seriyallaşdırılmır. XML sorğu seriyallaşdırıcısı `<`, `>`, və ya `&` simvollarını ehtiva edən dəyərləri `XMLWriter::writeCData($value)` ilə yazır. Hücumçunun nəzarətində olan giriş məlumatı `]]>` ehtiva edirsə, CDATA bölməsi vaxtından əvvəl bağlanır və qalan hissə XML markapı kimi şərh olunur. Bu, cavabın təhlili problemi deyil, çıxan sorğu gövdəsinin bütövlüyü problemidir. Hücumçunun xidmət təsvirinə və ya sxemə nəzarət etməsinə ehtiyac yoxdur. Aşağıdakı halların hamısı doğru olduqda istifadəçilər təsirlənir: tətbiq çıxan sorğuları seriyallaşdırmaq üçün `guzzlehttp/guzzle-services` istifadə edir; sorğu parametri və ya `additionalParameters` sxemi `location: xml` istifadə edir; dəyər XML atributu kimi deyil, XML element mətni kimi seriyallaşdırılır; dəyər hücumçu, istifadəçi, tenant tərəfindən idarə olunan və ya digər etibarsız giriş məlumatlarını ehtiva edə bilər; dəyər `]]>` simvollarını istisna edən təhlükəsiz `enum`, `pattern` və ya xüsusi filtr ilə məhdudlaşdırılmayıb; və aşağı axındakı xidmət yaradılmış XML-i struktur olaraq təhlil edir və gözlənilməz, dublikat və ya injeksiya edilmiş elementlərə əsasən hərəkət edə bilər. Etibarsız giriş məlumatlarını `location: xml` sorğu parametrlərinə seriyallaşdıran tətbiqlər, nəzərdə tutulmuş mətn düyünündən kənarda hücumçunun nəzarətində olan elementləri ehtiva edən XML göndərə bilər. Qəbul edən xidmətdən asılı olaraq, bu, əməliyyat semantikasını dəyişə, imtiyazlı sahələri gizlicə ötürə, modelləşdirilmiş parametr sərhədlərini yan keçə və ya ziddiyyətli dublikat elementlər yarada bilər. Hücumçunun nəzarətində olan giriş məlumatlarından doldurulan XML element parametri varsa, düzəldilmiş xidmət təsvirləri kifayətdir. İstifadəçilər yalnız HTTP cavab gövdələrini deseriyallaşdırmaq üçün Guzzle Services istifadə edirlərsə, birbaşa təsirlənmirlər. Cavab XML-inin təhlili cavab XML yeri vizitorundan istifadə edir və zəifliyi olan sorğu XML seriyallaşdırıcısını çağırmır. Cavab gövdələri yalnız ikinci dərəcəli axında əhəmiyyət kəsb edir, məsələn, hücumçunun nəzarətində olan cavab XML-inin təhlili, təhlil edilmiş sətir dəyərinin saxlanılması və ya yönləndirilməsi və daha sonra onun `location: xml` sorğu parametri kimi istifadə edilməsi zamanı. Problem, seriyallaşdırmadan əvvəl daxil edilmiş CDATA terminatorlarının təhlükəsiz şəkildə bölünməsi ilə `1.5.3` və sonrakı versiyalarda aradan qaldırılıb. Düzəliş orijinal skalyar dəyəri XML mətni kimi saxlayır və injeksiya edilmiş düyünlərin qarşısını alır. Müvəqqəti həll yolu kimi, hücumçunun nəzarətində olan XML element dəyərlərini `]]>` simvollarını istisna edən ciddi `enum`, `pattern` və ya xüsusi filtr ilə məhdudlaşdırın və ya düzəliş tətbiq edilənə qədər etibarsız məlumatların `location: xml` element mətninə seriyallaşdırılmasından qaçın. Xidmət sxemi üçün uyğun olduğu hallarda, XML atributları təsirlənmir, çünki onlar CDATA bölmələri ilə deyil, XMLWriter atribut API-ləri ilə yazılır. Tədbir görülməli olduğunu müəyyən etmək üçün xidmət təsvirlərində əməliyyat `parameters` və `additionalParameters` daxil olmaqla, `location: xml` istifadə edən sorğu parametrlərini axtarın. Yalnız cavaba aid olan `models` strukturları, təhlil edilmiş dəyərlər sorğu seriyallaşdırılması üçün yenidən istifadə edilmədikcə, birbaşa təsirlənmir. Obyekt və massiv parametrləri üçün iç-içə skalyar xassələri nəzərdən keçirin, çünki yarpaq element dəyərləri hələ də təsirlənə bilər.
Necə düzəltmək olar
- guzzlehttp/guzzle-services1.5.4 və ya daha yeni versiya
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| guzzlehttp/guzzle-servicesPackagist | v < 1.5.4 | 1.5.4 |
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.