漏洞类型 | 相对路径遍历 | 发现时间 | 2024-03-04 | 漏洞等级 | 中危 |
MPS编号 | MPS-o9uw-a2dr | CVE编号 | CVE-2024-28088 | 漏洞影响广度 | 小 |
漏洞危害
OSCS 描述 |
LangChain是一个旨在帮助开发人员使用语言模型构建端到端的应用程序的框架,支持配置不同的链调用。langchain-experimental是一个用于研究和实验目的的Python包。 由于langchain在load_chain中存在路径穿越漏洞,导致攻击可从hwchase17/langchain-hub仓库路径穿越至其他仓库加载json文件。当受害者加载恶意 json、请求恶意 api 域名、攻击者返回恶意命令时,langchain_experimental组件llm_bash/base.py中_call函数将执行恶意命令,导致OPENAI API token 泄露和恶意代码执行。 参考链接:https://www.oscs1024.com/hd/MPS-o9uw-a2dr |
影响范围及处置方案
OSCS 平台影响范围和处置方案
影响范围 | 处置方式 | 处置方法 |
langchain-core (-∞, 0.1.28] | 缓解措施 | 避免load_chain函数参数可被用户控制 |
langchain-experimental (-∞, 0.0.53] | 缓解措施 | 禁用 langchain-experimental |
参考链接:https://www.oscs1024.com/hd/MPS-o9uw-a2dr |
排查方式
方式1:使用漏洞检测CLI工具来排查使用文档:https://www.murphysec.com/docs/faqs/integration/cli.html |
方式2:使用漏洞检测IDEA插件排查使用文档:https://www.murphysec.com/docs/faqs/integration/jetbrains-ide-plugin.html |
方式3:接入GitLab进行漏洞检测排查使用文档:https://www.murphysec.com/docs/faqs/integration/gitlab.html |
更多排查方式:https://www.murphysec.com/docs/faqs/integration/ |
本文参考链接
https://www.oscs1024.com/hd/MPS-o9uw-a2dr
https://nvd.nist.gov/vuln/detail/CVE-2024-28088
https://github.com/PinkDraconian/PoC-Langchain-RCE/blob/main/README.md