Skip to main content

OpenC3 COSMOS CVE-2026-42087

| EUVDEUVD-2026-27063 CRITICAL
SQL Injection (CWE-89)
2026-05-04 GitHub_M GHSA-v529-vhwc-wfc5
9.6
CVSS 3.1 · GitHub Advisory
View

Attack ChainAIDerived

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

  1. Access
    Obtain low-privilege credentials
  2. Delivery
    Authenticate to COSMOS web interface
  3. Exploit
    Craft malicious HTTP request to get_tlm_values endpoint
  4. Execution
    Inject SQL payload in start_time parameter
  5. Persist
    Execute arbitrary SQL in QuestDB
  6. Impact
    Exfiltrate or delete telemetry data

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Parameterized queries, prepared statements
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Persistence

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

Exploitation Conditions

Requires valid authentication credentials with 'tlm' permission, which is granted by default to Admin, Operator, Viewer, and Runner roles in standard COSMOS deployments. No additional configuration vulnerabilities or non-default settings are required-the flaw exists in default installations of affected versions. Attack is remotely executable (AV:N) against any network-accessible COSMOS instance with standard role-based access control. The vulnerable get_tlm_values endpoint is a core telemetry retrieval function, not an optional feature, meaning all deployments using QuestDB for time-series storage are exposed. Exploitation does NOT require: administrative privileges, physical access, social engineering, or chaining with other vulnerabilities. Limiting factor: attacker must first obtain valid user credentials through phishing, credential stuffing, or insider access. However, low-privilege 'Viewer' accounts intended for dashboard-only access are sufficient, lowering the barrier compared to vulnerabilities requiring administrative roles.

Impact

CVSS 9.6 (Critical) with network vector, low complexity, and changed scope accurately reflects the technical severity, but real-world risk requires contextualization. The vulnerability requires low-privilege authentication (PR:L) yet grants disproportionate impact due to COSMOS's permissive default role model-any user with read-only telemetry access can delete mission-critical historical data. Attack complexity is genuinely low (AC:L)-the GitHub advisory includes screenshots of working payloads requiring no specialized tools beyond HTTP clients. Changed scope (S:C) is justified as the vulnerability crosses trust boundaries from application-layer permissions into database-layer operations. However, EPSS data is not provided, and the vulnerability is NOT in CISA KEV, suggesting exploitation remains theoretical or undisclosed. The primary impact is availability (deleting telemetry archives for aerospace/industrial control systems) and confidentiality (exfiltrating sensitive operational data), with integrity risk limited to historical records rather than real-time command streams. Organizations using COSMOS in air-gapped or authentication-gated deployments face lower risk than internet-exposed instances. Critical risk factors: (1) proof-of-concept publicly available since GitHub advisory publication, (2) affects operational technology environments where data integrity is paramount, (3) minimal attacker skill required due to classic SQL injection pattern. Mitigating factors: (1) authentication required, (2) no evidence of active exploitation, (3) patch available in release candidate. Priority is HIGH for production COSMOS deployments managing critical telemetry, MEDIUM for development/testing environments with network exposure.

Exploit ScenarioDerived

An aerospace engineer with Viewer role credentials (intended for read-only telemetry monitoring) authenticates to a COSMOS instance managing satellite ground station data. They craft an HTTP POST request to the get_tlm_values RPC endpoint, injecting the payload 1' OR 1=1; DROP TABLE telemetry_archive; -- into the start_time parameter. The vulnerable tsdb_lookup function concatenates this input directly into a SQL query executed against QuestDB, breaking out of the WHERE clause to execute the DROP TABLE command. Within seconds, years of historical telemetry data is permanently deleted, disrupting mission analysis and regulatory compliance. Alternatively, the attacker uses UNION SELECT to exfiltrate proprietary spacecraft performance metrics to a competitor. The GitHub advisory provides working proof-of-concept payloads demonstrating both scenarios.

Act Now Prioritize within 24-48h. Why: CRITICAL severity.
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

SQL injection in OpenC3 COSMOS 6.7.0 to 7.0.0-rc2 allows authenticated users with minimal 'tlm' (telemetry viewer) privileges to execute arbitrary SQL commands against the QuestDB time-series database. Attackers can exfiltrate all telemetry data, drop tables, or manipulate historical records via the get_tlm_values RPC endpoint by injecting malicious SQL into the start_time parameter. Vendor-released patch available in version 7.0.0-rc3 (commit 9ba60c0). No active exploitation confirmed (not in CISA KEV), but GitHub advisory includes working proof-of-concept payloads demonstrating both data extraction and table deletion.

RemediationAI

