Vanna AI 漏洞导致 SQL 数据库遭受远程代码执行

阅读量34807

发布时间 : 2024-06-28 19:25:41

Vanna.AI 库中发现了一个严重的安全漏洞,该漏洞通过提示注入技术使 SQL 数据库面临潜在的远程代码执行 (RCE) 攻击。该漏洞编号为 CVE-2024-5565,CVSS 评分为 8.1,恶意行为者可以利用该漏洞操纵 Vanna.AI 的“询问”功能中的提示,利用大型语言模型 (LLM) 执行任意命令。

Vanna.AI 是一个基于 Python 的机器学习库,旨在通过将自然语言提示转换为 SQL 查询来简化与 SQL 数据库的交互。此功能由 LLM 提供,使用户只需提出问题即可查询数据库。

Vanna AI 漏洞导致远程代码执行 (RCE)
Vanna AI 漏洞最初是由 JFrog 的网络安全研究人员发现的。他们发现,通过向“ask”函数注入恶意提示,攻击者可以绕过安全控制并强制库执行非预期的 SQL 命令。这种称为提示注入的技术利用了 LLM 在解释用户输入方面的固有灵活性。

JFrog表示,“CVE-2024-5565 等即时注入漏洞凸显了将 LLM 集成到面向用户的应用程序(尤其是涉及敏感数据或后端系统的应用程序)中的风险。在这种情况下,Vanna.AI 中的漏洞允许攻击者破坏预期的查询行为并可能获得对数据库的未经授权的访问。”

该问题也是由刘彤通过 Huntr漏洞赏金平台独立发现并报告的,突显了其重要性和广泛的影响潜力。

理解提示注入及其含义
提示注入利用了LLM的设计,这些 LLM 是在不同的数据集上进行训练的,因此容易误解偏离预期规范的提示。虽然开发人员通常会实施预先提示的保护措施来指导 LLM 响应,但这些措施可能会被精心设计的恶意输入所规避。

JFrog 解释道:“在 Vanna.AI 的背景下,当用户提供的提示操纵 SQL 查询生成过程时,就会发生提示注入,从而导致意外且潜在的恶意数据库操作。这是一个严重的安全隐患,尤其是在 SQL 查询直接影响后端操作的应用程序中。”

技术细节和利用
Vanna AI 漏洞主要源于 Vanna.AI 在其 ask 函数中处理用户提示的方式。通过注入包含可执行代码的特制提示,攻击者可以影响SQL 查询的生成。这种操纵可以扩展到执行任意 Python 代码,正如库根据用户查询动态生成 Plotly 可视化的场景所展示的那样。

JFrog 指出:“在我们的分析中,我们发现 Vanna.AI 中的提示注入允许在生成的 SQL 查询上下文中直接执行代码。这包括生成的代码无意中包含恶意命令的情况,这对数据库安全构成重大风险。”

发现后,Vanna.AI 开发人员立即收到通知,并发布了缓解措施来解决CVE-2024-5565 漏洞。这些措施包括更新提示处理指南和额外的安全最佳实践,以防止未来的提示注入攻击。

JFrog 保证:“为了应对 CVE-2024-5565,Vanna.AI 已加强其及时验证机制并引入了更严格的输入清理程序。这些措施对于防止类似漏洞和确保利用 LLM 技术的应用程序持续安全至关重要。”

本文转载自:

如若转载,请注明出处: https://thecyberexpress.com/vanna-ai-vulnerability/

安全客 - 有思想的安全新媒体

分享到:微信
+10赞
收藏
安全客
分享到:微信

发表评论

内容需知
  • 投稿须知
  • 转载须知
  • 官网QQ群8:819797106
  • 官网QQ群3:830462644(已满)
  • 官网QQ群2:814450983(已满)
  • 官网QQ群1:702511263(已满)
合作单位
  • 安全客
  • 安全客
Copyright © 北京奇虎科技有限公司 360网络攻防实验室 安全客 All Rights Reserved 京ICP备08010314号-66