OpenC3 COSMOS: Authenticated OS command injection via the `pypi_url` setting
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Code execution
- Confidentiality · integrity · availability
- High · High · High
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub. Impact type from CWE-78.
Summary
OpenC3 COSMOS provides the functionality needed to send commands to and receive data from one or more embedded systems. From 5.12.0 until 7.3.0, an authenticated actor can write the pypi_url setting through set_setting at POST /openc3-api/api, then cause OpenC3::PluginModel.install_phase2 in openc3/lib/openc3/models/plugin_model.rb to interpolate the value into a shell command while installing a plugin with Python dependency metadata. Shell metacharacters in the setting are interpreted by the command shell, allowing arbitrary operating-system commands to run as the openc3 service user with access to Redis and bucket credentials. Open-source deployments permit any authenticated user to reach the affected operations, while Enterprise deployments require an administrator. This issue is fixed in version 7.3.0.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- No
- Technical impact
- Total
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 | 5.12.0 to before 7.3.0 | 7.3.0 | Patch available | CNA |
| — | openc3 (RubyGems) | 5.12.0 to before 7.3.0 | 7.3.0 | Patch available | GHSA-vp3w-52v9-q57f |
- cosmos VendorOpenC3 Affected 5.12.0 to before 7.3.0 Fixed in 7.3.0 Patch available CNA
- openc3 (RubyGems) Vendor— Affected 5.12.0 to before 7.3.0 Fixed in 7.3.0 Patch available GHSA-vp3w-52v9-q57f
Remediation
- Fix · CNA cosmos (OpenC3) Fixed in 7.3.0
- Fix · GHSA-vp3w-52v9-q57f openc3 (RubyGems) Fixed in 7.3.0 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2026-77601
- 2026-10-03 Alias added: GHSA-vp3w-52v9-q57f
- 2026-10-29 EPSS moved to the 50th–90th percentile
References
More OpenC3 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-54090 Code injection in OpenC3 cosmos CVSS 3.1CRITICAL 9.9
- TI-2026-30456 OpenC3 COSMOS: Administrative Actions via the Script Runner Tool CVSS 3.1CRITICAL 9.6
Sources
- CVE-2026-77601 · CVE Program
- CVE-2026-77601 · NVD
- FIRST EPSS
- GHSA-vp3w-52v9-q57f · 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