Skip to content

Add-to: check add to from against the stored original - #42

Merged
markmnl merged 1 commit into
mainfrom
addto-stored-participant
Oct 29, 2026
Merged

markmnl merged 1 commit into
mainfrom
addto-stored-participant

Conversation

@markmnl

@markmnl markmnl commented Oct 29, 2026

Copy link
Copy Markdown
Owner

Clarifies the receiving steps for an add-to whose original is stored. A new step, 6.3.3.3 in SPECIFICATION.md (and the matching bullet in SPEC.md), says add to from MUST be in the stored message's from or to, else REJECT code 1.

Why: step 1 only checks add to from against the incoming header's own from/to, which the sender writes. Without checking the stored message, any host that knows a message's hash (it's the pid of any later reply) can name itself in from and add to from and have the stored original delivered to an address it picks. NOTE I and §12 already require add to from to be an original participant; this states where the receiver checks it. Found by a security review of fmsgd; the implementation fix is markmnl/fmsgd#52.

🤖 Generated with Claude Code

The stored-parent add-to steps checked terminal and time travel but not
that add to from is a participant of the stored original. The only check
listed (step 1) is against the incoming header's own from and to, which
the sender writes, so an outsider could name themselves there and have a
stored message attached to an address of their choosing. NOTE I and
section 12 already require add to from to be an original participant;
this makes the receiving steps check it against the stored message.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@markmnl
markmnl merged commit b2c79a6 into main Oct 29, 2026
@markmnl
markmnl deleted the addto-stored-participant branch October 29, 2026 11:04
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.

1 participant