<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Yamcs-Core ( &lt; 5.12.7 ) — CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/products/yamcs-core---5.12.7-/</link><description>Trending threats, MITRE ATT&amp;CK coverage, and detection metadata. Fed continuously.</description><generator>Hugo</generator><language>en</language><managingEditor>hello@craftedsignal.io</managingEditor><webMaster>hello@craftedsignal.io</webMaster><lastBuildDate>Wed, 27 May 2026 00:07:37 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/products/yamcs-core---5.12.7-/feed.xml" rel="self" type="application/rss+xml"/><item><title>Yamcs Server-Side Code Injection via Janino Expression Engine</title><link>https://feed.craftedsignal.io/briefs/2026-05-yamcs-rce/</link><pubDate>Wed, 27 May 2026 00:07:37 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-05-yamcs-rce/</guid><description>A server-side code injection vulnerability exists in Yamcs algorithm evaluation engine, allowing an authenticated user with `ChangeMissionDatabase` privilege to achieve Remote Code Execution (RCE) by injecting a malicious Java payload via the Janino compiler.</description><content:encoded><![CDATA[<p>A server-side code injection vulnerability has been identified in Yamcs, specifically affecting the <code>org.yamcs.algorithms.JavaExprAlgorithmExecutionFactory</code> component. This flaw allows an authenticated user with the <code>ChangeMissionDatabase</code> privilege to inject arbitrary Java code into the algorithm evaluation engine. The application dynamically compiles and evaluates this user-controlled algorithm text using the Janino compiler, but lacks a secure sandbox to prevent malicious code execution. Exploitation leads to Remote Code Execution (RCE) on the underlying host operating system. Discovered and reported by Pablo Picurelli Ortiz, this vulnerability is present in Yamcs versions prior to 5.12.7.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker gains valid credentials to a Yamcs instance with an active processor (e.g., <code>instance=myproject</code>, <code>processor=realtime</code>).</li>
<li>The attacker authenticates to the Yamcs REST API using the acquired credentials, ensuring they possess the <code>SystemPrivilege.ChangeMissionDatabase</code> privilege.</li>
<li>The attacker crafts a malicious Java payload designed to execute arbitrary OS commands. This payload often utilizes <code>java.lang.Runtime.getRuntime().exec()</code> to initiate a reverse shell or establish an external webhook connection.</li>
<li>The attacker sends an authenticated HTTP <code>PATCH</code> request to the MDB override endpoint, targeting an existing algorithm (e.g., <code>copySunsensor</code>). The request body contains the malicious Java code within the <code>text</code> field of the algorithm definition.</li>
<li>The Yamcs server receives the <code>PATCH</code> request and updates the targeted algorithm&rsquo;s text with the attacker-supplied Java code.</li>
<li>The attacker triggers the evaluation of the modified algorithm. This can be achieved by sending telemetry data that the algorithm depends on, simulating real-world sensor readings.</li>
<li>The Yamcs server employs the Janino <code>SimpleCompiler</code> to dynamically compile the injected Java text into a Java class. Due to the absence of a restrictive <code>ClassLoader</code>, the compilation process proceeds without any security constraints.</li>
<li>The compiled malicious Java code is executed by the Yamcs server, resulting in arbitrary command execution on the host operating system. This allows the attacker to perform actions such as data exfiltration or lateral movement.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this vulnerability grants an attacker with application-level configuration privileges full control over the Yamcs server&rsquo;s underlying operating system. This can lead to arbitrary command execution, sensitive data exfiltration, and the potential for lateral movement within the network where the Yamcs server is hosted. The impact is severe, potentially compromising the entire system and its data.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade Yamcs to version 5.12.7 or later to patch CVE-2026-44632.</li>
<li>Implement strict access controls to limit the number of users with the <code>ChangeMissionDatabase</code> privilege.</li>
<li>Deploy the Sigma rules provided in this brief to detect attempts to inject malicious Java code into Yamcs algorithms.</li>
<li>Monitor network traffic for connections to the webhook URL provided in the IOC table.</li>
</ul>
]]></content:encoded><category domain="severity">critical</category><category domain="type">threat</category><category>rce</category><category>code-injection</category><category>yamcs</category></item></channel></rss>