Skip to content

vdaf/prio3: document prep sequencing requirement - #677

Merged
bwesterb merged 1 commit into
mainfrom
bas/zk9
Jul 31, 2026
Merged

vdaf/prio3: document prep sequencing requirement#677
bwesterb merged 1 commit into
mainfrom
bas/zk9

Conversation

@bwesterb

@bwesterb bwesterb commented Jul 31, 2026

Copy link
Copy Markdown
Member

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Devin Review found 1 potential issue.

View 1 additional finding in Devin Review.

Open in Devin Review

Comment on lines +369 to +371
// The caller must only call PrepNext with a message produced by a successful
// PrepSharesToPrep call over one authenticated prep share from each aggregator.
// PrepNext does not independently verify the FLP proof.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟨 Output share released without verifying joint randomness when the prep message omits it

The verification step in PrepNext (vdaf/prio3/internal/prio3/prio3.go:377-383) is skipped entirely if msg.joinRand is nil, even when the aggregator's own state expects a corrected joint randomness seed (state.correctedJointRandSeed != nil). A caller (or a malicious peer supplying the prep message in a deployment that forwards it) can therefore obtain an output share for a measurement whose joint randomness was never validated, weakening the robustness guarantee of Prio3. The new documentation added in this PR shifts the responsibility to the caller instead of enforcing it in the library, which conflicts with the repository policy of validating inputs at API boundaries (AGENTS.md "Validate inputs at API boundaries").

Open in Devin Review

Was this helpful? React with 👍 or 👎 to provide feedback.

@bwesterb
bwesterb merged commit 5e228c7 into main Jul 31, 2026
14 checks passed
@bwesterb
bwesterb deleted the bas/zk9 branch July 31, 2026 20:54
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.

2 participants