Skip to content

feat!: forbid external note validation checks - #24644

Merged
nventuro merged 6 commits into
merge-train/fairies-v5from
nico/f-806-aztec-packages-history-note-non-nullification-proof-computes
Jul 13, 2026
Merged

feat!: forbid external note validation checks#24644
nventuro merged 6 commits into
merge-train/fairies-v5from
nico/f-806-aztec-packages-history-note-non-nullification-proof-computes

Conversation

@nventuro

Copy link
Copy Markdown
Contributor

This fixes an issue in which the note validation checks were not using the note's contract address to do the nhsk app siloing, but instead the executing contract's address. This is because app siloing kernel requests can only be done for the current contract, but the helpers did not prevent usage on external contracts.

They now contain an assertion preventing this, and have been renamed to reflect it.

@nventuro
nventuro requested a review from nchamo July 10, 2026 20:01
@nventuro
nventuro enabled auto-merge (squash) July 10, 2026 20:01
Comment thread noir-projects/aztec-nr/aztec/src/history/note.nr Outdated
Comment thread noir-projects/aztec-nr/aztec/src/history/note.nr Outdated
nventuro added 5 commits July 13, 2026 14:22
…history-note-non-nullification-proof-computes
The TXE bundle crossed the 14 MiB total limit. Raise the cap and add a
bump-log entry.
`validity_fails_for_foreign_contract_note` fabricated a non-existent note,
so `assert_local_note_was_valid_by` failed at the existence check rather than
at the contract-address guard. Create a real note under the default contract
and run the check as a different contract instead: existence passes (note
hashes are cross-contract) and the nullification guard rejects the foreign
note, which is the behaviour under test.
…history-note-non-nullification-proof-computes
@nventuro
nventuro merged commit 8b1903c into merge-train/fairies-v5 Jul 13, 2026
12 checks passed
@nventuro
nventuro deleted the nico/f-806-aztec-packages-history-note-non-nullification-proof-computes branch July 13, 2026 17:28
@PhilWindle PhilWindle added port-to-next Forward-port this merged PR into next and removed port-to-next Forward-port this merged PR into next labels Jul 21, 2026
nchamo pushed a commit that referenced this pull request Jul 23, 2026
This fixes an issue in which the note validation checks were not using
the note's contract address to do the nhsk app siloing, but instead the
_executing_ contract's address. This is because app siloing kernel
requests can only be done for the current contract, but the helpers did
not prevent usage on external contracts.

They now contain an assertion preventing this, and have been renamed to
reflect it.

(cherry picked from commit 8b1903c)
rangozd pushed a commit to rangozd/aztec-packages that referenced this pull request Aug 5, 2026
…ztecProtocol#24931)

Forward-ports the **noir / aztec-nr / contracts** slice of the v5-next →
next backlog (work merged to `v5-next` after the ~2026-07-08 cut that
reshaped `next`).

## Applied (clean cherry-picks, chronological)
- fix: prevent reception of messages too far into the future (AztecProtocol#24645)
- fix(aztec-nr): reject infinity ephemeral key in message encryption
(AztecProtocol#24665)
- fix(aztec-nr): tolerate malformed partial-note completion logs
(AztecProtocol#24668)
- docs(aztec-nr): document partial note completion trust model (AztecProtocol#24816)
- refactor(aztec-nr): shared no-op sync handler for stateless contracts
(AztecProtocol#24844)
- fix: dont panic on note msgs on contracts with no notes (AztecProtocol#24852)
- docs(noir-contracts): document standard-contract re-pin consequences
(AztecProtocol#24890)

## ⚠️ Needs owner conflict-resolution (conflict against reshaped `next`;
not included here)
Cherry-pick onto this branch and resolve:
- [ ] `git cherry-pick -x 9f1167e` — feat!: make inbox secrets be
multiple fields (AztecProtocol#24599)
- [ ] `git cherry-pick -x 4490597` — fix(aztec-nr): prevent recipient
forging a colliding handshake (AztecProtocol#24403)
- [ ] `git cherry-pick -x 8b1903c` — feat!: forbid external note
validation checks (AztecProtocol#24644)
- [ ] `git cherry-pick -x 10e339a` — fix(aztec-nr)!: compute note
property selectors from the packed layout (AztecProtocol#24689)
- [ ] `git cherry-pick -x 15c7a1e` — chore: clarify scope of packable
impl detection (AztecProtocol#24820)
- [ ] `git cherry-pick -x f66808c` — fix: change init and single
claim nullif to incl owner address, add testing utilities (AztecProtocol#24892)

Part of the manual v5-next → next backlog sweep. Draft until conflicts
are resolved and CI is green.
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