{
  "id": "security/go/edgelesssys__ego/2026-10-13-host-forced-marble-mode-config-replacement",
  "title": "EGo: untrusted host can switch any enclave into a Marble and replace signed config files, env, and argv",
  "category": "security",
  "type": "integrity-bypass",
  "severity": "medium",
  "ecosystem": "go",
  "project": {
    "owner": "edgelesssys",
    "repo": "ego",
    "url": "https://github.com/edgelesssys/ego"
  },
  "affected_versions": [
    "github.com/edgelesssys/ego <= 1.10.0"
  ],
  "patched_versions": [
    "github.com/edgelesssys/ego 1.10.1"
  ],
  "status": "published",
  "summary": "An EGo app that was not meant to run under MarbleRun could still be started in Marble mode by a malicious host. With a fake MarbleRun Coordinator, the host could then supply a crafted configuration and take integrity control of the app's embedded files, environment variables, and arguments. The attestation evidence did not show whether the app ran standalone or as a Marble, so a remote verifier could not detect this. Fixed in 1.10.1, where Marble mode is an opt-in in enclave.json and changes the enclave's UniqueID.",
  "discovered_at": "2026-10-13T00:00:00+03:00",
  "updated_at": "2026-10-19T16:51:00+03:00",
  "public": true,
  "credit": "ucsurf",
  "disclosure": {
    "channel": "pvr",
    "ghsa_id": "GHSA-qfwr-jv37-64hm",
    "cve_id": null,
    "url": "https://github.com/edgelesssys/ego/security/advisories/GHSA-qfwr-jv37-64hm",
    "reported_at": "2026-10-13T10:22:56+03:00",
    "accepted_at": "2026-10-13T18:00:00+03:00",
    "published_at": "2026-10-19T16:34:34+03:00"
  },
  "cvss": {
    "vector": "CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:C/C:L/I:H/A:N",
    "score": 6.7
  },
  "pr": null
}
