Loading...
Skip to main content

CVE-2026-42085 — Vulnerability in openc3 — CVE Details

MEDIUM

OpenC3 COSMOS allows arbitrary writes to plugins directory via path-traversed config filenames

Published April 22, 2026Updated September 10, 2026Source: osv

Summary

### Summary OpenC3 COSMOS contains a design flaw in the `save_tool_config()` function that allows saving tool configuration files at arbitrary locations inside the shared `/plugins` directory tree by supplying crafted configuration filenames. Although the implementation sufficiently mitigates standard path traversal attacks, by canonicalizing filename to an absolute path, all plugins share this same root directory. That enables users to create arbitrary file structures and overwrite existing configuration files within the shared `/plugins` directory. ### Details In function `save_tool_config()` ([local_mode.rb](https://github.com/OpenC3/cosmos/blob/397abec0d57972881a2e8dc10902d0dce9c27f42/openc3/lib/openc3/utilities/local_mode.rb#L452)) responsible for saving user-supplied tool configuration, the desired saving directory is not sufficiently enforced, instead allowing writes inside entire `OPENC3_LOCAL_MODE_PATH`. ### PoC 1. Navigate to any tool that enables “Save Configuration” option in left-hand drop-down menu (here Limits Monitor as an example) 2. Save a new config with path traversal name using “../” sequences to escape desired directory (up to 3 levels high) 3. Observe new files created in /plugins directory by inspecting docker container directly (`openc3-COSMOS-cmd-tlm-api`) or using Bucket Explorer (`plugin_default`) <img width="811" height="584" alt="image" src="https://github.com/user-attachments/assets/015a59b4-8b18-4801-aef0-df4831d5c1c3" /> <img width="720" height="664" alt="image" src="https://github.com/user-attachments/assets/8ca4a5b7-ee45-4c3b-99f6-f41f974a74a7" /> ### Impact Modifying the data of other plugins

Advisory Timeline

  • First published April 22, 2026 (173 days ago).
  • Last revised September 10, 2026 — 140 days after initial publication.

Remediation

Upgrade to the fixed version using your package manager.

Bundler
Update openc3 to 7.0.0-rc3 or later
gem install openc3 -v 7.0.0-rc3
Bundler
Update openc3 to 6.10.5 or later
gem install openc3 -v 6.10.5

After upgrading, run your dependency scanner again to confirm the vulnerability is resolved.

Affected Packages (2)

Affects 1 ecosystem: rubygems (1).

PackageEcosystemAffectedFixed In
openc3
rubygems
7.0.0, 7.0.0.pre.rc1, 7.0.0.pre.rc2, 7.0.0.pre.rc3 (+6 more)7.0.0-rc3
openc3
rubygems
5.0.10, 5.0.11, 5.0.6, 5.0.7 (+69 more)6.10.5

Vulnerability Classification

Common Weakness Enumeration (CWE) identifiers for this vulnerability type.

CVSS Score Breakdown

What the CVSS (Common Vulnerability Scoring System) 4.3 score means for each attack dimension.

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

CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N

Frequently Asked Questions

What is CVE-2026-42085?
OpenC3 COSMOS allows arbitrary writes to plugins directory via path-traversed config filenames This vulnerability has been assigned a severity rating of MEDIUM (CVSS score: 4.3/10).
How do I check if my project is affected by CVE-2026-42085?
CVE-2026-42085 affects openc3. Use GeekWala's free vulnerability scanner to check your dependencies against CVE-2026-42085 and 200,000+ other known vulnerabilities.

Severity & Exploitability

CVSS Score
4.3

Exploitation requires specific conditions or has limited impact. Remediate within weeks.

Also Known As

GHSA-4jvx-93h3-f45h
PYSEC-2026-2243

Related CVEs

  • CVE-2026-42088
    CRITICAL

    OpenC3 COSMOS: Permissions Bypass Provides User Access to Unassigned Administrative Actions via Script Runner Tool

  • CVE-2026-77602
    CRITICAL

    OpenC3 COSMOS: Authenticated remote code execution via the user-writable config overlay (table definitions, cmd/tlm definitions, and script suites)

  • CVE-2026-42087
    CRITICAL

    OpenC3 COSMOS has SQL Injection in QuestDB Time-Series Database

  • CVE-2024-46977
    HIGH

    OpenC3 Path Traversal via screen controller (`GHSL-2024-127`)

  • CVE-2026-77601
    HIGH

    OpenC3 COSMOS: Authenticated OS command injection via the `pypi_url` setting

  • CVE-2024-47529
    MEDIUM

    OpenC3 stores passwords in clear text (`GHSL-2024-129`)

  • CVE-2026-42086
    MEDIUM

    OpenC3 COSMOS is Vulnerable to Self-XSS Through the Command Sender

  • CVE-2024-43795
    MEDIUM

    OpenC3 Cross-site Scripting in Login functionality (`GHSL-2024-128`)

Check if you're affected

Scan your dependencies to see if this vulnerability affects your projects.

Scan Your Dependencies