Skip to content

← Public intelligence

PyPI package

openc3

Open actionable advisories and recorded vendor fixes. This public package view has no inventory attached and cannot establish whether your deployment is affected. A vendor fix never resolves your finding; verify your installed version and the source guidance.

Open advisories

8 actionable advisories, newest first. Withdrawn advisories and news are excluded. Coverage is partial.

  1. Critical, CVSS 9.6PyPIAmendedPublished

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

    CVE-2026-42088 · GHSA-2wvh-87g2-89hr

    Affected
    • PyPI openc3 < 7.0.0
    Fixed in
    7.0.0· Vendor fix available
    Issue
    Vulnerability Type: Execution with Unnecessary Privileges Attack type: Authenticated remote Impact: Data disclosure/manipulation, privilege escalation Affected components: The following docker images: • Openc3inc/openc3-COSMOS-script-runner-api The Script Runner widget allows users to execute Python and Ruby scripts directly from the openc3-COSMOS-script-runner-api container. Because all the docker containers share a network, users can execute specially crafted scripts to bypass the API permissions check and perform administrative actions, including reading and modifying data inside the Redis database, which can be used to read secrets and change COSMOS settings, as well as read and write to the buckets service, which holds configuration, log, and plugin files. These actions are normally only available from the Admin Console or with administrative privileges. Any user with permission to create and run scripts can connect to any service in the docker network. <img width="940"…

    Recommended action: Upgrade to 7.0.0 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:osv.dev (1)github.com (2)Source checked Evidence →
  2. Critical, CVSS 9.6PyPIAmendedPublished

    OpenC3 COSMOS has SQL Injection in QuestDB Time-Series Database

    CVE-2026-42087 · GHSA-v529-vhwc-wfc5

    Affected
    • PyPI openc3 >= 6.7.0, < 7.0.0
    Fixed in
    7.0.0· Vendor fix available
    Issue
    Vulnerability Type: CWE-89: Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection') Attack type: Authenticated remote Impact: Telemetry data disclosure and deletion Affected components: openc3-tsdb (QuestDB) A SQL injection vulnerability exists in the Time-Series Database (TSDB) component of COSMOS. The tsdblookup function in the cvtmodel.rb file directly places user-supplied input into a SQL query without sanitizing the input. As a result, a user can break out of the initial SQL statement and execute arbitrary SQL commands, including deleting data. <img width="940" height="719" alt="image" src="https://github.com/user-attachments/assets/2c2dd294-6192-49d3-b670-fd7b82c05be0" / Figure 1: Source code vulnerable to SQL injection Additionally, the gettlmvalues RPC endpoint only requires “tlm” permissions, allowing any user with the Admin, Operator, Viewer, or Runner roles to send a request to the TSDB. This permission is defined in roles-permissions.md to…

    Recommended action: Upgrade to 7.0.0 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:osv.dev (1)github.com (2)Source checked Evidence →
  3. Medium, CVSS 4.3PyPIAmendedPublished

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

    CVE-2026-42085 · GHSA-4jvx-93h3-f45h

    Affected
    • PyPI openc3 < 6.10.5
    Fixed in
    6.10.5· Vendor fix available
    Issue
    OpenC3 COSMOS contains a design flaw in the savetoolconfig() 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 savetoolconfig() (localmode.rb) responsible for saving user-supplied tool configuration, the desired saving directory is not sufficiently enforced, instead allowing writes inside entire OPENC3LOCALMODEPATH. 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…

    Recommended action: Upgrade to 6.10.5 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:osv.dev (1)github.com (2)Source checked Evidence →
  4. High, CVSS 8.1PyPIAmendedPublished

    OpenC3 COSMOS: Hijacked session token can be used to reset password for persistence

    CVE-2026-42084 · GHSA-wgx6-g857-jjf7

    Affected
    • PyPI openc3 < 6.10.5
    Fixed in
    6.10.5· Vendor fix available
    Issue
    The OpenC3 password change functionality allows a user to change their password without providing the old password, by accepting a valid session token instead. In assumed breach scenarios, this behaviour can be exploited by an attacker who has already obtained a valid session token, to gain persistence in hijacked account (including admin) and prevent legitimate users from accessing the account. Details The design flaw in authentication model (authentication.rb) allows for interchangeable use of password and session tokens for user authentication As old tokens are not revoked upon password reset, an attacker who has obtained a valid session token can continue to authenticate and change the account’s password even after the victim resets it, thereby maintaining persistent control over the compromised account. PoC 1. Attacker is logged in user account with hijacked valid session token, but not knowing the actual password 2. Legitimate user, as preventive action, changes his…

    Recommended action: Upgrade to 6.10.5 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:osv.dev (1)github.com (2)Source checked Evidence →
  5. Medium, CVSS 4.6PyPIAmendedPublished

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

    CVE-2026-42086 · GHSA-ffq5-qpvf-xq7x

    Affected
    • PyPI openc3 < 7.0.0
    Fixed in
    7.0.0· Vendor fix available
    Issue
    The Command Sender UI uses an unsafe eval() function on array-like command parameters, which allows a user-supplied payload to execute in the browser when sending a command. This creates a self-XSS risk because an attacker can trigger their own script execution in the victim’s session, if allowed to influence the array parameter input, for example via phishing. If successful, an attacker may read or modify data in the authenticated browser context, including session tokens in local storage. Details The unsafe eval() usage on user-supplied ARRAY parameters happens in convertToValue method in CommandSender.vue PoC 1. Using a drop-down form, choose any command that supports ARRAY parameters, 2. Inside square brackets “[…]” place a JavaScript code to be executed 3. Send command to CmdTlmServer using dedicated “Send” button 4. Observe JavaScript code being executed in the current browser session context Below example uses INST ARYCMD to execute simple JavaScript code snippet…

    Recommended action: Upgrade to 7.0.0 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:osv.dev (1)github.com (2)Source checked Evidence →
  6. Medium, CVSS 5.9PyPIAmendedPublished

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

    CVE-2024-47529 · GHSA-4xqv-47rm-37mm

    Affected
    • PyPI openc3 < 5.19.0
    Fixed in
    5.19.0· Vendor fix available
    Issue
    OpenC3 COSMOS stores the password of a user unencrypted in the LocalStorage of a web browser. This makes the user password susceptible to exfiltration via Cross-site scripting (see GHSL-2024-128). Note: This CVE only affects Open Source edition, and not OpenC3 COSMOS Enterprise Edition Impact This issue may lead to Information Disclosure.

    Recommended action: Upgrade to 5.19.0 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:osv.dev (1)github.com (2)Source checked Evidence →
  7. High, CVSS 7.1PyPIAmendedPublished

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

    CVE-2024-46977 · GHSA-8jxr-mccc-mwg8

    Affected
    • PyPI openc3 < 5.19.0
    Fixed in
    5.19.0· Vendor fix available
    Issue
    A path traversal vulnerability inside of LocalMode's openlocalfile method allows an authenticated user with adequate permissions to download any .txt via the ScreensController#show on the web server COSMOS is running on (depending on the file permissions). Note: This CVE affects all OpenC3 COSMOS Editions Impact This issue may lead to Information Disclosure.

    Recommended action: Upgrade to 5.19.0 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:osv.dev (1)github.com (2)Source checked Evidence →
  8. Medium, CVSS 5.1PyPIAmendedPublished

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

    CVE-2024-43795 · GHSA-vfj8-5pj7-2f9g

    Affected
    • PyPI openc3 < 5.19.0
    Fixed in
    5.19.0· Vendor fix available
    Issue
    The login functionality contains a reflected cross-site scripting (XSS) vulnerability. Note: This CVE only affects Open Source Edition, and not OpenC3 COSMOS Enterprise Edition Impact This issue may lead up to Remote Code Execution (RCE).

    Recommended action: Upgrade to 5.19.0 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:osv.dev (1)github.com (2)Source checked Evidence →