Описание
MarbleRun unauthenticated recovery allows Coordinator impersonation
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.
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.
Пакеты
github.com/edgelesssys/marblerun
< 1.7.0
1.7.0
7.1 High
CVSS3
Дефекты
7.1 High
CVSS3