Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2025-67644-LangGraph-3.0.1-SQLite-Checkpoint-SQL-Injection — إثبات مفهوم لاستغلال CVE-2025-67644، وهي ثغرة حقن SQL في LangGraph SQLite Checkpoint. يوضح حقن SQL تعسفي عبر مفاتيح تصفية بيانات وصفية غير معقّمة، مما يتيح استخراج البيانات وتجاوز عوامل التصفية. | Kitploit
أدوات/GitHubGitHub/mbanyamer/cve-2025-67644-langgraph-3.0.1-sqlite-checkpoint-sql-injection
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباختبار الاختراقالأوراق والأبحاثالتعلم والتعليمأمن قواعد البيانات
GitHubmbanyamer/cve-2025-67644-langgraph-3.0.1-sqlite-checkpoint-sql-injection

CVE-2025-67644-LangGraph-3.0.1-SQLite-Checkpoint-SQL-Injection

إثبات مفهوم لاستغلال CVE-2025-67644، وهي ثغرة حقن SQL في LangGraph SQLite Checkpoint. يوضح حقن SQL تعسفي عبر مفاتيح تصفية بيانات وصفية غير معقّمة، مما يتيح استخراج البيانات وتجاوز عوامل التصفية.

عرض المستودع
13منذ 6 أشهرلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

CVE-2025-67644 PoC – حقن SQL في نقاط تحقق SQLite الخاصة بـ LangGraph

Author Role Country Platform Vulnerability CVE Status License

CVE-2025-67644 هي ثغرة حقن SQL (CWE-89) في حزمة langgraph-checkpoint-sqlite (جزء من النظام البيئي LangGraph / LangChain).
تتيح للمهاجم حقن SQL اعتباطي عبر مفاتيح مرشح البيانات الوصفية غير المعقَّمة التي تُمرَّر إلى طريقتي list() / في .

alist()
SqliteSaver

الأثر: تجاوز كامل للمرشحات، وتسريب جميع سجلات نقاط التحقق (بما في ذلك حالة المحادثة الحساسة المحتملة، ومعرفات الخيوط، والبيانات الوصفية)، وفي بعض سيناريوهات النشر — وصول أوسع إلى قاعدة البيانات.

الإصدارات المتأثرة: < 3.0.1
تم الإصلاح في: ≥ 3.0.1
درجة CVSS: 7.3 (عالية) — AV:L / AC:L / PR:L / UI:N / S:C / C:H / I:L / A:N

ملخص الثغرة

يستخدم منطق _metadata_predicate() الداخلي استيفاءً غير آمن لسلاسل f لمفاتيح القاموس التي يتحكم فيها المستخدم داخل تعبير استخراج JSON:

root@kitploit:~
f"json_extract(CAST(metadata AS TEXT), '$.{query_key}')"

يمكن للمهاجم الذي يستطيع توفير مفاتيح اعتباطية (مثلًا عبر مدخلات API) إغلاق مسار JSON مبكرًا وحقن أجزاء SQL، مثل:

root@kitploit:~
{"env') OR '1'='1": "anything"}

→ ينتج عن ذلك شرط WHERE يُقيَّم دائمًا على أنه صحيح → يعيد جميع السجلات.

مخطط سير الهجوم

root@kitploit:~
flowchart TD
    A["User / API Client"] -->|"Sends malicious filter dict"| B["Application using langgraph-checkpoint-sqlite"]
    B -->|"Passes filter=..."| C["SqliteSaver.list method"]
    C -->|"Unsafe key interpolation"| D["Metadata predicate logic"]
    D -->|"Builds injectable SQL"| E["SQLite Engine"]
    E -->|"Returns ALL checkpoints / sensitive data"| F[Attacker]
    F -->|"Data exfiltration / authorization bypass"| G["Impact achieved"]

(يتجنب هذا الإصدار الأقواس في نص العقدة حيثما أمكن ويستخدم علامات اقتباس حول التسميات ذات الأحرف/النقاط الخاصة لمنع أخطاء التحليل.)

ميزات إثبات المفهوم هذا

  • عرض توضيحي نظيف ومتزامن للاستغلال
  • ينشئ تلقائيًا بيانات تجريبية إذا كانت قاعدة البيانات فارغة
  • خيارات سطر الأوامر: --dump-all (عرض السجلات الكاملة)، --threads-only (استخراج thread_ids فقط)
  • شعار ASCII أنيق + تنسيق مخرجات واضح

المتطلبات

root@kitploit:~
pip install langgraph-checkpoint-sqlite"<3.0.1"   # e.g. ==2.0.0

الاستخدام

root@kitploit:~
# Basic check (count only)
python3 exploit.py checkpoints.db

# Dump full checkpoint details
python3 exploit.py checkpoints.db --dump-all

# Extract thread_ids only (useful for enumeration)
python3 exploit.py checkpoints.db --threads-only --dump-all

# Test against in-memory database (quick & volatile)
python3 exploit.py ":memory:" --dump-all

التثبيت والبدء السريع

  1. ثبّت الإصدار المتأثر:

    root@kitploit:~
    pip install langgraph-checkpoint-sqlite==2.0.0
    
  2. احفظ كود الاستغلال باسم exploit.py

  3. شغّله على قاعدة بيانات نقاط تحقق موجودة أو جديدة:

    root@kitploit:~
    python3 exploit.py checkpoints.db --dump-all
    

المعالجة / التخفيف

  • قم بالترقية فورًا:

    root@kitploit:~
    pip install --upgrade langgraph-checkpoint-sqlite
    

    (الإصدار ≥ 3.0.1)

  • لا تقبل مفاتيح مرشح بيانات وصفية اعتباطية من مصادر غير موثوقة (المستخدمون، واجهات API، حمولات JSON، إلخ)

  • في الإصدار ≥ 3.0.1 تفرض المكتبة تعبيرًا نمطيًا صارمًا على المفاتيح: ^[a-zA-Z0-9_.-]+$

إشعار قانوني

هذا إثبات مفهوم نُشر لأغراض تعليمية وبحوث أمنية فقط.
لا تستخدم هذا الكود ضد أنظمة الإنتاج أو أي هدف دون إذن كتابي صريح.
المؤلف غير مسؤول عن إساءة الاستخدام أو الأضرار الناجمة عن هذا الكود.

المراجع

  • GitHub Security Advisory GHSA-9rwj-6rc7-p77c
  • الالتزام بالإصلاح
  • سجل NVD – CVE-2025-67644

إفصاح مسؤول وبحث فقط.
Mohammed Idrees Banyamer
@banyamer_security

تنزيل الأداة