MetaMask / metamask-mobile

Mobile web browser providing access to websites that use the Ethereum blockchain
https://metamask.io
Other
2.12k stars 1.09k forks source link

[Bug]: Signature Failure on ERC-712 Transactions with MetaMask iOS App Version 7.10 and Above via WalletConnect #7913

Closed linvex closed 9 months ago

linvex commented 9 months ago

Describe the bug

When using MetaMask iOS App version 7.10 and above (including 7.11) as a signing address for the Safe Multisig wallet, the signature fails when signing an ERC-712 transaction for transferring ETH Token via WalletConnect. However, signing ERC20 tokens does not present an issue. The suspected reason is that the value in the data field of the signature data passed through WalletConnect is "0x" when transferring Ether, and the handling of this part of the content by MetaMask App is inappropriate, leading to signature failure. This issue did not occur in version 7.9.0, suggesting that adjustments in signature-related logic made in version 7.10 may be the cause.

Expected behavior

Signature process should complete successfully for both ETH and ERC20 tokens in Safe Multisig wallet through WalletConnect using MetaMask iOS App version 7.10 and above.

Screenshots/Recordings

MetaMask iOS App Sign Data:

SCR-20231204-kogh

Safe Error Page:

SCR-20231204-kory

Steps to reproduce

  1. Open the Safe Wallet website, https://app.safe.global.
  2. Click on the top right corner to switch to the Goerli network, click 'connect wallet', and select WalletConnect.
  3. Scan the QR code using the MetaMask App with version 7.10 and above to connect the wallet.
  4. Click 'create wallet' (skip this step if a wallet has been created).
  5. After the wallet is created, create a new transaction to transfer Goerli ETH and click on 'sign'.
  6. Click on 'sign' in the MetaMask App.
  7. Then, an error occurs on the Safe page.

Error messages or log output

No response

Version

7.10.0

Build type

None

Device

iPhone, iOS 16.6.1

Operating system

iOS

Additional context

No response

Severity

No response

linvex commented 9 months ago

Hi @linvex Have this issue been resolved yet? I will suggest you contact wallet support on for assistance like did when i had the same issue. You can even open a ticket WALLET CONNECT SUPPORT

@Lucas6348 Nope, the issue persists, even with the latest version of MetaMask, 7.11.0. However, this operation does not present a problem with similar wallets like TrustWallet and imToken Wallet.

linvex commented 9 months ago

@Lucas6348 so, I think it's not an issue with WalletConnect.

gauthierpetetin commented 9 months ago

Hi @ezgi-cengiz , we've classified this bug as a sev2, but feel free to update the severity label if not appropriate

linvex commented 9 months ago

Hi @ezgi-cengiz , we've classified this bug as a sev2, but feel free to update the severity label if not appropriate

Hi @gauthierpetetin , I would like to know if and when this issue will be resolved. I am unable to use the Safe multi-signature wallet with the Metamask app. An exact time of resolution or software version would be great and much appreciated!

DmitryBespalov commented 9 months ago

+1 on this issue

nftgeek commented 9 months ago

+1 Same here.

polymorpher commented 9 months ago

@gauthierpetetin We have several users who exclusively use MetaMask mobile as signatories for multi-sig wallets (such as Gnosis Safe). They are all getting blocked and unable to use their funds for weeks. We would love to know when this will be fixed and released, and if there are workarounds in the meantime to address the urgent situation

polymorpher commented 9 months ago

nevermind, I found a workaround after reading https://github.com/MetaMask/metamask-mobile/pull/7886, by filling in the data with something and creating custom transactions

christopherferreira9 commented 9 months ago

Hi! This should be fixed by https://github.com/MetaMask/metamask-mobile/pull/7886 and will be released on version 7.13.0.

nftgeek commented 9 months ago

Hi! This should be fixed by #7886 and will be released on version 7.13.0.

Sounds good. any ETA for this 7.13.0 release? @christopherferreira9

christopherferreira9 commented 9 months ago

It should be by mid this month but I will update this issue once I have a definitive date.

nftgeek commented 9 months ago

It should be by mid this month but I will update this issue once I have a definitive date.

Can it be released a bit faster? because this signing issue is affecting tens of thousands of users across Gnosis Safe and multiple NFT marketplaces and so on.

If possible, please release a hotfix that fixes this issue only. Thanks. 🙏🏻