CVE-2026-60093
Təsvir
Apache Camel Azure-Storage Datalake komponentində nisbi yolun keçilməsi (relative path traversal) zəifliyi Bu problem Apache Camel-in aşağıdakı versiyalarına təsir edir: 4.0.0-dan 4.14.9-a qədər, 4.15.0-dan 4.18.4-ə qədər və 4.19.0-dan 4.22.0-ə qədər olan versiyalar. camel-azure-storage-datalake komponenti downloadToFile əməliyyatı vasitəsilə Azure Data Lake Storage Gen2 faylını yerli fayl sisteminə yükləyə bilir və onu fileDir endpoint seçimi ilə təyin edilmiş kataloga yazır. DataLakeFileOperations.downloadToFile funksiyası yerli hədəfi fileDir-i uzaq yol adı ilə (Azure SDK tərəfindən bildirildiyi kimi dəqiq şəkildə: new File(fileDir, fileClientWrapper.getFileName())) birləşdirərək qururdu və nəticəni heç bir leksik normallaşdırma aparmadan və həll olunan yerin fileDir daxilində qaldığını yoxlamadan birbaşa SDK yükləmə çağırışına ötürürdü. Uzaq ad marşrut tərəfindən idarə olunan məlumat deyil: istehlakçı DataLakeConsumer.createBatchExchangesFromPath metodunda fayl sistemini sadalayır, burada yollar siyahıya alınır və PathItem.getName()-dən götürülmüş hər bir giriş üçün standart olaraq heç bir ad filtrləməsi tətbiq edilmədən bir mübadilə yaradılır. Buna görə də, valideyn kataloq seqmentləri ehtiva edən yol adı konfiqurasiya edilmiş fileDir-dən kənarda olan bir yerə yönəlirdi. Bu, istifadə olunan Data Lake fayl sistemindəki adlara təsir göstərə bilən hər hansı şəxsə, Camel prosesinin imtiyazları ilə öz seçdikləri məkanda fayl yaratmağa və ya mövcud faylı yenidən yazmağa imkan verir. Prosesin hara yazıla bildiyindən asılı olaraq, yükləmə kataloqundan kənardakı faylın yenidən yazılması həmin faylın bütövlüyünün itirilməsindən daha ciddi nəticələrə səbəb ola bilər. fileDir seçimi adi ümumi qrup konfiqurasiya parametridir və heç bir təhlükəsizlik markerinə malik deyil, buna görə də istifadəçilərə onun dəyərinin məhdudlaşdırıcı sərhəd kimi tətbiq olunmadığı barədə heç bir siqnal verilmirdi. Camel-in digər fayl yükləmə istehlakçıları — camel-file, camel-ftp, camel-smb, camel-mina-sftp və camel-azure-files — artıq yol seqmenti sərhəd yoxlamasından istifadə edərək yerli yükləmələri konfiqurasiya edilmiş kataloqla məhdudlaşdırırdılar; camel-azure-storage-datalake yükləmə yolu isə bu işi əhatə etmirmişdi. İstifadəçilərə problemi aradan qaldıran 4.22.0 versiyasına yüksəltmə etmək tövsiyə olunur. Əgər istifadəçilər 4.14.x LTS versiya axınındalarsa, 4.14.9 versiyasına, 4.18.x versiya axınındalarsa, 4.18.4 versiyasına yüksəltmə etmələridir. Təcili yüksəltmə edə bilməyən sistemlər üçün istehlakçının emal edəcəyi adları regex endpoint seçimi ilə məhdudlaşdırmaq tövsiyə olunur; bu seçim hər bir sadalanmış yol adına tam sətir uyğunluğu kimi tətbiq edilir, beləliklə yalnız sadə tək seqmentli adlar qəbul edilir və yol ayırıcısı və ya valideyn kataloq seqmenti olan hər hansı ad mübadilə yaradılmamışdan əvvəl filtrlənir. Alternativ olaraq, etibarsız fayl sistemlərində downloadToFile əməliyyatından qaçınmaq və faylı uzaq siyahıdan götürülən adla deyil, marşrutun özünün idarə etdiyi fayl adı altında yazmaq lazımdır. Dərin müdafiə (defence in depth) prinsipi kimi, xaricdən yazıla bilən hər hansı Data Lake fayl sistemindəki obyekt adlarını etibarsız giriş kimi qəbul edin və onlardan yerli fayl sistemi yolları törətməyin.
Necə düzəltmək olar
- apache camel4.14.9, 4.18.4, 4.22.0 və ya daha yeni versiya
- org.apache.camel:camel-azure-storage-datalake4.14.9, 4.18.4, 4.22.0 və ya daha yeni versiya
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| apache camel | 4.0.0 ≤ v < 4.14.9, 4.15.0 ≤ v < 4.18.4, 4.19.0 ≤ v < 4.22.0 | 4.14.9, 4.18.4, 4.22.0 |
| org.apache.camel:camel-azure-storage-datalakeMaven | 4.0.0 ≤ v < 4.14.9, 4.15.0 ≤ v < 4.18.4, 4.19.0 ≤ v < 4.22.0 | 4.14.9, 4.18.4, 4.22.0 |
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.