CVE-2026-77602 json
OpenC3 COSMOS: Authenticated remote code execution via the user-writable config overlay (table definitions, cmd/tlm definitions, and script suites)
published last mo. modified last mo. also EUVD-2026-85566 , GHSA-jjq7-m736-w977
- cvss
- 9.9
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.7%
- EPSS 0.7% chance of exploitation in 30 days, percentile 54%
- public exploits
- 0
- none known
Summary
OpenC3 COSMOS provides the functionality needed to send commands to and receive data from one or more embedded systems. From 5.1.0 until 7.3.0, authenticated non-administrator users can write content under targets_modified/ that is later executed by multiple configuration paths below the intended code-execution privilege tier. Table and command or telemetry definitions are processed through ConfigParser, PacketConfig, GENERIC_READ_CONVERSION, or GENERIC_WRITE_CONVERSION, allowing ERB rendering or Ruby and Python evaluation, while openc3-cosmos-script-runner-api/scripts/run_suite_analysis.rb executes suite procedure files through require. Storage uploads, screen saves, and script creation can place content in the overlay, and triggering table processing, a cmd/tlm reload, or suite analysis executes the content in cmd-tlm-api, decom microservices, or Script Runner with access to internal credentials and data. This issue is fixed in version 7.3.0.
Patch / fix
- rubygems openc3 7.3.0
- openc3 cosmos 7.3.0
- github.com/OpenC3/cosmos@7194335 commit
- github.com/OpenC3/cosmos@7a1538a commit
- github.com/OpenC3/cosmos#3488 pull request
Is CVE-2026-77602 in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerCISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- no
- Technical impact
- total
- Assessed
- last mo.
Exploit prediction
0.72% chance of exploitation in the next 30 days, higher than 54% of all scored CVEs (FIRST EPSS, 2026-11-11).
Exploits and checks
- github.com https://github.com/OpenC3/cosmos/security/advisories/GHSA-jjq7-m736-w977 referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 9.9 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H |
| GitHub | 3.1 | 9.9 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| rubygems | openc3 | >=5.1.0, <7.3.0 |
7.3.0 |
Affected products
- OpenC3 cosmos
Classification
- Weakness
-
- CWE-94 Improper Control of Generation of Code
References
-
github.com
/OpenC3/cosmos/pull/3488
web
-
github.com
/OpenC3/cosmos/commit/71943352a28128ef3e7e894319d97a656b5cd4f2
web
-
github.com
/OpenC3/cosmos/commit/7a1538a4626f82c0d1540fcaa27ffdcbbd71ff81
web
-
github.com
/OpenC3/cosmos/security/advisories/GHSA-jjq7-m736-w977
exploit, web
-
github.com
/OpenC3/cosmos
package
Sources
- CVE List CVE-2026-77602
- GitHub Advisory GHSA-jjq7-m736-w977
- NVD CVE-2026-77602
Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.