Description
Emissary is a P2P based data-driven workflow engine. In versions 8.42.0 and below, Executrix.getCommand() is vulnerable to OS command injection because it interpolates temporary file paths into a /bin/sh -c shell command string without any escaping or input validation. The IN_FILE_ENDING and OUT_FILE_ENDING configuration keys flow directly into these paths, allowing a place author who can write or modify a .cfg file to inject arbitrary shell metacharacters that execute OS commands in the JVM process's security context. The framework already sanitizes placeName via an allowlist before embedding it in the same shell string, but applies no equivalent sanitization to file ending values. No runtime privileges beyond place configuration authorship, and no API or network access, are required to exploit this vulnerability. This is a framework-level defect with no safe mitigation available to downstream implementors, as Executrix provides neither escaping nor documented preconditions against metacharacters in file ending inputs. This issue has been fixed in version 8.43.0.
Published: 2026-04-18
Score: 8.8 High
EPSS: < 1% Very Low
KEV: No
Impact: OS Command Injection
Action: Immediate Patch
AI Analysis

Impact

Executrix.getCommand() in Emissary versions 8.42.0 and earlier concatenates unvalidated IN_FILE_ENDING and OUT_FILE_ENDING values directly into a /bin/sh -c command string. Because the framework performs no escaping or input validation on these values, a configuration author who can edit a .cfg file can insert arbitrary shell metacharacters. The injected characters are executed by the JVM process with its local security context, giving the attacker the ability to run any OS command on the system where the framework is deployed.

Affected Systems

Emissary, a peer‑to‑peer workflow engine produced by the National Security Agency, is affected for all releases up to and including 8.42.0. The issue has been fixed in version 8.43.0, so installations that have not applied this update remain vulnerable.

Risk and Exploitability

The CVSS score of 8.8 classifies the vulnerability as high severity. Exploitation requires only the ability to modify configuration files, a privilege that does not depend on network or API access. EPSS data is not available and the vulnerability is not listed in the CISA KEV catalog. Because the injected command runs under the JVM process’s security context, successful exploitation can lead to full system compromise in environments where configuration authors have write access.

Generated by OpenCVE AI on April 18, 2026 at 08:41 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade Emissary to version 8.43.0 or later to eliminate the command injection flaw.
  • If upgrading immediately is not possible, restrict write access to .cfg files to only trusted, least‑privileged users so that attackers cannot modify the IN_FILE_ENDING or OUT_FILE_ENDING values.
  • Perform a thorough audit of existing configuration files to confirm that no malicious or unexpected file ending values are present.
  • Monitor the system for abnormal process execution patterns that might indicate exploitation of the command injection path.

Generated by OpenCVE AI on April 18, 2026 at 08:41 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-3p24-9x7v-7789 Emissary has an OS Command Injection via Unvalidated IN_FILE_ENDING / OUT_FILE_ENDING in Executrix
History

Sat, 18 Apr 2026 01:45:00 +0000

Type Values Removed Values Added
Description Emissary is a P2P based data-driven workflow engine. In versions 8.42.0 and below, Executrix.getCommand() is vulnerable to OS command injection because it interpolates temporary file paths into a /bin/sh -c shell command string without any escaping or input validation. The IN_FILE_ENDING and OUT_FILE_ENDING configuration keys flow directly into these paths, allowing a place author who can write or modify a .cfg file to inject arbitrary shell metacharacters that execute OS commands in the JVM process's security context. The framework already sanitizes placeName via an allowlist before embedding it in the same shell string, but applies no equivalent sanitization to file ending values. No runtime privileges beyond place configuration authorship, and no API or network access, are required to exploit this vulnerability. This is a framework-level defect with no safe mitigation available to downstream implementors, as Executrix provides neither escaping nor documented preconditions against metacharacters in file ending inputs. This issue has been fixed in version 8.43.0.
Title Emissary has an OS Command Injection via Unvalidated IN_FILE_ENDING / OUT_FILE_ENDING in Executrix
Weaknesses CWE-116
CWE-78
References
Metrics cvssV3_1

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


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-04-18T01:16:27.661Z

Reserved: 2026-04-03T20:09:02.827Z

Link: CVE-2026-35582

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-04-18T02:16:11.510

Modified: 2026-04-18T02:16:11.510

Link: CVE-2026-35582

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-04-18T08:45:41Z

Weaknesses