Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
55 changes: 55 additions & 0 deletions advisories/github-reviewed/2026/07/GHSA-5469-xxr8-3chv.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
{
"schema_version": "1.5.0",
"id": "GHSA-5469-xxr8-3chv",
"modified": "2026-07-25T00:00:00Z",
"published": "2026-07-25T00:00:00Z",
"summary": "Missing Authentication + Permissive CORS Enables Remote Private Key Theft in Crynux Node",
"details": "The Crynux Node WebUI (FastAPI server on port 7412) has no authentication on any API endpoint and uses permissive CORS (allow_origins=[\"*\"] with allow_credentials=True). This allows any website to silently extract the node operator's private key and replace it with an attacker's key via cross-origin JavaScript.\n\nVulnerable endpoints:\n- POST /manager/v1/account \u2014 returns full private key in response\n- PUT /manager/v1/account \u2014 replaces key with no authentication\n- GET /manager/v1/system \u2014 exposes system info\n- GET /manager/v1/account \u2014 exposes wallet address, balance\n\nAttack chain:\n1. Victim visits any website containing attacker-controlled JavaScript\n2. JS sends POST to localhost:7412/manager/v1/account (no auth, CORS allows)\n3. Response contains full private key\n4. JS sends PUT to replace key with attacker's key\n5. All future mining earnings redirected to attacker\n\nCVSS: 9.8 CRITICAL (AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H)\nCWE: CWE-306 (Missing Authentication), CWE-942 (Permissive Cross-domain Policy)",
"affected": [
{
"package": {
"ecosystem": "PyPI",
"name": "crynux-node"
},
"ranges": [
{
"type": "SEMVER",
"events": [
{
"introduced": "0"
}
]
}
]
}
],
"references": [
{
"type": "WEB",
"url": "https://github.com/crynux-network/crynux-node/issues/430"
},
{
"type": "WEB",
"url": "https://github.com/crynux-network/crynux-node/blob/main/src/crynux_server/server/middleware.py"
},
{
"type": "WEB",
"url": "https://github.com/crynux-network/crynux-node/blob/main/src/crynux_server/server/v1/account.py"
}
],
"severity": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H"
}
],
"database_specific": {
"cwe_ids": [
"CWE-306",
"CWE-942"
],
"severity": "CRITICAL",
"github_reviewed": false,
"github_reviewed_at": null
}
}