OpenC3 COSMOS - Authenticated OS command injection via the `pypi_url` setting
Published: July 11, 2026
SECURITY IDENTIFIERS
- CVE: CVE-2026-77601 (NVD)
- GHSA: GHSA-vp3w-52v9-q57f
GEM
SEVERITY
CVSS v3.x: 8.8 (High)
UNAFFECTED VERSIONS
< 5.12.0
PATCHED VERSIONS
>= 7.2.1
DESCRIPTION
Summary
An authenticated user can execute arbitrary operating system commands
on the openc3-cosmos-cmd-tlm-api service. The pypi_url setting
is interpolated, unescaped, into a command line that is run through
a shell backtick when a plugin is installed. Shell metacharacters
in the setting value are executed by /bin/sh.
Impact
Arbitrary OS command execution as the openc3 user (uid 1001) inside
the cmd-tlm-api container. That process holds the Redis/Valkey password
and the bucket (S3) credentials and operates across every scope, so
command execution there exposes stored telemetry, commanding, and
credentials, and allows tampering with any scope.
In the Enterprise edition the prerequisite is the admin role; the admin already has plugin-driven code execution by design, so the practical effect there is that a configuration value becomes a shell command rather than a new privilege boundary being crossed. In the open-source edition any authenticated user reaches it.
RELATED
- https://nvd.nist.gov/vuln/detail/CVE-2026-77601
- https://rubygems.org/gems/openc3/versions/7.2.1
- https://github.com/OpenC3/cosmos/releases/tag/v7.2.1
- https://github.com/OpenC3/cosmos/pull/3489
- https://github.com/OpenC3/cosmos/commit/be70d1d836c83c3b084e768e31a399312d4cbe0b
- https://osv.dev/vulnerability/GHSA-vp3w-52v9-q57f
- https://advisories.gitlab.com/gem/openc3/CVE-2026-77601
- https://github.com/OpenC3/cosmos/security/advisories/GHSA-vp3w-52v9-q57f
- https://github.com/advisories/GHSA-vp3w-52v9-q57f