Upgrade to OpenC3 COSMOS version 7.0.0-rc3 or later, which replaces string interpolation with parameterized queries (commit 9ba60c09c8836a37a2e4ea67ab35fe403e041415). Release available at https://github.com/OpenC3/cosmos/releases/tag/v7.0.0-rc3. If immediate patching is not feasible, implement these compensating controls with noted trade-offs: (1) Restrict 'tlm' permission to only trusted users-audit role assignments in COSMOS configuration to remove Viewer/Runner roles from untrusted accounts, though this breaks read-only telemetry access workflows. (2) Deploy web application firewall (WAF) rules to block SQL metacharacters (single quotes, semicolons, UNION keywords) in start_time/end_time parameters of /openc3-api/api requests to get_tlm_values endpoint, though sophisticated attackers may bypass signature-based filters using encoding. (3) Enable QuestDB query logging and monitor for abnormal queries containing DROP, ALTER, or UNION statements originating from COSMOS application user, though this provides detection rather than prevention. (4) Network segmentation: isolate COSMOS instances on non-routable networks accessible only via VPN with multi-factor authentication, reducing attack surface but not eliminating insider threat risk. No compensating control fully mitigates the vulnerability-patching remains the definitive solution.

Affected VersionsENISA

cosmos 6.7.0, < 7.0.0-rc3

Affected Packages

pypi openc3 fix: 7.0.0
rubygems openc3 fix: 7.0.0-rc3
euvd cosmos_6_7_0 fix: 7.0.0-rc3

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

The vulnerability resides in the tsdb_lookup function within cvt_model.rb (Ruby) and cvt_model.py (Python), which construct SQL queries for QuestDB (a time-series database optimized for telemetry storage) by directly concatenating user-supplied start_time and end_time parameters into WHERE clauses. The affected code performs string interpolation (e.g., WHERE T0.PACKET_TIMESECONDS < '#{start_time}') rather than parameterized queries, violating CWE-89 SQL injection prevention guidance. QuestDB supports PostgreSQL wire protocol, making it susceptible to classic SQL injection techniques including UNION-based data extraction and DDL statement execution (DROP TABLE). The get_tlm_values endpoint exposes this function to any authenticated user with 'tlm' permission (granted to Admin, Operator, Viewer, and Runner roles by default), significantly expanding the attack surface beyond privileged administrators. The patch (commit 9ba60c0) replaces string concatenation with parameterized queries using exec_params (Ruby) and cursor.execute with placeholder parameters (Python), binding user input as query parameters rather than embedding it in the SQL string.

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 9.6 CRITICAL
AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/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
None
Scope
Changed
Confidentiality
High
Integrity
High
Availability
None

Lifecycle Timeline

2
Patch available
May 04, 2026 - 19:17 EUVD
CVE Published
May 04, 2026 - 17:18 nvd
CRITICAL 9.6

DescriptionGitHub Advisory

OpenC3 COSMOS provides the functionality needed to send commands to and receive data from one or more embedded systems. From version 6.7.0 to before version 7.0.0-rc3, a SQL injection vulnerability exists in the Time-Series Database (TSDB) component of COSMOS. The tsdb_lookup function in the cvt_model.rb file directly places user-supplied input into a SQL query without sanitizing the input. As a result, a user can break out of the initial SQL statement and execute arbitrary SQL commands, including deleting data. This issue has been patched in version 7.0.0-rc3.

Executive ViewAI

Why It Matters

OpenC3 COSMOS versions 6.7.0 through 7.0.0-rc2 contain a SQL injection vulnerability in the telemetry data retrieval function that allows authenticated users with basic viewer permissions to execute arbitrary commands against the underlying time-series database. An attacker with low-privilege access could exfiltrate sensitive telemetry data, destroy historical records, or corrupt the database, compromising mission-critical operational visibility and data integrity across all dependent systems.

Business Impact: Severe
Compensating Controls

If immediate upgrade to version 7.0.0-rc3 or later is not feasible: (1) Restrict network access to the get_tlm_values RPC endpoint via firewall or reverse proxy to authorized internal IP ranges only; (2) Implement database query logging and real-time alerting for SQL commands containing suspicious patterns (DROP, DELETE, UNION, comment sequences); (3) Deploy database-level read-only views for the 'tlm' user role to prevent data modification; (4) Conduct immediate audit of all users holding 'tlm' privileges and revoke unnecessary assignments; (5) Enable database transaction logging to support recovery if compromise is detected.

Threat Intelligence Overview

EPSS Score
0.0%
Top 93% exploitable
Threat Intel
1
1 source
Social Media
2
Sightings
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 CRITICAL
CISA KEV No
Public POC No
EPSS 0.0%
Patch available Yes
Active threat No
Deciding rule
CRITICAL severity
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
Out-of-Cycle
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact
Very High
Technical Impact
Total

Priority Score

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

Attack Technique

SQL injection exploits the way applications construct database queries by mixing user input directly into SQL statements.

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-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

CVE-2026-77394 HIGH POC
7.6 Sep 23

OpenC3 COSMOS versions 5.0.6 through 7.2.x contain a stored cross-site scripting flaw in the shared-screen BUTTON widget

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