CVE-2026-66907

Yüksek

Açıklama

Apache Camel Google Storage bileşeninde göreli yol geçişi güvenlik açığı. Bu sorun Apache Camel'i etkiler: 4.0.0'dan 4.14.9 öncesine, 4.15.0'dan 4.18.4 öncesine, 4.19.0'dan 4.22.0 öncesine. camel-google-storage tüketicisi, downloadFileName seçeneği ayarlandığında Google Cloud Storage nesnelerini yerel dosya sistemine indirir. Bu seçenek bir klasör veya dosya adı olarak belgelenmiştir ve değeri herhangi bir ifade belirteci içermediğinde tüketici, nesne adını ona ekleyerek yerel hedefi oluşturur: evaluateFileExpression, Exchange dosya adı başlığını uzak nesne adına ayarlar ve downloadFileName + "/${file:name}" ifadesini değerlendirir. ${file:name} belirteci, dosya adı başlığını olduğu gibi döndürür; buna karşılık ${file:onlyname} ona FileUtil.stripPath uygular. Ortaya çıkan dize, sözcüksel normalleştirme yapılmadan ve hedefin yapılandırılmış dizin içinde kaldığı kontrol edilmeden doğrudan new File(result) ve blob.downloadTo(file.toPath()) çağrılarına geçiriliyordu. Nesne adı rota tarafından kontrol edilen veri değildir: tüketici paketi listeler, döndürülen her blob üzerinde yinelenir ve her nesne için blob.getBlobId().getName() değerinden olduğu gibi bir exchange oluşturur; bu adları kısıtlayabilecek filter seçeneği ise açıkça ayarlanmadıkça hiç uygulanmaz. Google Cloud Storage nesne adları, hizmetin tam olarak yazıldığı gibi depoladığı ve listelediği, sunucu tarafında kurallılaştırma yapılmayan opak UTF-8 anahtarlarıdır ve eğik çizgi yalnızca sözde dizinler için bir görüntüleme kuralıdır; bu nedenle üst dizin segmentleri içeren bir anahtar gidiş-dönüşten bozulmadan geçer. Bu tür segmentler içeren bir nesne adı bu nedenle yapılandırılmış downloadFileName dizininin dışında bir konuma çözümleniyor ve tüketilen pakette bulunan adları etkileyebilen herkesin, Camel'in Camel sürecinin ayrıcalıklarıyla kendi seçtiği bir konumda dosya oluşturmasına veya üzerine yazmasına yol açıyordu. Sürecin yazabildiği şeylere bağlı olarak, indirme dizini dışındaki bir dosyanın üzerine yazmak, o dosyanın bütünlüğünün kaybının ötesine geçebilir. downloadFileName seçeneği sıradan bir tüketici parametresidir ve hiçbir güvenlik işaretçisi taşımaz; bu nedenle kullanıcılara değerinin bir kapsama sınırı olarak uygulanmadığına dair hiçbir sinyal verilmemiştir. Kusur yalnızca tüketiciye özgüdür; üreticide dosyaya indirme hedefi yoktur. Camel'in diğer dosya indirme tüketicileri - camel-file, camel-ftp, camel-smb, camel-mina-sftp, camel-azure-files ve Azure Storage indirme yolları - yerel indirmelerini zaten bir yol segmenti sınır kontrolü kullanarak yapılandırılmış dizinle sınırlandırmıştı; camel-google-storage, bu çalışmayla kapsanmayan kalan nesne deposu indirme hedefiydi. Kullanıcıların sorunu düzelten 4.22.0 sürümüne yükseltmeleri önerilir. Kullanıcılar 4.14.x LTS sürüm akışındaysa, 4.14.9 sürümüne yükseltmeleri önerilir. Kullanıcılar 4.18.x sürüm akışındaysa, 4.18.4 sürümüne yükseltmeleri önerilir. Hemen yükseltme yapamayan dağıtımlar için filter seçeneğini yalnızca basit tek segmentli nesne adlarını kabul eden bir düzenli ifadeye ayarlayın; böylece yol ayırıcı veya üst dizin segmenti taşıyan herhangi bir ad, bir exchange oluşturulmadan önce hariç tutulur; seçenek ayarlanmadan bırakıldığında hiçbir filtrelemenin uygulanmadığını ve ifadenin nesne adının tamamıyla eşleştirildiğini unutmayın. Alternatif olarak, downloadFileName seçeneğine uzak yolu taşımayan açık bir ifade verin; örneğin örtük ${file:name} yerine ${file:onlyname} üzerine kurulu bir ifade; ifade içeren bir downloadFileName değerinin rota yazarı tarafından kontrol edilen olarak ele alındığını ve düzeltmede eklenen kapsama kontrolü kapsamında olmadığını unutmayın. Derinlemesine savunma olarak, dışarıdan yazılabilir herhangi bir paketteki nesne adlarını güvenilmeyen girdi olarak değerlendirin ve yerel dosya sistemi yollarını bunlardan türetmeyin.

ÖnemYüksek
CVSS7.5
İstismar olasılığı—
ÜrünApache Camel
Yayın24 Ağu 2026
İlk görülme24 Ağu 2026
Zayıflık türüCWE-23CWE-23

Nasıl düzeltilir

Güncelleyin
  • apache camel4.14.9, 4.18.4, 4.22.0 ya da sonraki bir sürüm
  • org.apache.camel:camel-google-storage4.14.9, 4.18.4, 4.22.0 ya da sonraki bir sürüm

Etkilenen ürünler

ÜrünEtkilenen sürümlerDüzeltildiği sürüm
apache camel4.0.0 ≤ v < 4.14.9, 4.15.0 ≤ v < 4.18.4, 4.19.0 ≤ v < 4.22.04.14.9, 4.18.4, 4.22.0
org.apache.camel:camel-google-storageMaven4.0.0 ≤ v < 4.14.9, 4.15.0 ≤ v < 4.18.4, 4.19.0 ≤ v < 4.22.04.14.9, 4.18.4, 4.22.0

Sürümünüzü kontrol edin

Ürünü seçin ve kullandığınız sürümü yazın; sürümün etkilenen aralıkta olup olmadığını görün.

Intelligence 360 paketinde

Attack Surface Management

Alan adlarınıza bağlı varlıkları, bu varlıklarda çalışan teknolojileri ve bilinen zafiyetleri tek listede görün.