首页 网络安全 正文

Langroid SQL注入及远程代码执行CVE-2026-25879

摘要

栋科技漏洞库关注到 Langroid 中的SQLChatAgent SQL注入及远程代码执行漏洞,现被追踪为CVE-2026-25879 ,CVSS 3.1评分9.8。

Langroid 是卡内基梅隆、威斯康星大学研究者开发的开源轻量化 Python 多智能体 LLM 开发框架,主打多 Agent 协作开发大模型应用。

一、基本情况

Langroid 是开源Python框架,用于构建大语言模型应用,SQLChatAgent 是其核心组件,负责将用户自然语言转换为SQL语句并执行。

Langroid SQL注入及远程代码执行CVE-2026-25879

Langroid 框架可用于自然语言数据库查询、知识库问答、数据分析机器人、多角色协同 AI 应用、企业私有 LLM 落地开发等各种场景。

栋科技漏洞库关注到 Langroid 中的SQLChatAgent SQL注入及远程代码执行漏洞,现被追踪为CVE-2026-25879 ,CVSS 3.1评分9.8。

二、漏洞分析

CVE-2026-25879漏洞源于Langroid 受影响版本的SQLChatAgent的run_query方法直接执行LLM生成的SQL语句而未经任何安全校验。

SQLChatAgent 会执行由大语言模型生成的 SQL 语句,而该生成过程可被提示注入攻击操控。

若配置的数据库账号权限支持代码执行或文件系统访问,

例如 PostgreSQL 的 pg_execute_server_program、MySQL 的 FILE 权限、SQL Server 的 xp_cmdshell 存储过程,

攻击者只需要通过 prompt 注入,控制代理的输入内容(包括通过LLM读取回的数据库数据间接注入)

即可诱导执行对应数据库专属高危语句(如 COPY ... FROM PROGRAM),最终在数据库服务器上实现远程代码执行。

该漏洞在 vX.Y 版本完成修复:

默认对 SQLChatAgent 启用仅允许查询的 sqlglot 语法解析白名单,并配置区分数据库类型的高危语句黑名单;

仅在可信部署环境中手动开启 allow_dangerous_operations=True 参数,才可恢复原先无限制的执行逻辑。

三、POC概念验证

(一)复现与漏洞验证代码

1、可借助该演示程序复现漏洞

管理员已设置登录后刷新可查看

此漏洞验证代码利用 PostgreSQL 的 COPY FROM PROGRAM 语句成功执行系统命令 id,证实漏洞可实现远程代码执行。

Langroid SQL注入及远程代码执行CVE-2026-25879

除此之外,针对不同数据库可采用对应注入语句进行漏洞利用,实现远程代码执行、读写服务器任意文件。

(二)利用链路

1、大模型选用 run_query 工具

llm_response (langroid\agent\chat_agent.py:1434)
llm_response (langroid\agent\special\sql\sql_chat_agent.py:314)
response (langroid\agent\task.py:1584)
step (langroid\agent\task.py:1261)
run (langroid\agent\task.py:827)

2、大模型生成的 SQL 语句在服务端被执行

run_query (langroid\agent\special\sql\sql_chat_agent.py:474)
handle_tool_message (langroid\agent\base.py:2092)
handle_message (langroid\agent\base.py:1744)
agent_response (langroid\agent\base.py:760)
response (langroid\agent\task.py:1584)
step (langroid\agent\task.py:1261)
run (langroid\agent\task.py:827)

(三)安全影响

该漏洞可使攻击者依托数据库账号权限控制数据库服务器并实现远程代码执行,攻击者可完成以下操作:

通过 COPY FROM PROGRAM 执行任意系统命令

窃取数据库内敏感数据

篡改、删除关键数据库数据

以此为跳板横向渗透,攻陷整套基础设施

(四)修复建议

部署SQL语句白名单校验机制,通过语法解析对所有由大模型生成的SQL做严格白名单校验,仅放行安全格式查询、新增、更新语句;

拦截 COPY FROM PROGRAM、自定义函数创建及各类数据库管理类高危语句。

四、影响范围

Langroid < 0.63.0

五、修复建议

Langroid ≥ 0.63.0

六、参考链接

管理员已设置登录后刷新可查看



扫描二维码,在手机上阅读
评论
更换验证码
友情链接