Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2026-55511 — Yamcs任务控制系统中的远程代码执行(RCE)漏洞,通过Yarch SQL双引号标识符中的Java语句注入实现Yamcs任务控制系统中的远程代码执行(RCE)漏洞,通过Yarch SQL双引号标识符中的Java语句注入实现 | Kitploit
工具/GitHubGitHub/junfuture1103/cve-2026-55511
漏洞分析代码分析漏洞利用Web应用程序漏洞利用渗透测试学习与教育
GitHubjunfuture1103/cve-2026-55511

CVE-2026-55511

Yamcs任务控制系统中的远程代码执行(RCE)漏洞,通过Yarch SQL双引号标识符中的Java语句注入实现Yamcs任务控制系统中的远程代码执行(RCE)漏洞,通过Yarch SQL双引号标识符中的Java语句注入实现

查看仓库
111个月前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
网站
分享

CVE-2026-55511: Yamcs StreamSQL 认证远程代码执行

CVE-2026-55511 的非武器化概念验证和技术文档,该漏洞是 Yamcs StreamSQL 聚合表达式编译器中一个经过身份验证的 Java 代码注入漏洞。

字段值
产品Yamcs (org.yamcs:yamcs-core)
安全公告GHSA-3g44-3m7x-cgg2
弱点CWE-94: 代码生成控制不当
严重性严重,CVSS 3.1: 9.1
向量CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:H
所需权限SystemPrivilege.ControlArchiving
修复版本Yamcs 5.13.2 和 5.12.8
主线补丁b65a3d78178ba99a58b753feda6ecc3b5a694f13

概述

Yamcs 接受 StreamSQL 对象的双引号名称,在受影响版本中,允许这些名称中包含几乎任何字符。聚合表达式(如 sum(...))使用列名动态构建 Java 源码,并使用 Janino SimpleCompiler 编译该源码。

存在漏洞的代码在将列名放入生成的 Java 标识符之前,仅应用了极少的名称消毒处理。因此,拥有 ControlArchiving 权限的认证用户可以创建特制的带引号的列名,通过 POST /api/archive/{instance}:executeSql 到达聚合编译器,并在 Yamcs 服务器 JVM 内执行受攻击者影响的 Java 代码。

这跨越了 Yamcs 预期的授权边界:ControlArchiving 允许归档、表和流管理,但并非有意授予在服务器上执行任意 Java 的权限。

受影响版本

发行线受影响已修复
5.13.x5.13.1 及更早版本5.13.2
5.12.x5.12.7 及更早版本5.12.8

请升级到 Yamcs 5.13.2、5.12.8 或更高版本的受支持发行版。

技术细节

有漏洞的数据流如下:

root@kitploit:~
POST /api/archive/{instance}:executeSql
  -> TableApi.executeSql
  -> Yarch StreamSQL parser
  -> double-quoted object name
  -> SelectExpression aggregate binding
  -> SumExpression.aggregateFillCode_newData
  -> Expression.fillCode_InputDefVars
  -> CompilableAggregateExpression.getCompiledAggregate
  -> Janino SimpleCompiler.cook
  -> attacker-influenced Java executes in the Yamcs JVM

三个条件共同导致了该问题:

  1. 存在漏洞的 S_DOUBLE_QUOTED_IDENTIFIER 语法接受除 CR、LF 和 " 之外的任何字符。
  2. Expression.fillCode_InputDefVars 从列名推导出 Java 变量名。其 sanitizeName 辅助方法仅替换 / 和 -。
  3. 生成的聚合类使用 Janino 编译和加载,没有限制性的表达式沙箱。

这导致在生成的 newData(Tuple) 方法中,可以使用分号、空格、括号、赋值运算符和点等 Java 语法字符。与裸表达式路径不同,聚合方法提供了可到达的语句上下文,注入的语句可以在其中编译和执行。

前提条件与影响

利用需要拥有 SystemPrivilege.ControlArchiving 的认证账户。没有该权限的账户会被 TableApi.executeSql 授权检查拒绝。

成功利用将以 Yamcs 服务进程的权限运行 Java。根据部署隔离情况,这可能会影响任务数据和主机环境的机密性、完整性和可用性。该问题不是未认证的远程代码执行,并且本身不会将 Yamcs 进程提升到其操作系统或容器权限之外。

概念验证

附带的 poc.py 故意非武器化:

  • 它不连接活动的 Yamcs 服务器;
  • 它不执行操作系统命令;
  • 它验证了本地 Yamcs 检出中的相关漏洞源链;
  • 它生成了一个小的聚合代码生成模式的 Java 模型;
  • 它仅设置一个良性的 JVM 属性标记。

要求

  • Python 3.9+
  • 本地 Yamcs 源码检出
  • 可选的 JDK(javac 和 java)用于良性标记测试

运行

root@kitploit:~
cd /path/to/yamcs
python3 /path/to/poc.py \
  --json /tmp/evidence.json \
  --log /tmp/crash_evidence.log \
  --expect-crash

预期指标:

root@kitploit:~
source_chain_confirmed=true
generated_source_injection_present=true
marker_executed=true

证据

  • evidence/evidence.json:结构化的源链和 Java 模型结果
  • evidence/crash_evidence.log:简洁的验证日志

附带的证据是针对 Yamcs 源码提交 98a05e95461207c143e4297ec4bb1b5a76e9cb19 生成的。它确认了有漏洞的源链、生成的源码注入和良性标记的执行。

官方补丁

上游修复的名称为 Avoid RCE through double-quoted identifiers:

  • 主线 / 5.13.x: b65a3d78178ba99a58b753feda6ecc3b5a694f13,发布于 5.13.2
  • 5.12.x 向后移植: 8c1070b12c0a6c003903325cb2a1013347e2dbde,发布于 5.12.8

核心更改将双引号标识符从几乎不受限制的字符集限制为:

root@kitploit:~
< S_DOUBLE_QUOTED_IDENTIFIER: "\"" (~["\n","\r","\""])* "\"" >

变为允许列表:字母、数字、$、_、# 和 .:

root@kitploit:~
< S_DOUBLE_QUOTED_IDENTIFIER: "\"" (<LETTER> | <DIGIT> | <SPECIAL_CHARS>)+ "\"" >

这会在名称到达 Java 代码生成之前,拒绝报告注入所需的语句分隔和表达式构建字符。该补丁还更新了生成的解析器文件、文档和相关测试。

该限制可能会影响包含空格或不在允许列表中的标点符号的现有带引号的对象名称。在升级或向后移植之前,请检查 StreamSQL 模式和自动化。

与 CVE-2026-44632 的区别

CVE-2026-55511 是不同于 CVE-2026-44632 / GHSA-524g-x36v-9wm6 的独立入口点。CVE-2026-44632 涉及 JavaExprAlgorithmExecutionFactory,通过任务数据库算法覆盖功能到达,并由 ChangeMissionDatabase 控制。

此问题位于 org.yamcs.yarch.streamsql 中,通过 executeSql 到达,并由 ControlArchiving 控制。先前的 5.13.0 / 5.12.7 算法路径修复没有修改 StreamSQL 编译器或其带引号标识符处理。

附加文档

  • VULNERABILITY_REPORT.md:扩展漏洞报告
  • PATCH_ANALYSIS.md:详细的上游补丁分析和兼容性说明

参考文献

  • Yamcs 官方安全公告:GHSA-3g44-3m7x-cgg2
  • 官方主线修复提交
  • 官方 5.12.x 修复提交

仅在你拥有或明确授权测试的系统上使用此材料。

下载工具