fix(signInWithEthereum): secure SIWE verification with domain/nonce v…#1544
Open
maho0638 wants to merge 1 commit into
Open
fix(signInWithEthereum): secure SIWE verification with domain/nonce v…#1544maho0638 wants to merge 1 commit into
maho0638 wants to merge 1 commit into
Conversation
…alidation in all examples Replaced insecure `client.verifyMessage` with `verifySiweMessage` in 3 backend code examples to prevent cross-domain replay attacks. Added explicit `domain` and `nonce` validation as required by EIP-4361. This ensures that signatures are not only cryptographically valid but also intended for the correct application and not reused. Updates documentation to reflect the use of `verifySiweMessage` instead of `verifyMessage`. Part of base#1502.
Collaborator
🟡 Heimdall Review Status
|
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.
Security Fix
This PR addresses the security vulnerability reported in #1502 where
client.verifyMessagewas used without validating the SIWE message'sdomainandnoncefields. This left applications vulnerable to cross-domain replay attacks.Changes Made
Updated
docs/base-account/reference/core/capabilities/signInWithEthereum.mdx:import { verifySiweMessage } from 'viem/siwe';client.verifyMessagewithverifySiweMessage.domain: req.headers.hostandnonceparameters to ensure full EIP-4361 compliance.verifySiweMessage.Impact
Developers copying these examples will now have secure authentication backends by default, protecting against signature replay attacks across different domains.
Fixes part of #1502.