Quick answers
- Is CVE-2024-47529 exploited in the wild?
- No. Junglewise Threat Intelligence has no report of CVE-2024-47529 being exploited in the wild.
- How severe is CVE-2024-47529?
- Low severity, with a CVSS score of 3.1, published 2 October 2024.
- Which products and versions are affected?
- @openc3/tool-common (npm) SEMVER:introduced=0,fixed=5.19.0; Openc3 Cosmos < 5.19.0; openc3 (PyPI) GIT:introduced=0,fixed=b5ab34fe7fa54c0c8171c4aa3caf4e03d6f63bd7|ECOSYSTEM:introduced=0,fixed=5.19.0; openc3 (RubyGems) ECOSYSTEM:introduced=0,fixed=5.19.0.
- Is there a fix for CVE-2024-47529?
- Yes. @openc3/tool-common (npm): upgrade to 5.19.0 or later; openc3 (PyPI): upgrade to 5.19.0 or later; openc3 (RubyGems): upgrade to 5.19.0 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
- How is CVE-2024-47529 attacked?
- It is attacked over the network, in a web application.
- Am I affected by CVE-2024-47529?
- Check whether you run @openc3/tool-common (npm), Openc3 Cosmos, openc3 (PyPI) or one of the others listed at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.
How to fix
- @openc3/tool-common (npm): upgrade to 5.19.0 or later
npm install @openc3/tool-common@5.19.0 - openc3 (PyPI): upgrade to 5.19.0 or later
pip install "openc3>=5.19.0" - openc3 (RubyGems): upgrade to 5.19.0 or later
bundle update openc3
Technical details
OpenC3 COSMOS stores user authentication passwords as cleartext in the web browser's LocalStorage, violating secure credential storage practices (CWE-312, CWE-522). When combined with XSS vulnerabilities (GHSL-2024-128), an attacker can inject malicious JavaScript into a victim's session to directly read `localStorage.openc3Token` or the password field, then exfiltrate these credentials. The attack requires the victim to access a malicious redirect parameter on the login page; no special privileges are needed beyond network access to the COSMOS instance. The vulnerability was fixed in version 5.19.0 by switching to session token-based authentication instead of storing passwords client-side.
Affected products
- OpenC3 COSMOS < 5.19.0
- OpenC3 openc3 (RubyGems) 5.0.6 through 5.18.0
- OpenC3 @openc3/tool-common (npm) < 5.19.0
- OpenC3 openc3 (PyPI) 0.1.0, 5.9.2b0 through 5.18.0
Identifiers
- CVE-2024-47529
- GHSA-4xqv-47rm-37mm
- PYSEC-2024-121
Timeline
- 2024-07-01: disclosed: Vulnerabilities reported via GitHub private vulnerability reporting
- 2024-10-02: patched: OpenC3 COSMOS v5.19.0 released with fixes
- 2024-10-02: advisory: GHSA-4xqv-47rm-37mm, CVE-2024-47529, PYSEC-2024-121 published