
CVE-2024-21513 के लिए PoC
CVE-2024-21513 के लिए PoC मूल शोषण का दस्तावेज़ीकरण Snyk Security Research द्वारा किया गया
CVE-2024-21513, langchain-experimental में एक कमजोरी है जहाँ असत्यापित SQL क्वेरी परिणाम Python के eval() को पारित किए जाते थे, जिससे SQL-आधारित इनपुट इंजेक्शन के माध्यम से रिमोट कोड निष्पादन संभव हो जाता है।
यह PoC एक बहुत ही बुनियादी Flask ऐप है जिसमें इनलाइन HTML है, जहाँ उपयोगकर्ता SQLite DB में निर्देशांक दर्ज कर सकते हैं।
यदि कोई उपयोगकर्ता y मान में एक दुर्भावनापूर्ण पेलोड दर्ज करता है, तो एक संवेदनशील LangChain-Experimental सुविधा x मान के आधार पर y मान प्राप्त करेगी और परिणाम को eval() को पारित करेगी, जिससे वह निष्पादित हो जाता है।
इस PoC में एक हार्ड-कोडेड LLM है जो x = 10 खोजने के लिए SQL क्वेरी लौटाता है।
.
├── Dockerfile
├── README.md
├── app
│ ├── db.py
│ ├── exploit.db
│ ├── llm.py
│ ├── main.py
│ └── requirements.txt
└── docker-compose.yml
यह एक्सप्लॉइट कंटेनरीकृत है ताकि यह आपके वास्तविक डेवलपमेंट एनवायरनमेंट पर कुछ भी प्रभाव न डाले।
मान लीजिए कि आपके पास Docker और/या Docker Compose पहले से इंस्टॉल है (यदि आप WSL उपयोग कर रहे हैं तो Docker में WSL2 कॉन्फिग चालू है यह सुनिश्चित करें)
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