Comments (5)
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.
I confirm that there is a replay attack.
Let H be a holder and C be the claimer.
- H calls send(id1, sig1) where sig1 has been signed by himself
- H signs keccak256(address(C)) = sig2 and publishes sig2 offline
- Someone (C ?) calls Claim(id1, sig2, address(C))
- 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.
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.
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.
I'm ktageek on twitter (not catageek, already taken). Following you now.
from burner-wallet.
Related Issues (20)
- Create a proposal on how the burner-wallet can prevent its private key from leaking when signing an external dapp's transactions HOT 1
- Improve burner-wallet development by using test or local networks
- Use estimateGas for gasLimit instead of arbitrary value HOT 1
- Support Light Clients
- Add Token Meta Transactions
- create continuous integration HOT 4
- Disable or hide the Metamask popoup HOT 1
- Create a Burner Wallet Web3 Provider for Web3connect HOT 3
- Retrieve xdai locked on the link contract
- send with link for large numbers failing
- Incorrect incognito detection
- Add Ethereum address to FUNDING.yml
- Upgrade contracts to GSN network HOT 2
- Using many deprecated dependencies
- scrypt dependency fails on node v12.12.0
- DAI doesn't show in BurnerWallet
- xDAI.io stuck when trying to convert Dai to xDai
- Transactions that are removed from blockchain are still shown in the DApp
- Robinsonwealth
- Top
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from burner-wallet.