
إثبات المفهوم لـ CVE-2024-21513
إثبات المفهوم لـ CVE-2024-21513 الاستغلال الأصلي موثّق من قبل Snyk Security Research
CVE-2024-21513 هو ثغرة أمنية في langchain-experimental حيث يتم تمرير نتائج استعلامات SQL غير الموثّقة إلى دالة eval() في بايثون، مما يتيح تنفيذ تعليمات برمجية عن بُعد عبر حقن المدخلات المستندة إلى SQL.
هذا الإثبات هو تطبيق Flask بسيط جدًا مع HTML مضمّن يمكن للمستخدمين من خلاله إدخال إحداثيات في قاعدة بيانات SQLite.
إذا أدخل المستخدم حمولة خبيثة في قيمة y، فستقوم ميزة LangChain-Experimental المعرضة للخطر بجلب قيمة y بناءً على قيمة x وتمرير النتيجة إلى eval() مما يؤدي إلى تنفيذها.
يحتوي هذا الإثبات على LLM مُرمَز بشكل ثابت يعيد استعلام SQL للبحث عن المكان الذي يكون فيه x = 10.
.
├── Dockerfile
├── README.md
├── app
│ ├── db.py
│ ├── exploit.db
│ ├── llm.py
│ ├── main.py
│ └── requirements.txt
└── docker-compose.yml
هذا الاستغلال معزول في حاوية بحيث لا يؤثر على بيئة التطوير الفعلية لديك.
أفترض أنك قمت بتثبيت Docker و/أو Docker Compose بالفعل (تأكد من تفعيل إعداد WSL2 في Docker إذا كنت تستخدم WSL)
git clone https://github.com/nskath/CVE-2024-21513cd CVE-2024-21513docker-compose up --buildlocalhost:5000 (127.0.0.1:5000)https://github.com/user-attachments/assets/7ad27115-411a-467f-b649-2b3508b6f5df