- Son 7 gün
- CWE-22
- CWE-73
CVE-2026-57113
PraisonAI GitHub şablon önbelleğinde dizin geçişi (path traversal) açığı: önbellek dışına dosya yazma ve dizin silme
- Yayımlandı
- Güncellendi
- 23 Eki 2026
- Açık yaşı
- 5 gün
- Kaydı açan
- GitHub_M
ÖzetTürkçe
PraisonAI, çok ajanlı ekip sistemidir. 2.6.0 sürümünden 4.6.59 sürümünden önceki sürümlere kadar, PraisonAI'nin şablon yükleyicisi ref içeren GitHub şablon URI'lerini kabul etmektedir; örneğin github:owner/repo/template@v1.0.0 gibi. Çözümleyici, kullanıcı kontrolündeki şablon yolunu ve ref değerini olduğu gibi saklamaktadır. Önbellek katmanı daha sonra bu değerleri, her bir bileşeni normalleştirmeden ve son yolun şablon önbellek kökü içinde kaldığını doğrulamadan ~/.praison/cache/templates/github/<owner>/<repo>/<template>/<ref> yoluna eklemektedir. Şu şekilde hazırlanmış bir ref, örneğin ../../../../../../outside-delete-target, önbellek dizininden çıkmaya neden olmaktadır. İlk yüklemede .cache_meta.json dosyası önbelleğin dışına yazılabilmektedir. Aynı owner/repo/template için normal önbellek hiyerarşisi zaten oluşturulmuşsa, aynı yol shutil.rmtree(cache_path) çağrısına ulaşmakta ve saldırganın seçtiği dışarıdaki bir dizini, yerine önbellek meta verisi yazmadan önce silmektedir. Bu sorun 4.6.59 sürümünde giderilmiştir.
Kaynaktaki açıklama (İngilizce)
PraisonAI is a multi-agent teams system. From version 2.6.0 to before version 4.6.59, PraisonAI's template loader accepts GitHub template URIs with refs, for example github:owner/repo/template@v1.0.0. The resolver stores the user-controlled template path and ref verbatim, and the cache layer later joins those values into ~/.praison/cache/templates/github/<owner>/<repo>/<template>/<ref> without normalizing each segment or checking that the final path remains inside the template cache root. A crafted ref such as ../../../../../../outside-delete-target therefore escapes the cache directory. The first load can write .cache_meta.json outside the cache. If the normal cache hierarchy for the same owner/repo/template has already been created, the same path reaches shutil.rmtree(cache_path) and removes an attacker-selected outside directory before replacing it with cache metadata. This issue has been patched in version 4.6.59.
Bu açığın açıklamasını Türkçeye çevirdik. Adım adım çözüm önerilerini kritik ve yeni açıklar için hazırlıyoruz; düzeltilmiş sürüm aşağıdaki tabloda, ayrıntılar üreticinin duyurusunda.
Etkilenen sürümler1 yazılım
| Yazılım | Etkilenen | Düzeltildiği sürüm |
|---|---|---|
| MervinPraison PraisonAI | Sürüm belirtilmemiş | – |
Kaynaklar3 kaynak
Kayıt geçmişi
- Yayımlandı
İlgili açıklar
Türkçe metin, resmi kayıtlardaki bilgilerle yapay zekâ yardımıyla yazıldı ve yayından önce otomatik kontrollerden geçti. Bir değişikliği uygulamadan önce üreticinin duyurusuna mutlaka bakın.