CVE-2026-44632

Yamcs: Server-Side Code Injection (RCE) via Janino Expression Engine in `JavaExprAlgorithmExecutionFactory`

Published Jul 16, 2026 CVSS 3.1 · 9.1 Critical EPSS 1.1% KEV · Not listed
Description
Yamcs is a mission control framework. Prior to 5.12.7, a server-side code injection vulnerability existed in the Yamcs algorithm evaluation engine org.yamcs.algorithms.JavaExprAlgorithmExecutionFactory, which dynamically compiled and evaluated user-controlled algorithm text through the Janino compiler without enforcing a secure sandbox, so an authenticated user with the ChangeMissionDatabase privilege could override an existing algorithm's text via the mission database REST API and inject Java code (for example using java.lang.Runtime) to achieve remote code execution on the underlying host operating system. This issue is fixed in versions 5.12.7 and 5.13.0, which disable algorithm editing by default.

Analysis

AI-generated

Technical impact

Yamcs, a mission control framework, contains a server‑side code injection flaw (CWE‑94) in its JavaExprAlgorithmExecutionFactory module. When an authenticated user with the ChangeMissionDatabase privilege submits algorithm text through the mission database REST API, the text is compiled by the Janino compiler without enforcing a secure sandbox. This allows the user to override existing algorithm definitions with arbitrary Java code, such as invoking java.lang.Runtime, giving the attacker remote code execution capability on the host operating system. Consequently, the attacker can execute shell commands, read or modify system files, or pivot to other services, compromising confidentiality, integrity, and availability of the mission control system.

Affected Systems

The affected product is Yamcs from the yamcs:yamcs vendor. Versions prior to 5.12.7 are vulnerable; the fix is delivered in releases 5.12.7 and 5.13.0 through disabling algorithm editing by default.

Risk and Exploitability

The CVSS score is 9.1, indicating a high severity vulnerability. The EPSS score indicates a very low but nonzero exploitation probability (1%) and the flaw is not listed in the CISA KEV catalog, meaning publicly known exploitation data is limited. The attack requires an authenticated user with the ChangeMissionDatabase privilege, as that privilege allows overwriting algorithm definitions via the mission database REST API. Therefore, the attack vector is via a privileged REST API call, and the exploitation needs both authentication and authorization, making it dependent on user trust boundaries rather than open network exposure.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade Yamcs to version 5.12.7 or later to apply the vendor fix that disables algorithm editing by default.
  • Ensure the ChangeMissionDatabase privilege is granted only to trusted operators and monitor its use for anomalous changes.
  • If an immediate upgrade is not possible, restrict network access to the mission database REST API and audit all algorithm modifications for injected code patterns or unexpected Java classes.

Generated by OpenCVE AI on July 31, 2026 at 01:46 UTC.

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
Github GHSA Github GHSA GHSA-524g-x36v-9wm6 Yamcs Vulnerable to Server-Side Code Injection (RCE) via Janino Expression Engine in `JavaExprAlgorithmExecutionFactory`
History
Type Values Removed Values Added
First Time appeared Yamcs
Yamcs yamcs
Vendors & Products Yamcs
Yamcs yamcs
Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'total'}, 'version': '2.0.3'}

Type Values Removed Values Added
Description Yamcs is a mission control framework. Prior to 5.12.7, a server-side code injection vulnerability existed in the Yamcs algorithm evaluation engine org.yamcs.algorithms.JavaExprAlgorithmExecutionFactory, which dynamically compiled and evaluated user-controlled algorithm text through the Janino compiler without enforcing a secure sandbox, so an authenticated user with the ChangeMissionDatabase privilege could override an existing algorithm's text via the mission database REST API and inject Java code (for example using java.lang.Runtime) to achieve remote code execution on the underlying host operating system. This issue is fixed in versions 5.12.7 and 5.13.0, which disable algorithm editing by default.
Title Yamcs: Server-Side Code Injection (RCE) via Janino Expression Engine in `JavaExprAlgorithmExecutionFactory`
Weaknesses CWE-94
References
Metrics cvssV3_1

{'score': 9.1, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:H'}

Weaknesses
  • CWE-94

    Improper Control of Generation of Code ('Code Injection')

Sources

Status
PUBLISHED
Assigner
GitHub_M
Published
Updated
Jul 16, 2026, 4:46 PM
Reserved
May 7, 2026, 3:30 PM
Status
Analyzed
Published
Jul 16, 2026, 5:16 PM
Modified
Jul 17, 2026, 6:38 PM