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.
References6
- github.com/yamcs/yamcs/commit/8c1070b12c0a6c003903325cb2a101334…
- github.com/yamcs/yamcs/commit/b65a3d78178ba99a58b753feda6ecc3b5…
- github.com/yamcs/yamcs/releases/tag/yamcs-5.12.8
- github.com/yamcs/yamcs/releases/tag/yamcs-5.13.2
- github.com/yamcs/yamcs/security/advisories/GHSA-3g44-3m7x-cgg2
- github.com/yamcs/yamcs/security/advisories/GHSA-3g44-3m7x-cgg2
Metrics
- CVSS 3.1
-
9.1
CRITICAL
Score source: CNA
CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:H - EPSS — exploit probability
- 1% percentile: 53 · as of 8 November 2026
- CWE
- CWE-94
Could this be exploited in your environment?
A patch closes the known hole. A penetration test shows what an attacker can still reach — with proof.