CVE-2026-31886
Açıklama
Dagu, yerleşik bir Web kullanıcı arayüzüne sahip bir iş akışı motorudur. 2.2.4 sürümünden önce, satır içi DAG yürütme uç noktaları tarafından kabul edilen dagRunId istek alanı, herhangi bir format doğrulaması yapılmadan geçici bir dizin yolu oluşturmak için doğrudan filepath.Join fonksiyonuna aktarılmaktadır. Go'nun filepath.Join fonksiyonu .. bölümlerini sözlüksel olarak çözümlediğinden, bir çağrıcı hesaplanan dizini hedeflenen /tmp/<name>/<id> yolunun dışına yönlendirmek için ".." gibi bir değer sağlayabilir. Ardından, HTTP işleyicisi döndüğünde bu dizin üzerinde os.RemoveAll çağıran ertelenmiş bir temizleme fonksiyonu koşulsuz olarak çalışır ve dizin aşımıyla ulaşılan her neyse o dizini siler. dagRunId değeri ".." olarak ayarlandığında, çözümlenen dizin sistem geçici dizinidir (Linux'ta /tmp). Root olmayan dağıtımlarda, os.RemoveAll("/tmp") komutu /tmp içindeki dagu işlem kullanıcısına ait tüm dosyaları kaldırarak canlı geçici dosyalara sahip olan tüm eşzamanlı dagu çalışmalarını bozar. Root veya Docker dağıtımlarında ise bu çağrı /tmp içeriğinin tamamını silerek sistem genelinde hizmet reddine neden olur. Bu güvenlik açığı 2.2.4 sürümünde giderilmiştir.
Nasıl düzeltilir
- dagu dagu2.2.4 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| dagu dagu | v < 2.2.4 | 2.2.4 |
| github.com/dagu-org/daguGo | v ≤ 2.2.4, Aralık belirtilmemiş | — |
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.
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.