{"id":"GHSA-w7wm-2425-7p2h","aliases":["GO-2025-3450"],"status":"published","title":"MarbleRun unauthenticated recovery allows Coordinator impersonation","description":"### Impact\n\nDuring 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.\nThis 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.\n\nIf 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.\n\nUnder 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.\n\nThis issue does **not** affect the following:\n\n* secrets and state of the legitimate Coordinator instances\n* integrity of workloads\n* certificates chaining back to the legitimate Coordinator root certificate\n\n### Patches\n\nThe issue has been patched in [`v1.7.0`](https://github.com/edgelesssys/marblerun/releases/tag/v1.7.0).\n\n### Workarounds\n\nConnections 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.","severity":{"version":"3.1","score":7.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:H/A:N","level":"high","from":"ghsa"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-285"],"published":"2025-02-04T21:23:48Z","modified":"2026-03-03T04:56:13Z","fixes":[{"ecosystem":"Go","package":"github.com/edgelesssys/marblerun","fixed_in":["1.7.0"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"Go","package":"github.com/edgelesssys/marblerun","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.7.0"}]}]},{"source":"osv","ecosystem":"Go","package":"github.com/edgelesssys/marblerun","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"1.7.0"}]}]},{"source":"osv","ecosystem":"Go","package":"github.com/edgelesssys/marblerun","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"1.7.0"}]}]}],"references":[{"url":"https://github.com/edgelesssys/marblerun/security/advisories/GHSA-w7wm-2425-7p2h","tags":["web","advisory"]},{"url":"https://github.com/edgelesssys/marblerun/commit/e4864f9f1d0f12a4a7d28514da43bcc75603a5b5","tags":["web","fix"]},{"url":"https://github.com/edgelesssys/marblerun/releases/tag/v1.7.0","tags":["web"]},{"url":"https://pkg.go.dev/vuln/GO-2025-3450","tags":["web"]},{"url":"https://github.com/advisories/GHSA-w7wm-2425-7p2h"},{"url":"https://github.com/edgelesssys/marblerun","tags":["package"]}],"sources":{"ghsa":[{"id":"GHSA-w7wm-2425-7p2h","title":"MarbleRun unauthenticated recovery allows Coordinator impersonation","description":"### Impact\n\nDuring 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.\nThis 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.\n\nIf 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.\n\nUnder 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.\n\nThis issue does **not** affect the following:\n\n* secrets and state of the legitimate Coordinator instances\n* integrity of workloads\n* certificates chaining back to the legitimate Coordinator root certificate\n\n### Patches\n\nThe issue has been patched in [`v1.7.0`](https://github.com/edgelesssys/marblerun/releases/tag/v1.7.0).\n\n### Workarounds\n\nConnections 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.","status":"published","published":"2025-02-04T21:23:48Z","modified":"2025-02-06T18:04:37Z","cvss":[{"version":"3.1","score":7.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:H/A:N","level":"high"}],"cwes":["CWE-285"],"updated_at":"2026-11-02T14:38:29.866763Z"}],"osv":[{"id":"GHSA-w7wm-2425-7p2h","title":"MarbleRun unauthenticated recovery allows Coordinator impersonation","description":"### Impact\n\nDuring 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.\nThis 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.\n\nIf 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.\n\nUnder 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.\n\nThis issue does **not** affect the following:\n\n* secrets and state of the legitimate Coordinator instances\n* integrity of workloads\n* certificates chaining back to the legitimate Coordinator root certificate\n\n### Patches\n\nThe issue has been patched in [`v1.7.0`](https://github.com/edgelesssys/marblerun/releases/tag/v1.7.0).\n\n### Workarounds\n\nConnections 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.","status":"published","published":"2025-02-04T21:23:48Z","modified":"2025-02-06T18:04:37Z","cvss":[{"version":"3.1","score":7.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:H/A:N","level":"high"}],"cwes":["CWE-285"],"updated_at":"2026-11-02T15:46:58.401149Z"},{"id":"GO-2025-3450","title":"MarbleRun unauthenticated recovery allows Coordinator impersonation in github.com/edgelesssys/marblerun","description":"MarbleRun unauthenticated recovery allows Coordinator impersonation in github.com/edgelesssys/marblerun","status":"published","published":"2025-02-05T23:27:43Z","modified":"2026-03-03T04:56:13.944991Z","updated_at":"2026-11-02T15:47:01.728182Z"}]}}
