CVE-2026-22688CVE-2026-22688是腾讯开源项目WeKnora中的一个高危命令注入漏洞。WeKnora是一个基于大语言模型(LLM)的框架,专为深度文档理解和语义检索设计。该漏洞存在于0.2.5之前的版本中,源于对用户输入的MCP stdio配置参数(stdio_config.command和args)缺乏充分的输入验证。攻击者通过身份认证后,可以将恶意构造的命令或参数注入到MCP stdio设置中,导致服务器在执行子进程时使用这些注入值,从而实现远程代码执行(RCE)。由于该漏洞的CVSS评分高达9.9,属于严重级别,对系统的机密性、完整性和可用性都造成极高影响。攻击者无需特殊权限即可利用此漏洞,且无需用户交互,这使得漏洞的利用门槛极低,危害范围广泛。任何部署了受影响版本WeKnora的系统都可能面临被完全入侵的风险,攻击者可以获得服务器完全控制权,执行任意系统命令,窃取敏感数据或部署恶意软件。
该命令注入漏洞的根本原因在于WeKnora框架的MCP(Machine Communication Protocol)stdio配置模块对用户可控输入的处理不当。在WeKnora的文档处理流程中,系统允许认证用户配置stdio_config参数来设置MCP服务器的通信参数。问题出在stdlib_config.command和args字段的处理逻辑上:系统直接将这些字段的值传递给底层系统调用函数(如subprocess.Popen或os.system),而没有进行任何命令注入防护检查。攻击者可以通过构造特殊的payload,例如在command字段中注入分号、管道等shell元字符,或在args数组中插入恶意参数,使服务器在执行子进程时将其作为操作系统命令的一部分解析和执行。由于WeKnora通常以较高权限运行(需要处理文档和系统资源),攻击成功后将获得服务器进程的同等权限,实现远程代码执行。漏洞的利用前提是攻击者需要拥有有效的用户凭证(PR:L认证要求),但这可以通过注册普通用户账户或利用其他认证漏洞来满足。