CVE-2026-46562: Yamcs: Remote Code Execution via Mission Database algorithm override
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.
Security readout for executives and security teams
Plain-English summary
Yamcs versions before 5.12.7 can let algorithm editing become server command execution. In insecure default setups, this may be reachable without authentication because the guest user can be superuser when no security.yaml is present. Successful abuse could fully compromise the Yamcs process and the host context it runs in.
Executive priority
Treat this as urgent for any operational Yamcs deployment. The business risk is full server compromise of mission control infrastructure, with confidentiality, integrity, and availability impact. Upgrade and privilege review should be scheduled immediately for exposed or default-configured systems.
Technical view
The advisory describes Nashorn JavaScript algorithm evaluation without a ClassFilter in ScriptAlgorithmExecutorFactory. An actor able to update mission database algorithms through MdbOverrideApi.updateAlgorithm can cause arbitrary Java class access and OS command execution as the Yamcs process. The issue is fixed in 5.12.7 and 5.13.0, which disable algorithm editing by default.
Likely exposure
Highest exposure is Yamcs before 5.12.7, especially deployments without security.yaml or with broad ChangeMissionDatabase privileges. Systems exposing Yamcs administrative or API functionality to untrusted networks should be prioritized. The source bundle names yamcs/yamcs only; no other products are evidenced.
Exploitation context
The CVSS vector is network, low complexity, no user interaction, and potentially no privileges in the default no-security configuration. The bundle does not show CISA KEV listing or another cited source confirming active exploitation, so active exploitation should not be stated.
Researcher notes
Key research areas are privilege boundaries around ChangeMissionDatabase, presence of security.yaml, and whether algorithm editing remains enabled. Evidence is source-limited to the advisory, CVE data, commits, and release pages; no active exploitation evidence is provided.
Mitigation direction
Upgrade Yamcs to 5.12.7 or 5.13.0.
Review Yamcs vendor guidance before enabling algorithm editing again.
Configure security.yaml; avoid the default guest superuser exposure.
Remove ChangeMissionDatabase from users who do not require it.
Limit Yamcs administrative/API access to trusted operators and networks.
Validation and detection
Inventory Yamcs versions and flag any instance before 5.12.7.
Check whether security.yaml exists and is actively enforced.
Review users and roles for ChangeMissionDatabase privilege assignments.
Confirm algorithm editing is disabled after upgrade.
Verify remediation against the Yamcs advisory and release notes.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cwe · low confidence lookup
CWE-470: Exact CWE lookup
Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
Code execution and unsafe deserialization weaknesses often justify reviewing execution behavior and process telemetry. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
Code execution and unsafe deserialization weaknesses often justify reviewing execution behavior and process telemetry. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
The CVE wording references code or command execution, so execution technique review may help defensive triage. This is a Glexia inferred lookup path, not an official MITRE, ATT&CK, or CVE Program mapping.
The CVE wording references database injection or access, so collection and exfiltration review may help. This is a Glexia inferred lookup path, not an official MITRE, ATT&CK, or CVE Program mapping.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
1CVSS vectors
3Timeline events
1ADP providers
6Source links
SSVC decision data
CISA-ADPCISA Coordinator
Timestamp
Version
2.0.3
Exploitation: pocAutomatable: yesTechnical Impact: total
CVSS vector scores
1 official score
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
CWE-470 · source CWE mapping
Use of Externally-Controlled Input to Select Classes or Code ('Unsafe Reflection')
Use of Externally-Controlled Input to Select Classes or Code ('Unsafe Reflection') represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.
Improper Control of Generation of Code ('Code Injection')
Improper Control of Generation of Code ('Code Injection') represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.
Improper Neutralization of Directives in Dynamically Evaluated Code ('Eval Injection')
Improper Neutralization of Directives in Dynamically Evaluated Code ('Eval Injection') represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.