ZeroHour

CVE-2026-55511

niche

Authenticated Java code injection in Yamcs StreamSQL archive API (RCE)

CVSS 3.1
9.1 critical
EPSS
<1%p50
Published
()
Modified
AI analysis

Yamcs, an open-source mission control framework, is vulnerable to code injection (CWE-94) because double-quoted StreamSQL column names are interpolated unescaped into generated Java source, which is then compiled in-process by the Janino compiler. An authenticated user holding the SystemPrivilege.ControlArchiving privilege can trigger the flaw by submitting a crafted query containing a sum aggregate to POST /api/archive/{instance}:executeSql; the injected column name is embedded in generated Java (via SelectExpression.compile and SumExpression) and executed as arbitrary Java code in the Yamcs server process. A successful attacker can read mission data and credentials accessible to that process, tamper with telemetry, or cause a denial of service. Any deployment running Yamcs versions prior to 5.12.8 and 5.13.2, where users with the ControlArchiving privilege can reach the archive SQL API, is affected. No public proof-of-concept or in-the-wild exploitation is currently known; EPSS estimates a 0.7% probability of exploitation within 30 days.

What to do: Upgrade to Yamcs 5.12.8 or 5.13.2 (or later). Until patched, restrict the SystemPrivilege.ControlArchiving privilege to trusted accounts only and limit network access to the POST /api/archive/{instance}:executeSql endpoint. Review logs for unexpected aggregate SQL queries using double-quoted column names, which could indicate exploitation attempts.

Affected
Space Applications Services Yamcsprior to 5.12.8 and prior to 5.13.2 (fixed in 5.12.8 and 5.13.2)
Estimated exposure
nichelikely on the order of hundreds to a few thousand server deployments worldwide (specialized mission-control software; no public install counts available) — Yamcs is a niche open-source mission-control framework used mainly by space agencies, satellite operators and ground stations, where each mission or ground segment typically runs only a handful of server instances, though some expose the…

Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.

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
Vector
CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:H

In the news

No ingested article mentions this CVE yet.