CVE-2026-55559
nicheYAML injection leads to remote command execution in Yamcs
Yamcs, an open-source mission control framework, prior to versions 5.12.8 and 5.13.2 interpolates templateArgs from POST /api/instances and PATCH /api/instances/{instance} into YAML configuration via VarStatement.append without YAML-context escaping, enabling YAML injection. An attacker sends crafted template arguments that inject a services entry for org.yamcs.ProcessRunner, which is then parsed by YamcsServer.createInstance and loaded by YamcsServerInstance, executing attacker-supplied commands as the Yamcs service account. On deployments without security.yaml the operation is exposed through the guest superuser (no authentication), while secured deployments require the SystemPrivilege.CreateInstances privilege. All Yamcs deployments running affected versions are impacted, with internet-exposed instances lacking authentication facing the highest risk (CVSS 9.8). No public proof-of-concept or in-the-wild exploitation is known (not in CISA KEV; EPSS ~0.6%).
What to do: Upgrade to Yamcs 5.12.8 (5.12 series) or 5.13.2 (5.13 series) as soon as possible. Until patched, restrict network access to the Yamcs API, enforce authentication by not exposing the guest superuser (deploy and enforce security.yaml), and limit CreateInstances privileges to trusted roles. Also audit existing instance configurations for unexpected org.yamcs.ProcessRunner service entries that could indicate prior exploitation.
| Space Applications Services Yamcs (yamcs-core mission control framework) | prior to 5.12.8 and prior to 5.13.2 (fixed in 5.12.8 and 5.13.2) |
Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.
Yamcs is a mission control framework. Prior to 5.12.8 and 5.13.2, Yamcs inserts templateArgs from POST /api/instances and PATCH /api/instances/{instance} into YAML through VarStatement.append in yamcs-core/src/main/java/org/yamcs/templating/VarStatement.java without YAML-context escaping. The rendered configuration is parsed by YamcsServer.createInstance and loaded by YamcsServerInstance, allowing an attacker to inject a services entry for org.yamcs.ProcessRunner. Deployments without security.yaml expose the operation through the guest superuser, while secured deployments require SystemPrivilege.CreateInstances. Successful exploitation executes commands as the Yamcs service account. This issue is fixed in versions 5.12.8 and 5.13.2.
- Weakness
- CWE-94, CWE-470, CWE-1336
- Vector
- CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
In the news0 stories
No ingested article mentions this CVE yet.