Skip to content

fix(migtd): zeroize migration secret copies - #1099

Merged
jyao1 merged 1 commit into
intel:mainfrom
haitaohuang:fix/migration-secret-zeroization
Nov 2, 2026
Merged

jyao1 merged 1 commit into
intel:mainfrom
haitaohuang:fix/migration-secret-zeroization

Conversation

@haitaohuang

Copy link
Copy Markdown
Contributor

Summary

  • zeroize rebind tokens and responder key/token temporaries
  • zeroize owned SPDM VDM payloads and send buffers
  • zeroize TLS receive buffers on success, failure, timeout, and cancellation
  • preserve existing wire formats and protocol control flow

Testing

Previously validated during branch preparation:

  • cargo fmt --check
  • cargo xtask lib-test --crates migtd
  • TLS and SPDM skip-RA EMU smoke tests
  • TLS and SPDM rebind skip-RA tests

@haitaohuang
haitaohuang force-pushed the fix/migration-secret-zeroization branch 3 times, most recently from 31da742 to d9f6e0c Compare October 28, 2026 00:34
@haitaohuang

Copy link
Copy Markdown
Contributor Author

CI status note: the previous CI attempt completed 56 checks successfully; all seven non-success jobs were infrastructure failures during Checkout sources (runner disconnects or checkout timeout), before compilation or tests ran.

The branch was retriggered without code/tree changes at d9f6e0c7, and the fresh checks are currently queued.

@haitaohuang

Copy link
Copy Markdown
Contributor Author

CI status update: this attempt completed 62 checks successfully. The sole failed check, Build (vmcall-raw / v2 / tls / release), lost hosted-runner communication during Checkout sources, before compilation began. This is an infrastructure failure.

@haitaohuang
haitaohuang force-pushed the fix/migration-secret-zeroization branch from d9f6e0c to 96087f3 Compare October 28, 2026 06:35
@haitaohuang

Copy link
Copy Markdown
Contributor Author

CI status update for the fresh run: SPDM Migration (Skip RA) lost hosted-runner communication during Checkout sources. The migration test did not run, so this is an infrastructure failure.

@haitaohuang

Copy link
Copy Markdown
Contributor Author

CI status update: Build (vmcall-vsock / v2 / tls / debug) also lost hosted-runner communication during Checkout sources. It did not reach compilation, so this is another infrastructure failure.

@haitaohuang

Copy link
Copy Markdown
Contributor Author

CI status update: Build (vmcall-vsock / v2 / spdm / release) also lost hosted-runner communication during Checkout sources. It did not reach compilation, so this is another infrastructure failure.

@haitaohuang

Copy link
Copy Markdown
Contributor Author

CI status update: the final failed job, Build (virtio-vsock / v2 / tls / debug), lost hosted-runner communication during Checkout sources. This attempt completed 59 checks successfully; none of the four failed jobs reached compilation or tests.

@haitaohuang
haitaohuang force-pushed the fix/migration-secret-zeroization branch from 96087f3 to a4c6aa9 Compare October 28, 2026 09:13
@haitaohuang

Copy link
Copy Markdown
Contributor Author

CI status update: Policy v2 Key Rotation with IGVM Attest exceeded one hour in Checkout sources. Policy generation and the integration test never ran, so this is an infrastructure failure. Fourteen checks remain active.

@haitaohuang

Copy link
Copy Markdown
Contributor Author

CI status update: three additional integration jobs failed during Checkout sources, before setup or tests ran:

  • Rebind Prepare (Mock Report)
  • SPDM Policy v2 with Mock Report
  • CoRIM with Direct Signer Anchor and Certificate Rotation

These are infrastructure failures. Four checks remain active.

@haitaohuang

Copy link
Copy Markdown
Contributor Author

CI status update: Build (virtio-vsock / v2 / tls / release) failed after one hour in Checkout sources. Compilation never started, so this is another infrastructure failure. One check remains active.

Guard rebind tokens, responder key and token temporaries, owned VDM payloads, SPDM send buffers, and TLS receive buffers so plaintext copies are wiped on success, failure, timeout, and cancellation.

Preserve existing wire formats and control flow, and cover token handling plus requester and responder cleanup across successful responses, encoding failures, transport errors, and cancellation.

Signed-off-by: Haitao Huang <haitaohuang@microsoft.com>
Assisted-by: GitHub Copilot CLI:GPT-5.6 Sol
@haitaohuang
haitaohuang force-pushed the fix/migration-secret-zeroization branch from a4c6aa9 to b0cbbe1 Compare October 28, 2026 14:11
@haitaohuang

Copy link
Copy Markdown
Contributor Author

CI status update: the final job, Build (vmcall-vsock / v1 / spdm / release), also failed after one hour in Checkout sources; compilation never began. The completed attempt had 57 successful checks and six infrastructure-only non-success jobs, so I retriggered CI with an unchanged-tree commit metadata refresh.

@jyao1
jyao1 merged commit b7e9ec7 into intel:main Nov 2, 2026
109 of 113 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants