CVE-2024-21513 的概念验证(PoC) 漏洞利用原始文档由 Snyk 安全研究团队提供
CVE-2024-21513 是 langchain-experimental 中的一个漏洞:未经验证的 SQL 查询结果被传递给 Python 的 eval() 函数,从而通过基于 SQL 的输入注入实现远程代码执行。
本 PoC 是一个极其基础的 Flask 应用,内嵌 HTML,用户可以在 SQLite 数据库中输入坐标。
如果用户在 y 值中输入恶意载荷,有漏洞的 LangChain-Experimental 功能会根据 x 值获取 y 值,并将结果传递给 eval() 导致其被执行。
此 PoC 硬编码了一个 LLM,该 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