CVE-2023-47115
Təsvir
Label Studio populyar açıq mənbəli məlumat etiketləmə alətidir. 1.9.2 versiyasından əvvəlki versiyalarda saytlararası skriptinq (XSS) zəifliyi mövcuddur ki, bu da autentifikasiya olunmuş istifadəçi öz avatarı üçün xüsusi hazırlanmış şəkil faylını yüklədikdə və həmin fayl veb saytda HTML faylı kimi təsvir olunduqda istismar edilə bilər. Arbitrar JavaScript kodunun icrası, hücum edənin xüsusi hazırlanmış avatar şəklinə daxil olan Label Studio istifadəçiləri üzərində zərərli hərəkətlər yerinə yetirməsinə səbəb ola bilər. Məsələn, hücum edən, Django administratoru şəkli ziyarət etdikdə yeni Django Super Administrator istifadəçisi əlavə edən JavaScript payload-u hazırlaya bilər. `users/functions.py` faylının 18-49 sətirləri göstərir ki, yeganə yoxlama prosesi fayldan ölçülərin çıxarılması yolu ilə onun şəkil olduğunun təsdiqlənməsidir. Label Studio avatar şəkillərini Django-nun daxili `serve` görünüşü vasitəsilə təqdim edir ki, Django sənədlərinə görə bu, istehsalat mühitində istifadə üçün təhlükəsiz deyil. Django `serve` görünüşündəki problem ondan ibarətdir ki, o, cavabın `Content-Type` parametrini URL yolundakı fayl genişlənməsinə əsasən müəyyən edir. Buna görə də, hücum edən zərərli HTML kodu ehtiva edən bir şəkil yükləyə və fayla HTML səhifəsi kimi təsvir olunması üçün `.html` genişlənməsi verə bilər. Fayl genişlənməsinin yoxlanılması yalnız klient tərəfində həyata keçirilir və bundan asanlıqla yan keçmək mümkündür. 1.9.2 versiyası bu problemi aradan qaldırır. Digər düzəltmə strategiyalarına fayl genişlənməsinin klient tərəfdə deyil, server tərəfdə yoxlanılması; Django-nun `serve` görünüşünün istifadəsindən imtina və yüklənmiş avatar şəkillərini görmək üçün təhlükəsiz kontrollerin tətbiqi; digər faylla bağlı zəiflikləri azaltmaq üçün fayl məzmununun fayl sistemi əvəzinə verilənlər bazasında saxlanılması və istifadəçi tərəfindən idarə olunan girişlərə etibar etməmək daxildir.
Necə düzəltmək olar
- humansignal label_studio1.9.2 və ya daha yeni versiya
- label-studio1.9.2 və ya daha yeni versiya
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| humansignal label_studio | v < 1.9.2 | 1.9.2 |
| label-studioPyPI | v < 1.9.2 | 1.9.2 |
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.