CVE-2023-34541 LangChain 任意命令执行

news/2025/3/14 16:39:47/

漏洞简介

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

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

漏洞复现

在项目下编写 test.py

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

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

import os
os.system("dir")

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

65f910e3eb998cff1fcd66ce7b611179.png

漏洞分析-_load_prompt_from_file

langchain.prompts.loading.load_prompt

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

langchain.prompts.loading._load_prompt_from_file

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

也就相当于,代码可以简写为
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

4488ffe1144414e5467bb2d3726da73c.png langchain.utilities.loading.try_load_from_hub 229ac02ea30438052ac874c36eb541e3.png 首先匹配了 HUB_PATH_RE = re.compile(r"lc(?Pref@[^:]+)?://(?Ppath.*)") 所以需要满足最开始是 lc:// 然后对后面的内容进行匹配,要求第一个字段的值是 prompts 最后的后缀要在 {'py', 'yaml', 'json'}0443885b4a4a18dcca2e0dee03d8be19.png 最后拼接请求的url 可以通过 ../../../ 绕出项目的限制,指向我们设定好的文件,并读取加载实现任意命令执行

漏洞小结

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

原创稿件征集

征集原创技术文章中,欢迎投递

投稿邮箱:edu@antvsion.com

文章类型:黑客极客技术、信息安全热点安全研究分析等安全相关

通过审核并发布能收获200-800元不等的稿酬。

更多详情,点我查看!

b8f080c8f10892f7845e0abd03d246bd.gif

九周年庆,戳“阅读原文


http://www.ppmy.cn/news/636070.html

相关文章

F1电竞全球锦标赛首度落地中国

来源:证券时报网 作者:陈文斌 上海市政府新闻办公室官方微博消息,久事体育集团旗下的久事智慧体育和F1管理公司今天共同宣布,F1电竞全球锦标赛于今年首度落地中国。F1希望通过创新吸引并拉近更多的粉丝,在中国能更好…

RNG战队LPL春季赛夺冠 中国电竞产业未来如何实现“破与立”?

易观分析:《数字经济全景白皮书》浓缩了易观分析对于数字经济各行业经验和数据的积累,并结合数字时代企业的实际业务和未来面临的挑战,以及数字技术的创新突破等因素,最终从数字经济发展大势以及各领域案例入手,帮助企…

“腾讯电竞”向前,“腾讯游戏”向后

文丨陈选滨 来源 | 螳螂财经 “在这属于中国电竞的最好时刻,腾讯电竞希望携手行业伙伴,抓住时代赋予的机遇,共创中国电竞的黄金时代!” 上个月6月20日,主题为“竞在此刻”的2019全球电竞运动领袖峰会暨腾讯电竞年度…

【你离硅谷只差一步】网易中国创业家大赛项目火热征集中

近日,由网易云和网易联合创新中心发起的第二届网易中国创业家大赛在北上广深、杭州、长春等全国15个城市启动招募,各地将自8月起,陆续开展分赛,角逐全国20强,并进入11月份的全国总决赛。 据了解,网易中国创…

常见的短视频平台

短视频平台(以及自媒体常见平台): 企业QQ账号:https://admin.qidian.qq.com 抖音:https://www.douyin.com/ (手机账号就登录) 快手:https://www.kuaishou.com/ (手机账…

电商巨头纷纷涉水电竞,撬动游戏产业恐为时尚远

历经低迷期后,游戏行业等来了春暖花开。 数据显示,2017年中国游戏产业在整体收入的增长上开始回暖,实际销售收入达到2036.1亿元,同比增长23%。 电竞市场表现十分亮眼,去年中国电竞市场实际销售收入达到730.5亿元&#…

2019网易游戏开发者峰会正式开启报名

2019网易游戏开发者峰会N.Game将于1月20日在广州富力君悦大酒店举办,本次峰会聚焦于“趋势、融合、创意”的行业热门话题,汇聚业内众多知名专家,从游戏设计与运营、技术创新、风格设定等方面进行多维度的交流。网易游戏期望携手业内优秀的游戏…

产业数字化博弈,网易能否继续守正出奇?

1个网易数字产业中心、2个网易数字产业基地、28个网易联合创新中心、15000家企业培育…… 这是网易在2020 CITC上晒出的成绩单。 可能在不少人的印象里,产业互联网的热闹只属于BAT、华为等擅长造势的玩家,向来低调的网易一直是被低估的对象&#xff0c…