Skip to content

Commit a968789

Browse files
authored
Add note in MultiSignerERC7913 about adding invalid signers (#6241)
1 parent f7b54f5 commit a968789

1 file changed

Lines changed: 7 additions & 0 deletions

File tree

contracts/utils/cryptography/signers/MultiSignerERC7913.sol

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,13 @@ abstract contract MultiSignerERC7913 is AbstractSigner {
114114
*
115115
* * Each of `newSigners` must be at least 20 bytes long. Reverts with {MultiSignerERC7913InvalidSigner} if not.
116116
* * Each of `newSigners` must not be authorized. See {isSigner}. Reverts with {MultiSignerERC7913AlreadyExists} if so.
117+
*
118+
* NOTE: This function does not validate that signers are controlled or represent appropriate entities. Integrators
119+
* must ensure signers are properly validated before adding them. Problematic signers can compromise
120+
* the multisig's security or functionality. Examples include uncontrolled addresses (e.g., `address(0)`),
121+
* the account's own address (which may cause recursive validation loops), or contracts that may unintentionally
122+
* allow arbitrary validation (e.g. using the identity precompile at `address(0x04)`, which would return the
123+
* ERC-1271 magic value for any `isValidSignature` call).
117124
*/
118125
function _addSigners(bytes[] memory newSigners) internal virtual {
119126
for (uint256 i = 0; i < newSigners.length; ++i) {

0 commit comments

Comments
 (0)