CVE-2023-50731
Təsvir
MindsDB süni intellekt üçün SQL Serverdir. Versiya 23.11.4.1-dən əvvəl, `mindsdb/mindsdb/api/http/namespaces/file.py` faylındakı `put` metodu istifadəçi tərəfindən idarə olunan `name` dəyərini yoxlamır. Bu dəyər müvəqqəti fayl adında istifadə olunur və daha sonra 122-125-ci sətirlərdə yazı üçün açılır ki, bu da yol inyeksiyasına (path injection) səbəb olur. Metodun davamında, 151-ci sətirdə müvəqqəti kataloq silinir, lakin yol inyeksiyası zəifliyindən istifadə edərək kataloqun xaricində yazıya yazmaq mümkün olduğu üçün potensial təhlükəli fayl silinmir. 125-ci sətirdəki `f.write(chunk)` funksiyası sayəsində ixtiyari fayl məzmunu yazıla bilər. MindsDB sonradan `file-controller.py` faylındakı `save_file` metodunun 149-cu sətirində, `file_handler.py`-dakı `_handle_source` metodunu çağıraraq faylın `csv`, `json`, `parquet`, `xls` və ya `xlsx` tiplərindən biri olub-olmadığını yoxlayır. Lakin yoxlama fayl artıq yazıldıqdan sonra baş verdiyi üçün fayllar mövcud qalacaqdır (və yuxarıda təsvir edilən yol inyeksiyası səbəbindən silinməyəcəkdir), sadəcə `_handle_source` metodu xəta qaytaracaqdır. Eyni istifadəçi tərəfindən idarə olunan mənbə (source) 138-ci sətirdə digər bir yol inyeksiyası nöqtəsində də istifadə olunur. Bu, hücumçuya serverdəki hər hansı `zip` və ya `tar.gz` fayllarını silməyə imkan verən başqa bir yol inyeksiyasına gətirib çıxarır.
Necə düzəltmək olar
- mindsdb mindsdb23.11.4.1 və ya daha yeni versiya
- mindsdb23.11.4.1 və ya daha yeni versiya
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| mindsdb mindsdb | v < 23.11.4.1 | 23.11.4.1 |
| mindsdbPyPI | v < 23.11.4.1 | 23.11.4.1 |
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.