Giter VIP home page Giter VIP logo

Comments (5)

riusricardo avatar riusricardo commented on August 9, 2024

I do not think it's a replay attack for the scope of this contract. It is a type of vault, so it is correct to have access to the funds where you are a signer.
My doubt is about what happens when it expires. It is not clear. Up to now it looks like it remains locked in the contract.

from burner-wallet.

catageek avatar catageek commented on August 9, 2024

I confirm that there is a replay attack.
Let H be a holder and C be the claimer.

  1. H calls send(id1, sig1) where sig1 has been signed by himself
  2. H signs keccak256(address(C)) = sig2 and publishes sig2 offline
  3. Someone (C ?) calls Claim(id1, sig2, address(C))
  4. if (sig1and sig2) are signed by H, then transfer(some ETH) to C

Later, H wants to reuse the wallet but to transfer funds to Z. C is not in the process.
5. H calls send(id2, sig3) where sig3 has been signed by himself
6. C has observed the previous tx and calls Claim(id2, sig2, address(C)) immediately
7. if (sig3 and sig2) are signed by H (this is the case), then transfer(some ETH) to C.

At step 6, C replays sig2 that was part of the previous cycle, and steals the funds of Z.
It means that each time H wants to reuse the wallet, C will take the funds by replaying sig2 again and again.

from burner-wallet.

riusricardo avatar riusricardo commented on August 9, 2024

Ok, I agree. It is a replay attack and a possible case for this contract. This contract should have similar mechanisms to an EOA. It should have a nonce that increases on every send transaction.

from burner-wallet.

austintgriffith avatar austintgriffith commented on August 9, 2024

Just doubled up the bounty on the audit and I want to make sure we reward the active audit of the contract. @riusricardo and @catageek could you guys him me up on Twitter or Telegram @austingriffith so I can make direct contact?

from burner-wallet.

catageek avatar catageek commented on August 9, 2024

I'm ktageek on twitter (not catageek, already taken). Following you now.

from burner-wallet.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.