In recent years, Large Language Models (LLMs) have demonstrated remarkable potential across various downstream tasks. LLM-integrated frameworks, which serve as the essential infrastructure, have given rise to many LLM-integrated web apps. However, some of these frameworks suffer from Remote Code Execution (RCE) vulnerabilities, allowing attackers to execute arbitrary code on apps' servers remotely via prompt injections. Despite the severity of these vulnerabilities, no existing work has been conducted for a systematic investigation of them. This leaves a great challenge on how to detect vulnerabilities in frameworks as well as LLM-integrated apps in real-world scenarios. To fill this gap, we present two novel strategies, including 1) a static analysis-based tool called LLMSmith to scan the source code of the framework to detect potential RCE vulnerabilities and 2) a prompt-based automated testing approach to verify the vulnerability in LLM-integrated web apps. We discovered 13 vulnerabilities in 6 frameworks, including 12 RCE vulnerabilities and 1 arbitrary file read/write vulnerability. 11 of them are confirmed by the framework developers, resulting in the assignment of 7 CVE IDs. After testing 51 apps, we found vulnerabilities in 17 apps, 16 of which are vulnerable to RCE and 1 to SQL injection. We responsibly reported all 17 issues to the corresponding developers and received acknowledgments. Furthermore, we amplify the attack impact beyond achieving RCE by allowing attackers to exploit other app users (e.g. app responses hijacking, user API key leakage) without direct interaction between the attacker and the victim. Lastly, we propose some mitigating strategies for improving the security awareness of both framework and app developers, helping them to mitigate these risks effectively.
翻译:近年来,大语言模型(LLMs)在各类下游任务中展现出显著潜力。作为关键基础设施的LLM集成框架催生了大量LLM集成网络应用。然而,部分框架存在远程代码执行(RCE)漏洞,攻击者通过提示注入可在应用服务器上远程执行任意代码。尽管此类漏洞危害严重,但现有研究尚未对其展开系统性调查。这导致在真实场景中检测框架及LLM集成应用的漏洞面临重大挑战。为填补这一空白,我们提出两种创新策略:1)基于静态分析的工具LLMSmith,用于扫描框架源代码以检测潜在RCE漏洞;2)基于提示的自动化测试方法,用于验证LLM集成网络应用中的漏洞。我们在6个框架中发现13个漏洞,包括12个RCE漏洞和1个任意文件读写漏洞。其中11个漏洞已获框架开发者确认,并分配了7个CVE编号。在测试51个应用后,我们在17个应用中发现了漏洞,其中16个易受RCE攻击,1个存在SQL注入漏洞。我们已向相关开发者负责任地报告全部17个问题并获致谢。此外,我们将攻击影响从RCE进一步扩展,使攻击者无需与受害者直接交互即可利用其他应用用户(如应用响应劫持、用户API密钥泄露)。最后,我们提出多项缓解策略以提升框架与应用开发者的安全意识,助力其有效规避这些风险。