CVE-2026-40047
Təsvir
Apache Camel Docling komponentində arqument ayırıcılarının əmrdə düzgün neytrallaşdırılmaması ('Arqument inyeksiyası') zəifliyi. camel-docling komponenti xarici `docling` əmr sətri alətini DoclingProducer-də arqument siyahısı yaradaraq və onu java.lang.ProcessBuilder vasitəsilə icra edərək çağırır. `CamelDoclingCustomArguments` mübadilə başlığı (List<String>) vasitəsilə təqdim edilən fərdi CLI arqumentləri kifayət qədər yoxlama olmadan həmin arqument siyahısına əlavə edilirdi: ilkin tətbiq icazə verilməyən bayraqların qadağan siyahısına (denylist) əsaslanırdı və yalnız hərfi `../` ardıcıllığını ehtiva edən yol dəyərlərini rədd edirdi. Nəticədə, xaricdən təsirlənmiş məlumatları `CamelDoclingCustomArguments` başlığına (və ya çağırışın qurulması üçün istifadə olunan yol daşıyan başlıqlara) ötürən Camel marşrutu istehsalçının alt prosesə tanınmayan və ya nəzərdə tutulmayan `docling` CLI bayraqlarını ötürməsinə səbəb ola bilər və hərfi `../` yoxlaması ilə tutulmayan keçid ardıcıllıqları vasitəsilə nəzərdə tutulan qovluqdan kənarda həll olunan yolabənzər arqument dəyərləri təqdim edə bilərdi. Camel özü `docling` çağırışını bu dəyərlərdən qurduğu üçün komponent onları məhdudlaşdırmağa cavabdehdir və zəif yoxlama xarici alətə ötürülən arqumentlərdə CLI arqument inyeksiyasına və qovluq keçidinə (directory traversal) imkan verirdi. Çağırış ProcessBuilder-in siyahı əsaslı formasından istifadə edir, buna görə shell arqument dəyərlərini şərh etmir; shell meta simvolları vasitəsilə ƏS əmr inyeksiyası mümkün deyildi və düzəlişlə əlavə edilən meta simvol rəddi müdafiə dərinliyidir. Bu problem Apache Camel-ə aiddir: 4.15.0-dan 4.18.3-dən əvvələ qədər. İstifadəçilərə CAMEL-23212 düzəlişini ehtiva edən buraxılışa yüksəltmə tövsiyə olunur. Əsas xəttdə düzəliş Apache Camel 4.19.0-dan (və 4.20.0 kimi sonrakı buraxılışlardan) daxildir. 4.18.x LTS buraxılış axınındakı istifadəçilər üçün 4.18.3-ə yüksəldin. Düzəliş qadağan siyahısını tanınan `docling` CLI bayraqlarının ciddi icazə siyahısı (allowlist) ilə əvəz edir (hər hansı tanınmayan bayrağı və çıxış qovluğu bayraqları kimi istehsalçı tərəfindən idarə olunan bayraqları rədd edir), arqument dəyərlərində shell meta simvollarını müdafiə məqsədilə rədd edir və yolabənzər dəyərləri yoxlamadan əvvəl Path.normalize() ilə normallaşdırır ki, hərfi `../` yoxlamasını yan keçən keçid ardıcıllıqları aşkar edilsin. Müdafiə dərinliyi olaraq, marşrut müəllifləri etibarsız mesaj məzmununu `CamelDoclingCustomArguments` başlığına və yol daşıyan başlıqlara xəritələməkdən çəkinməli və etibarsız istehsalçılardan gələn mesajlardan Camel-daxili başlıqları silməlidirlər.
Necə düzəltmək olar
- apache camel4.18.3 və ya daha yeni versiya
- org.apache.camel:camel-docling4.18.3 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.15.0 ≤ v < 4.18.3 | 4.18.3 |
| org.apache.camel:camel-doclingMaven | 4.15.0 ≤ v < 4.18.3 | 4.18.3 |
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.