monad-developers / monad-developers/ultrafuzz

Controller refresh rejects an authenticated prepared temporary snapshot publication

Open
#768 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

deferred-post-v0.1
Dominant language
TypeScript
Stars
85
Forks
18
Avg merge
11h 10m
Merged PRs (30d)
194

Description

A crash after a refreshed execution snapshot temporary tree is fully written but before its atomic rename leaves an authenticated prepared journal entry alongside the matching temporary publication. An authorized refresh resume currently validates the snapshot root before reconciling that exact temporary publication and fails closed instead of safely removing it and rebuilding.\n\nAcceptance criteria:\n- During explicit controller-refresh recovery, reconcile only temporary publication names matching the single authenticated prepared generation.\n- Keep unrelated generations, final directories, malformed names, and symlinks fail-closed.\n- Add a regression for the abrupt-exit filesystem state and preserve the existing published-final recovery.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the controller-refresh recovery path that validates the snapshot root, then trace how authenticated prepared journal entries and temporary publication names are reconciled. Reproduce the abrupt-exit state where the temporary tree is complete but not atomically renamed. Done means the matching temporary publication is safely rebuilt only for the authenticated generation, while unrelated, malformed, final, and symlink entries remain fail-closed and published-final recovery still passes.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
backend, security
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.