GHSA-w7wm-2425-7p2h json
MarbleRun unauthenticated recovery allows Coordinator impersonation
published last yr. modified 8mo ago also GO-2025-3450
- cvss
- 7.1
- version 3.1, GitHub
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- —
- no score, EPSS covers CVEs only
- public exploits
- 0
- none known
Summary
### Impact
During recovery, a Coordinator only verifies that a given recovery key decrypts the sealed state, not if this key was provided by a party with access to one of the recovery keys defined in the manifest. This allows an attacker to manually craft a sealed state using their own recovery keys, and a manifest that does not match the rest of the state.
If network traffic is redirected from the legitimate coordinator to the attacker's Coordinator, a remote party is susceptible to impersonation if they verify the Coordinator without comparing the root certificate of the Coordinator against a trusted reference.
Under these circumstances, an attacker can trick a remote party into trusting the malicious Coordinator by presenting a manifest that does not match the actual state of the deployment.
This issue does **not** affect the following:
* secrets and state of the legitimate Coordinator instances * integrity of workloads * certificates chaining back to the legitimate Coordinator root certificate
### Patches
The issue has been patched in [`v1.7.0`](https://github.com/edgelesssys/marblerun/releases/tag/v1.7.0).
### Workarounds
Connections that purely authenticate based on a known Coordinator's root certificate, e.g. the one retrieved when using the `marblerun manifest set` CLI command, are not affected.
Patch / fix
- go github.com/edgelesssys/marblerun 1.7.0
Is GHSA-w7wm-2425-7p2h in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerCVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| GitHub | 3.1 | 7.1 | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:H/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| go | github.com/edgelesssys/marblerun | <1.7.0 |
1.7.0 |
Classification
- Weakness
-
- CWE-285 Improper Authorization
References
-
github.com
/edgelesssys/marblerun/commit/e4864f9f1d0f12a4a7d28514da43bcc75603a5b5
web, patch
-
github.com
/edgelesssys/marblerun/security/advisories/GHSA-w7wm-2425-7p2h
web, advisory
-
github.com
/edgelesssys/marblerun
package
-
github.com
/edgelesssys/marblerun/releases/tag/v1.7.0
web
-
pkg.go.dev
/vuln/GO-2025-3450
web
Sources
- GitHub Advisory GHSA-w7wm-2425-7p2h
- OSV GO-2025-3450
Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.