
PoC für CVE-2024-21513
PoC für CVE-2024-21513 Ursprünglicher Exploit dokumentiert von Snyk Security Research
CVE-2024-21513 ist eine Schwachstelle in langchain-experimental, bei der nicht validierte SQL-Abfrageergebnisse an Pythons eval() übergeben wurden, was eine Remote-Code-Ausführung durch SQL-basierte Eingabeinjektion ermöglicht.
Dieser PoC ist eine sehr einfache Flask-App mit Inline-HTML, in der Benutzer Koordinaten in eine SQLite-Datenbank eingeben können.
Wenn ein Benutzer eine schädliche Nutzlast im y-Wert eingibt, ruft eine anfällige LangChain-Experimental-Funktion den y-Wert basierend auf dem x-Wert ab und übergibt das Ergebnis an eval(), was dessen Ausführung bewirkt.
Dieser PoC hat ein fest codiertes LLM, das die SQL-Abfrage zum Auffinden von x = 10 zurückgibt.
.
├── Dockerfile
├── README.md
├── app
│ ├── db.py
│ ├── exploit.db
│ ├── llm.py
│ ├── main.py
│ └── requirements.txt
└── docker-compose.yml
Dieser Exploit ist containerisiert, sodass er keine Auswirkungen auf Ihre tatsächliche Entwicklungsumgebung hat.
Ich gehe davon aus, dass Sie Docker und/oder Docker Compose bereits installiert haben (stellen Sie sicher, dass die WSL2-Konfiguration in Docker aktiviert ist, wenn Sie WSL verwenden).
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