CVE-2026-42087OpenC3 COSMOS 是一个用于向嵌入式系统发送命令和接收数据的平台。在版本 6.7.0 至 7.0.0-rc3 之前的版本中,其时间序列数据库(TSDB)组件存在严重的 SQL 注入漏洞。该漏洞源于 cvt_model.rb 文件中的 tsdb_lookup 函数在处理用户输入时未进行适当的清理,直接将输入拼接到 SQL 查询语句中。攻击者可以利用此漏洞绕过初始 SQL 语句的边界,执行任意 SQL 命令。这可能包括但不限于敏感数据泄露、数据篡改或删除数据,对系统的机密性和完整性造成严重影响。该问题已在版本 7.0.0-rc3 中得到修复。
该漏洞属于经典的 SQL 注入漏洞,发生在 OpenC3 COSMOS 产品的 Time-Series Database (TSDB) 组件中。具体受影响的文件是 cvt_model.rb,关键函数为 tsdb_lookup。该函数的设计初衷是查询时间序列数据,但在实现过程中,开发人员直接将用户通过 HTTP 请求提交的参数拼接到了 SQL 查询字符串中,而未使用任何形式的输入清洗或参数化查询机制。这种不安全的编码方式使得攻击者能够通过精心构造的输入数据,干扰 SQL 语句的语法结构。例如,攻击者可以输入包含单引号、注释符号(如 -- 或 #)或 SQL 关键字(如 UNION, SELECT, DROP)的字符串。当后端数据库处理该请求时,它会将恶意输入视为 SQL 代码的一部分执行。考虑到 CVSS 向量中的 S:C(Scope Changed),虽然初始攻击需要低权限(PR:L),但成功的 SQL 注入可能导致数据库服务器被完全控制,进而威胁到应用服务器或其他系统组件。攻击者不仅可以读取机密配置信息或遥测数据,还可以利用数据库特定的存储过程或命令执行功能进一步渗透内网,造成数据完整性严重受损。