OpenC3 COSMOS: Arbitrary write to plugins directory via path-traversed config filenames
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- Low
- Impact type
- —
- Confidentiality · integrity · availability
- None · Low · None
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub.
Summary
OpenC3 COSMOS provides the functionality needed to send commands to and receive data from one or more embedded systems. Prior to versions 6.10.5 and 7.0.0-rc3, 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. This issue has been patched in versions 6.10.5 and 7.0.0-rc3.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| OpenC3 | cosmos | before 6.10.5; 7.0.0.pre.rc1 to before 7.0.0-rc3 | 6.10.5, 7.0.0-rc3 | Patch available | CNA |
| — | openc3 (RubyGems) | before 6.10.5 | 6.10.5 | Patch available | GHSA-4jvx-93h3-f45h |
| — | openc3 (RubyGems) | 7.0.0.pre.rc1 to before 7.0.0-rc3 | 7.0.0-rc3 | Patch available | GHSA-4jvx-93h3-f45h |
- cosmos VendorOpenC3 Affected before 6.10.5; 7.0.0.pre.rc1 to before 7.0.0-rc3 Fixed in 6.10.5, 7.0.0-rc3 Patch available CNA
- openc3 (RubyGems) Vendor— Affected before 6.10.5 Fixed in 6.10.5 Patch available GHSA-4jvx-93h3-f45h
- openc3 (RubyGems) Vendor— Affected 7.0.0.pre.rc1 to before 7.0.0-rc3 Fixed in 7.0.0-rc3 Patch available GHSA-4jvx-93h3-f45h
Remediation
- Fix · CNA cosmos (OpenC3) Fixed in 6.10.5, 7.0.0-rc3
- Fix · GHSA-4jvx-93h3-f45h openc3 (RubyGems) Fixed in 6.10.5 Advisory →
- Fix · GHSA-4jvx-93h3-f45h openc3 (RubyGems) Fixed in 7.0.0-rc3 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2026-42085
- 2026-10-03 Alias added: GHSA-4jvx-93h3-f45h
References
Patch 2
More OpenC3 Cosmos vulnerabilities
- TI-2025-20781 Weak password requirements in OpenC3 COSMOS v6.0.0 allow attackers to bypass authentication via a brute force attack. CVSS 3.1CRITICAL 9.8
- TI-2025-20780 OpenC3 COSMOS before v6.0.2 was discovered to contain hardcoded credentials for the Service Account. CVSS 3.1CRITICAL 9.8
- TI-2025-20779 A remote code execution (RCE) vulnerability in the Plugin Management component of OpenC3… CVSS 3.1CRITICAL 9.8
- TI-2025-20778 An issue in the /script-api/scripts/ endpoint of OpenC3 COSMOS before 6.1.0 allows… CVSS 3.1CRITICAL 9.1
- TI-2026-30456 OpenC3 COSMOS: Administrative Actions via the Script Runner Tool CVSS 3.1CRITICAL 9.6
- TI-2026-30455 OpenC3 COSMOS: SQL Injection in QuestDB Time-Series Data Base CVSS 3.1CRITICAL 9.6
Sources
- CVE-2026-42085 · CVE Program
- CVE-2026-42085 · NVD
- FIRST EPSS
- GHSA-4jvx-93h3-f45h · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences