Description
Yamcs is a mission control framework. Prior to 5.12.7, the Nashorn ScriptEngine used to evaluate user-supplied JavaScript algorithm text in yamcs-core/src/main/java/org/yamcs/algorithms/ScriptAlgorithmExecutorFactory.java was constructed without a ClassFilter, so a user with the ChangeMissionDatabase privilege could override an algorithm through the MdbOverrideApi.updateAlgorithm endpoint and supply JavaScript that reaches arbitrary Java classes (for example Java.type("java.lang.Runtime").getRuntime().exec(...)) to execute arbitrary OS commands as the Yamcs process; in the default configuration with no security.yaml the built-in guest user has superuser=true, making the issue reachable without authentication. This issue is fixed in versions 5.12.7 and 5.13.0, which disable algorithm editing by default.
Published: 2026-07-16
Score: 9.8 Critical
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

Yamcs is a mission control framework. The vulnerability originates from the Nashorn ScriptEngine that Yamcs uses to evaluate user‑supplied JavaScript algorithms. Prior to version 5.12.7, the Nashorn ScriptEngine used to evaluate user‑supplied JavaScript algorithm text in yamcs-core/src/main/java/org/yamcs/algorithms/ScriptAlgorithmExecutorFactory.java was constructed without a ClassFilter, so a user with the ChangeMissionDatabase privilege could override an algorithm through the MdbOverrideApi.updateAlgorithm endpoint and supply JavaScript that reaches arbitrary Java classes (for example Java.type("java.lang.Runtime").getRuntime().exec(...)) to execute arbitrary OS commands as the Yamcs process. In the default configuration with no security.yaml the built‑in guest user has superuser=true, making the issue reachable without authentication. The issue is fixed in versions 5.12.7 and 5.13.0, which disable algorithm editing by default.

Affected Systems

The affected product is Yamcs by yamcs:yamcs, versions prior to 5.12.7 and 5.13.0. The issue was introduced before the 5.12.7 release and was mitigated in that release as well as in 5.13.0 through disabling algorithm editing by default and tightening script evaluation. Any deployment of the default configuration that allows a guest user with superuser rights to edit mission database algorithms is vulnerable.

Risk and Exploitability

The CVSS score is 9.8, indicating critical severity. The EPSS score of <1% indicates a very low but nonzero probability of exploitation in the wild, yet the high impact and lack of authentication requirements make it highly attractive to adversaries. The vulnerability is not listed in CISA’s KEV catalog, but the lack of authentication combined with remote code execution capability presents a severe risk. Exploitation requires a user with ChangeMissionDatabase rights, which can be present in many mission control environments; an attacker could bypass authentication if the protected guest user is enabled, which is the default state.

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

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade Yamcs to version 5.12.7 or later, where the Nashorn ScriptEngine construction includes a ClassFilter and algorithm editing is disabled by default, mitigating the risk of executing arbitrary code (CWE‑470, CWE‑94, CWE‑95).
  • If an upgrade is not immediately possible, limit the ChangeMissionDatabase privilege to trusted users to prevent unauthorized algorithm replacement, thereby reducing the exposure to arbitrary script execution (CWE‑470).
  • Modify the security.yaml configuration to remove the built‑in guest user’s superuser status or explicitly disable script evaluation through the MdbOverrideApi endpoint, thereby enforcing authentication and mitigating script‑based injection attacks (CWE‑95).

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

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-vmwp-vh32-rj75 Yamcs Vulnerable to Remote Code Execution via Mission Database algorithm override
History

Thu, 16 Jul 2026 18:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

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


Thu, 16 Jul 2026 17:45:00 +0000

Type Values Removed Values Added
First Time appeared Yamcs
Yamcs yamcs
Vendors & Products Yamcs
Yamcs yamcs

Thu, 16 Jul 2026 16:30:00 +0000

Type Values Removed Values Added
Description Yamcs is a mission control framework. Prior to 5.12.7, the Nashorn ScriptEngine used to evaluate user-supplied JavaScript algorithm text in yamcs-core/src/main/java/org/yamcs/algorithms/ScriptAlgorithmExecutorFactory.java was constructed without a ClassFilter, so a user with the ChangeMissionDatabase privilege could override an algorithm through the MdbOverrideApi.updateAlgorithm endpoint and supply JavaScript that reaches arbitrary Java classes (for example Java.type("java.lang.Runtime").getRuntime().exec(...)) to execute arbitrary OS commands as the Yamcs process; in the default configuration with no security.yaml the built-in guest user has superuser=true, making the issue reachable without authentication. This issue is fixed in versions 5.12.7 and 5.13.0, which disable algorithm editing by default.
Title Yamcs: Remote Code Execution via Mission Database algorithm override
Weaknesses CWE-470
CWE-94
CWE-95
References
Metrics cvssV3_1

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


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-07-16T18:02:19.337Z

Reserved: 2026-05-14T20:42:31.370Z

Link: CVE-2026-46562

cve-icon Vulnrichment

Updated: 2026-07-16T18:02:00.954Z

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-07-31T02:00:05Z

Weaknesses
  • CWE-470

    Use of Externally-Controlled Input to Select Classes or Code ('Unsafe Reflection')

  • CWE-94

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

  • CWE-95

    Improper Neutralization of Directives in Dynamically Evaluated Code ('Eval Injection')