Conversation
aloknerurkar
approved these changes
Jun 5, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Describe your changes
This PR changes the order that validator registries are queried during
RewardManager.payProposer.Context
See https://cantina.xyz/code/e92be0b9-b4f2-4bf2-9544-ae285fcfc02d/findings?finding=107
Our validator registries do not validate BLS identities/signatures on-chain. However, pubkeys can be manually slashed via any of the registries, disincentivizing spoofed validator registrations.
The vanilla stake amount on mainnet is 1 eth, meaning the maximum punishment an attacker could incur is 1 eth in loss. Accumulated mev rewards for a pubkey can feasibly add up to more than 1 eth, possibly enabling an attacker to be profitable. The attacker could frontrun a valid receiver address from the
MevCommitMiddlewarecontract for example, by registering a pubkey with accumulated rewards, to the vanilla registry.To mitigate this attack, we should change the order of the queries in
_findReceiversuch that:IVanillaRegistry.ValidatorRecordMustNotExist.Following this change, the only negative outcome is that vanilla staked validators must trust all whitelisted symbiotic operators to not steal their rewards. This is an odd trust assumption and not ideal, but acceptable in practice.
The only fool proof long term solution here is to require that symbiotic and vanilla registered validators prove ownership of the BLS pubkeys they register.
Checklist before requesting a review