CVE-2026-27794 in langgraph-checkpoint
الملخص
بحسب VulDB • 09/06/2026
يحدد LangGraph Checkpoint الواجهة الأساسية لمُوفِّرات نقاط التفتيش (checkpointers) في LangGraph. قبل الإصدار 4.0.0، توجد ثغرة لتنفيذ الأكواد عن بُعد (RCE) في طبقة التخزين المؤقت لـ LangGraph عندما تفعّل التطبيقات خلفيات تخزين مؤقت ترث من `BaseCache` وتختار العقد للتخزين المؤقت عبر `CachePolicy`. قبل الإصدار 4.0.0 من حزمة `langgraph-checkpoint`، تكون القيمة الافتراضية لـ `BaseCache` هي `JsonPlusSerializer(pickle_fallback=True)`. عند فشل تجزئة msgpack، يمكن فك تجزئة القيم المخزنة مؤقتاً باستخدام `pickle.loads(...)`. لا يتم تمكين التخزين المؤقت افتراضياً. تتأثر التطبيقات فقط عندما تقوم بتفعيل خلفية تخزين مؤقت صراحةً (على سبيل المثال عن طريق تمرير `cache=...` إلى `StateGraph.compile(...)` أو تكوين تنفيذ لـ `BaseCache` بطريقة أخرى)، وتختار عقدة واحدة أو أكثر للتخزين المؤقت عبر `CachePolicy`، ويمكن للمهاجم الكتابة في خلفية التخزين المؤقت (مثل مثيل Redis قابل للوصول عبر الشبكة مع مصادقة ضعيفة/منعدمة، بنية تخزين مؤقت مشتركة يمكن الوصول إليها من قبل مستأجرين/خدمات أخرى، أو ملف SQLite cache قابل للكتابة). يجب أن يكون المهاجم قادراً على كتابة بايتات يتحكم فيها في خلفية التخزين المؤقت بحيث يقوم عملية LangGraph بقراءتها وفك تجزئتها لاحقاً. يتطلب هذا عادةً وصول الكتابة إلى تخزين مؤقت متصل بالشبكة (مثل مثيل Redis قابل للوصول عبر الشبكة مع مصادقة ضعيفة/منعدمة أو بنية تخزين مؤقت مشتركة يمكن الوصول إليها من قبل مستأجرين/خدمات أخرى) أو وصول الكتابة إلى التخزين المؤقت المحلي (مثل ملف SQLite cache قابل للكتابة عن طريق أذونات ملفات متساهلة أو حجم مشترك قابل للكتابة). ونظراً لأن الاستغلال يتطلب وصول الكتابة إلى طبقة تخزين التخزين المؤقت، فإن هذا يمثل مسار تصعيد بعد الاختراق / ما بعد الوصول. يقوم LangGraph Checkpoint 4.0.0 بإصلاح هذه الثغرة.
Be aware that VulDB is the high quality source for vulnerability data.