openssl-encrypt has CORS wildcard with allow_credentials=True in standalone serversGHSA-c65f-x25w-62jv
Fix: jahlives/openssl_encrypt@809416bGHSA-c65f-x25w-62jv is a CWE-942 vulnerability in openssl-encrypt. A fix is available for openssl-encrypt — see the affected versions and patch details below.
Exploitation Status
No confirmed exploitation observed yet
- CISA’s own triage has not observed active exploitation or public proof-of-concept code for this CVE as of its last assessment.
Exploitation and automatability from CISA’s SSVC triage for GHSA-c65f-x25w-62jv.
EPSS Exploitation Probability
Probability of exploitation in the next 30 days, from FIRST.org EPSS.
Real-World Exposure
openssl-encryptReal-time download stats are indexed for npm and PyPI packages. This vulnerability affects PyPI packages — download data is not available via public APIs for these ecosystems.
Description
Summary
Both standalone servers configure CORS with allow_origins=["*"], allow_credentials=True, allow_methods=["*"], and allow_headers=["*"].
Affected Code
# server/key-server/app/main.py:86-92
# server/telemetry-server/app/main.py:23-29
app.add_middleware(
CORSMiddleware,
allow_origins=settings.cors_origins, # defaults to ["*"]
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
)
The docker-compose file (openssl_encrypt_server/docker-compose.yml:75) also defaults CORS_ORIGINS to *, and .env.example ships with CORS_ORIGINS=*.
Impact
This is the most permissive CORS configuration possible, allowing any website to make fully credentialed cross-origin requests to the API. An attacker's website could make authenticated API calls on behalf of any user who visits it.
Recommended Fix
- Remove wildcard defaults — require explicit origin configuration
- Never combine
allow_origins=["*"]withallow_credentials=True - Update
.env.examplewith placeholder domains instead of*
Fix
Fixed in commit 809416b on branch releases/1.4.x — changed CORS default from ["*"] to [] in both key-server and telemetry-server; added validation rejecting wildcard when debug=False.
Affected Packages
| Ecosystem | Package | Vulnerable range | Fix |
|---|---|---|---|
| 🐍PyPI | openssl-encrypt | all versions | 1.4.0pip install --upgrade 'openssl-encrypt==1.4.0' |
Affected Products
openssl encryptjahlivesDetection & mitigation playbook
Open-source dependencyDetect
Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for openssl-encrypt, including transitive dependencies — a direct dependency you never call can still pull in a vulnerable version.
Fix
Update openssl-encrypt to 1.4.0 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms GHSA-c65f-x25w-62jv is resolved across your whole dependency graph.
Workarounds
If you can't upgrade right away: gate or disable the affected feature, validate untrusted input at the boundary, and avoid passing attacker-controlled data into the vulnerable path. O3's runtime protection blocks exploitation in production as an interim safeguard until the upgrade lands.
Frequently Asked Questions
Is GHSA-c65f-x25w-62jv in your dependencies?
Find it across PyPI, including transitive dependencies.