CVE-2026-55511 Yamcs: Authenticated RCE via StreamSQL aggregate-compiler column-name injection in Yamcs `executeSql`
Authenticated attackers with archiving privileges can inject Java code via StreamSQL column names to execute arbitrary commands in Yamcs.
- Exploited in the wild
- Not known
- Login needed
- An administrator
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2026-55511?
CVE-2026-55511 is a critical code injection vulnerability in yamcs, published on 28 Aug 2026. An attacker needs administrator access to exploit it, with no action from the victim.
Official description
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.
Weakness: CWE-94
Which versions are affected by CVE-2026-55511?
4 open source packages ship an affected version, including org.yamcs:yamcs-core.
| Package | Affected | Fixed in |
|---|---|---|
org.yamcs:yamcs-core Maven | All versions | 5.12.8 |
org.yamcs:yamcs-core Maven | All versions | 5.12.8 |
org.yamcs:yamcs-core Maven | From 5.13.0 | 5.13.2 |
org.yamcs:yamcs-core Maven | From 5.13.0 | 5.13.2 |
How do I fix CVE-2026-55511?
Upgrade org.yamcs:yamcs-core to a fixed version for your release line: 5.12.8 or 5.13.2.
Upgrade, and never evaluate templates, expressions or code built from user input. More about Code injection.
Is CVE-2026-55511 being exploited?
It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-55511 exists.
Public exploit code: 1 proofs of concept on GitHub.
Sources
Also known as GHSA-3g44-3m7x-cgg2.