Yamcs: Authenticated RCE via StreamSQL aggregate-compiler column-name injection in Yamcs `executeSql`
Key facts
- Attack vector
- Network
- Privileges required
- High
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Code execution
- Confidentiality · integrity · availability
- High · High · High
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub. Impact type from CWE-94.
Summary
Yamcs is a mission control framework. Prior to 5.12.8 and 5.13.2, Yamcs allows a user with SystemPrivilege.ControlArchiving to create a double-quoted StreamSQL column name that is interpolated into generated Java source by Expression.fillCode_InputDefVars and Expression.sanitizeName. A sum aggregate reaches yamcs-core/src/main/java/org/yamcs/yarch/streamsql/CompilableAggregateExpression.java and yamcs-core/src/main/java/org/yamcs/yarch/streamsql/funct/SumExpression.java through SelectExpression.compile, where Janino SimpleCompiler.cook compiles the injected source. POST /api/archive/{instance}:executeSql can therefore execute arbitrary Java in the Yamcs server process, exposing mission data and credentials and permitting telemetry tampering or denial of service. This issue is fixed in versions 5.12.8 and 5.13.2.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- No
- Technical impact
- Total
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| yamcs | yamcs | before 5.12.8; 5.13.0 to before 5.13.2 | 5.12.8, 5.13.2 | Patch available | CNA |
| — | org.yamcs:yamcs-core (Maven) | 5.13.0 to before 5.13.2 | 5.13.2 | Patch available | GHSA-3g44-3m7x-cgg2 |
| — | org.yamcs:yamcs-core (Maven) | before 5.12.8 | 5.12.8 | Patch available | GHSA-3g44-3m7x-cgg2 |
- yamcs Vendoryamcs Affected before 5.12.8; 5.13.0 to before 5.13.2 Fixed in 5.12.8, 5.13.2 Patch available CNA
- org.yamcs:yamcs-core (Maven) Vendor— Affected 5.13.0 to before 5.13.2 Fixed in 5.13.2 Patch available GHSA-3g44-3m7x-cgg2
- org.yamcs:yamcs-core (Maven) Vendor— Affected before 5.12.8 Fixed in 5.12.8 Patch available GHSA-3g44-3m7x-cgg2
Remediation
- Fix · CNA yamcs (yamcs) Fixed in 5.12.8, 5.13.2
- Fix · GHSA-3g44-3m7x-cgg2 org.yamcs:yamcs-core (Maven) Fixed in 5.13.2 Advisory →
- Fix · GHSA-3g44-3m7x-cgg2 org.yamcs:yamcs-core (Maven) Fixed in 5.12.8 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2026-55511
- 2026-10-03 Alias added: GHSA-3g44-3m7x-cgg2
References
Other 6
- https://github.com/yamcs/yamcs/security/advisories/GHSA-3g44-3m7x-cgg2
- https://github.com/yamcs/yamcs/commit/8c1070b12c0a6c003903325cb2a1013347e2dbde
- https://github.com/yamcs/yamcs/commit/b65a3d78178ba99a58b753feda6ecc3b5a694f13
- https://github.com/yamcs/yamcs/releases/tag/yamcs-5.12.8
- https://github.com/yamcs/yamcs/releases/tag/yamcs-5.13.2
- https://github.com/yamcs/yamcs
More yamcs vulnerabilities
- TI-2026-40103 Yamcs: Remote Code Execution via instance-template argument YAML injection (createInstance) CVSS 3.1CRITICAL 9.8
- TI-2026-34240 Yamcs: Remote Code Execution via Mission Database algorithm override CVSS 3.1CRITICAL 9.8
- TI-2026-32507 Yamcs: No Rate Limiting on Authentication Endpoint CVSS 3.1CRITICAL 9.8
- TI-2026-40106 Yamcs: Authenticated remote code execution via unescaped StreamSQL `LIKE` pattern compiled by Janino (`LikeExpression`) CVSS 3.1CRITICAL 9.9
- TI-2026-34277 Yamcs: Authenticated Remote Code Execution (RCE) via Jython Algorithm Code Injection CVSS 3.1CRITICAL 9.1
- TI-2026-32532 Yamcs: Server-Side Code Injection (RCE) via Janino Expression Engine in `JavaExprAlgorithmExecutionFactory` CVSS 3.1CRITICAL 9.1
Sources
- CVE-2026-55511 · CVE Program
- CVE-2026-55511 · NVD
- FIRST EPSS
- GHSA-3g44-3m7x-cgg2 · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences