
LangGraph’ın kontrol noktası serileştirme sisteminde kritik bir uzaktan kod yürütme güvenlik açığı keşfedildi.
CVE-2025-64439 kusuru, langgraph-checkpoint’in 3.0’dan önceki sürümlerini etkiliyor. Güvenilmeyen veriler seri durumdan çıkarıldığında saldırganların rastgele Python kodu yürütmesine olanak tanır.
Güvenlik açığı, kontrol noktası kalıcılığı için kullanılan varsayılan serileştirme protokolü olan LangGraph’ın JsonPlusSerializer’ında bulunuyor.
Serileştirici, msgpack serileştirme sırasında yasa dışı Unicode yedek değerleriyle karşılaştığında otomatik olarak JSON moduna geri döner.
LangGraph Güvenlik Açığı
Bu geri dönüş durumunda seri durumdan çıkarıcı, yükleme sırasında özel nesneleri yeniden oluşturan yapıcı tarzı bir formatı destekler.
Kusur, “Yüksek” şiddet olarak sınıflandırılan CVSS puanı 8,5’tir. Güvenilmeyen veri güvenlik açıklarının seri durumdan çıkarılmasını kapsayan CWE-502 kapsamına girer.
Bir saldırgan, seri durumdan çıkarıldığında rastgele işlevler yürüten kötü amaçlı yükleri enjekte etmek için bu mekanizmadan yararlanabilir.
| Bağlanmak | Detaylar |
|---|---|
| CVE Kimliği | CVE-2025-64439 |
| Güvenlik Açığı Türü | Uzaktan Kod Yürütme (RCE) |
| Bileşen | LangGraph JsonPlusSerializer |
| Etkilenen Sürümler | langgraph-kontrol noktası < 3.0 |
| Yamalı Sürümler | langgraph-kontrol noktası >= 3.0 |
| Şiddet | Yüksek (7,5 CVSS v4) |
| Saldırı Vektörü | Ağ |
Güvenlik açığı öncelikle iki koşulu karşılayan uygulamaları etkiliyor: Güvenilmeyen veya kullanıcı tarafından sağlanan verilerin denetim noktalarında kalıcı olmasına izin veriyorlar ve varsayılan JsonPlusSerializer’ı kullanıyorlar (veya bunu açıkça başlatıyorlar).
Yalnızca güvenilir verileri işleyen uygulamalar, önemli ölçüde daha düşük pratik riskle karşı karşıyadır. Sürüm 0.5 veya üzerini çalıştıran LangGraph-API dağıtımları etkilenmez.
Saldırganlar, dikkatle hazırlanmış bir kavram kanıtı aracılığıyla bu güvenlik açığını silah olarak kullanabilirler. Bu, belirli JSON öğeleriyle yapılandırılmış kötü amaçlı bir veri enjekte eder: 2 değerinde bir “lc” değeri, “yapıcı” olarak ayarlanmış bir “tür” ve “os.system” gibi tehlikeli sistem işlevlerine işaret eden bir “id” alanı.
Güvenliği ihlal edilmiş kontrol noktası yüklendiğinde, seri durumdan çıkarma işlemi otomatik olarak gömülü komutu yürütür.
LangChain bu sorunu çözmek için langgraph-checkpoint sürüm 3.0’ı yayımladı.
Düzeltme, izin verilen yolları açıkça onaylanmış modül ve sınıf birleşimleriyle sınırlayarak yapıcının seri durumdan çıkarılması için bir izin verilenler listesi uygular.
Ayrıca, bu güvenli olmayan geri dönüş mekanizmasını ortadan kaldırmak için yüklerin JSON formatında kaydedilmesi de kullanımdan kaldırıldı. Kullanıcıların derhal sürüm 3.0 veya sonraki bir sürüme yükseltmeleri gerekir.
Güncelleme, langgraph 0.3 ile tam uyumluluğu koruyor. Hiçbir kod değişikliği veya içe aktarma değişikliği gerektirmediğinden, çoğu dağıtım için yama işlemini basit ve düşük riskli hale getirir.
Günlük siber güvenlik güncellemeleri için bizi Google Haberler, LinkedIn ve X’te takip edin. Hikayelerinizi öne çıkarmak için bizimle iletişime geçin.