Open danfinlay opened 6 years ago
Metamask doesn't stop the seed phrase generation even though the user interrupted it and imported an account with an existing seed phrase.
This leads to metamask showing a new, generated seed phrase while using the imported one.
When a user imports an account using a seed phrase while metamask is in the seed phrase generation state, the seed phrase generation should stop.
Another solution could also be to not allow the user to import using an account seed phrase when meta mask is in the seed phrase generation state.
Metamask doesn't stop the seed phrase generation process even though the user imported an existing account using an account seed phrase. This leads to metamask showing a wrong seed phrase to the user.
• OS: macOs 10.13
• Browser :- Firefox
• MetaMask: 4.9.2 (latest firefox version)
• Beta UI
Hey @EmanuelKuhn - thanks for reporting, and thanks for the thorough writeup and repro steps.
This appears to be a very small edge case. A user would have to pause after completing a substantial portion of onboarding, close the browser, then choose to import a different pre-existing seed. It's also worth noting that the user must have the correct seed saved somewhere, which makes the wrong seed marginally less harmful.
Still, it's definitely a bug, and we will continue to treat any issue in seed phrase logic with gravity. It very nearly fits the description of this bounty by "show[ing] a user a seed phrase on first setup that would not work for later restoring their accounts." Unsure if this counts as "first setup," but the team appreciates your report and will pay out the bounty. Expect a payment via Gitcoin from @danfinlay shortly.
A fix for this issue has been merged in https://github.com/MetaMask/metamask-extension/pull/5229. This bounty will remain open for anyone who can find an issue in production with first-time seed phrase generation logic.
Hey @EmanuelKuhn to pay you, you'll need to click "Start work" on the attached bounty via GitCoin.
Sorry @adipurnama83 for removing you, if you do find another instance of this issue, you will be paid out, but I had to remove you so I could pay out Emmanuel for now.
Do I also need to formally submit work through gitcoin?
Yeah you do, sorry!
Hi @danfinlay just FYI - you're able to pay out @EmanuelKuhn without a submit work action now by using the 'Advanced Payout' feature... this sends a tip to @EmanuelKuhn via his Github username.
Even better in this case might be just simply sending a tip, because it seems like you guys want to keep this open for future hunters.
Thanks for the tips!
It will be another bit before I can send, but I will send soon.
Aha @vs77bb : This tip is over the per-transaction limit of $500.00. Please try again later or contact support.
.
Will have to do a normal payout.
So that means I do need @EmanuelKuhn to click "submit work" before I can payout.
@danfinlay i just increased your payout amount limit to $5000 if that helps!
⚡️ A tip worth 10.00000 ETH (1735.47 USD @ $173.55/ETH) has been granted to @EmanuelKuhn for this issue from @danfinlay. ⚡️
Nice work @EmanuelKuhn! Your tip has automatically been deposited in the ETH address we have on file.
Thanks @danfinlay -- do you want to close the issue on Gitcoin ?
Nope, the bounty stands for any new takers!
On Sep 13, 2018, at 12:08 PM, Kevin Owocki notifications@github.com wrote:
Thanks @danfinlay https://github.com/danfinlay -- do you want to close the issue on Gitcoin https://gitcoin.co/issue/MetaMask/metamask-extension/3127/1155 ?
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/MetaMask/metamask-extension/issues/3127#issuecomment-421118211, or mute the thread https://github.com/notifications/unsubscribe-auth/AAhIj3SCxiJQ-aTHRT31xrEUeHlUcRqtks5uaq0ogaJpZM4RxRM_.
Issue Status: 1. Open 2. Started 3. Submitted 4. Done
Work has been started.
These users each claimed they can complete the work by 313 years, 2 months from now. Please review their action plans below:
1) dunncreativess has started work.
I've noted that MetaMask team endevours to make the Seed recovery process as smooth as possible. While I don't have a specific way to recreate a failure in recovering seed phrases (have tried ethereum-js code I found on Reddit but couldn't recreate their failure) through manual or automated means, I do have some suggestions on how to improve the experience for people facing issues. I've noted that the vast majority of people complaining about their seed phrases are facing issues with properly remembering or inputting their seed phrase, and it's no particular issue with MetaMask at all.. I think I have a contribution that I thought of while trolling these errors, and would like to submit it even for a fraction of the bounty. 2) wazdevelopment has started work.
web phishers bugs detection have experience as a advanced malware detector and security analysis data mining and data recovery 3) andriytyurnikov has started work.
CAUTION
This is a bounty to fix a bug which does not exist. It already consumed time worth thousands of dollars.
STAY AWAY 4) perpat84316 has started work.
Get job done what ever ot takes 5) darkwingduckies has started work.
I will try to replicate this rare but worrisome seed phrase bug using metamask and my previous cryptography experience. 6) esurk99 has started work.
create various test conditions to generate and check seed phrases 7) coderrick has started work.
Will do my best using the information provided to replicate this bug. 8) olumonday has started work.
My Components of an action plan include
A well-defined description of the goal to be achieved Tasks/ steps that need to be carried out to reach the goal People who will be in charge of carrying out each task When will these tasks be completed (deadlines and milestones) Resources needed to complete the tasks Measures to evaluate progress 9) bermolin02 has started work.
ig uunnulkjjj fhiioij yeti ii gjikjh 10) sonightrus has started work.
Установлю приложение на 10 различных смартфонах и на 3 компьютера (включая 1 ноутбук), сохраню сид фразы, после чего переустановлю приложения. 11) naxsun has started work.
I have found an issue where a user can access their original wallet my the seed phrase, but it does not restore any additional accounts that were created in metamask.
So the original Metamask account was created by importing a wallet created on MEW, a seed phrase was created by Metamask.
Additional wallets were created in Metamask, and from what I understand these are tied to the original seed phrase. However, when restoring the account by the seed phrase only the original wallet is restored, but the additional created wallets are no longer there. So would the user loose access to the funds in the newly created wallets?
To be sure: I did not loose any funds, as I just created these additional wallets for test net stuff. I'm not looking for any compenstation. I'm a satisfied user from Metamask and no complaints.
Would this be of interest for you? I am able to reproduce it. 12) angara79 has started work.
Буду грызть гранит науки...пробовать писать исправлять и снова писать.... 13) vivekbirana has started work.
i will run automated tests read the code and try trial and error methods if necessary 14) cdmullins69 has started work.
I already found a bug on coinbase deed phrase 15) zackilo26 has started work.
Im going to look into this and help as much as possible. 16) cjsaveas has started work.
I'd like to give it a try, hope I can finish this job. 17) benkz91 has started work.
Try most websites capable with meta mask and see witch ones link up 18) kukank9 has started work.
I will try to reproduce this bug 19) cmalfesi has started work.
I will try to reproduce using different environments and setting up different parameters and configurations. Also trying to force some code changes on the fly. 20) developer-piyush has started work.
fixing bugd that does'nt exist 21) adipurnama83 has started work.
any bug in passcarse I found there are many bugs in the security of metask 22) ballistic541 has started work.
i will create multiple wallet address, transact betwixt them, and examine code functionality of seed phrase recovery in order to exploit any bugs within source and means of repairing or upgrading functionality. 23) graomelo has started work.
I want to work on this project. I have the requirements and I've found a bug. 24) dausady has started work.
He tenido problemas para restaurar las direcciones y aparte no me deja conectar en Etherscam en su navegador ni en el de Walletconnect 25) mehdi559914 has started work.
tanks for you 😘and a saport for me is a good 26) mrpleerson has started work.
of course I promise to publish in the content 27) fisalayoubi has started work.
I will write out a full report on proof there is a glitch 28) hugos has started work.
I'm a software engineer but I will not be touching any code, as mentioned on the description I'll be showing a manual reproduction that happened to me when trying to restore my Phone account to my browser one, using the same seed phrase, the one phone account was not restored, but rather a completely different one. 29) jochy1873 has started work.
Buenos días trabajar más y mejorar la recuperación de la wallets de META MASK ES MUY CONPLICADO PARA LAS PERSONAS NIEVAS POR EJEMPLO ME PASO A MI YME TARDE DÍAS EN COJERLE EL PASO INCLUSO HAY PERSONAS QUE TODAVÍA NO LA HANPODIDO RECUPERAR 30) reynosog has started work.
buenas tardes, tengo este problema (a veces los usuarios han informado que la frase inicial que se les dio originalmente no restaura sus cuentas originales). Cambie de navegador ya que a la pagina donde necesito vincular con metamask en mi navegador Brave no funcion y en Chrome si !! 31) imyioda has started work.
Personalmente, mi cuenta no se ha restaurado con la frase secreta, o alguien me resuelve el problema o gano el premio 😂 32) momoftwins1 has started work.
I have experienced the issue myself. I’m able to reproduce manually the case: connecting with the same seed phrase under 2 different Chrome profiles shows 2 different wallets under Account 1. 33) ddoubledd84 has started work.
Try it again and check all addresses 34) caunhox001 has started work.
Ve may bay nay diem den la dau 35) andrel2s has started work.
if it really work, you will help me, i will help others. I like people have something who they need have it 36) llm18888333287 has started work.
Ddedddd virgin xdh Zedd birthday x adds Sweden CCS w BBC adds cxx 37) chenggiant has started work.
Will have an automated stress test to reproduce it. 38) chuoils01 has started work.
Tôi sẽ bắt đâug làm công việc thankiu vẻyrymuch 39) xiaoliuhu886 has started work.
错误详情
信息:Incorrect locale information provided
代码:RangeError
RangeError: Incorrect locale information provided
at new DateTimeFormat (
hi people, i have find that most of the bugs here can be explained by an unnoticed change in BIP implementation in wallet. Dont know if this was the case but here its probably the answer. The BIP implementation just changed so even if you have correct mnemonic phrase you will recover other address, because BIP makes address indexation different for each implementation. So you just need to try previous versions of wallet for recovery.
The explanation its that each BIP says how to index the address, so even if you have same keys it depends in BIP implementation which wallet you will retrieve.
Please confirm if you have your issue solved. Talk me to pay bounty to ramielneitor@yahoo.com.
Each time a new BIP its implemented then previous accounts using previous BIP will not be able to recover using that version. You cant migrate without doing transactions, so the fix will probably add option for set BIP method to be used, and let user try all of them. So to reproduce you just need to install a version that has other BIP implementation from the one that its available in last version. 41) prasniv has started work.
I will using GitHub and vs code 42) luangkhot1 has started work.
I do not have a plan, planed out yet 43) zwitea has started work.
nabil babel wellcomme to my bonis 44) recep9227 has started work.
Siteyi para kazanmayı çözmek istiyorum
Learn more on the Gitcoin Issue Details page.
@danfinlay
To reproduce:
We need additional translations for other supported languages other than EN.
https://drive.google.com/file/d/1RwyHcuCvQJPWPIQHws7taXXkpflEXhdL/view?usp=sharing
@dunncreativess are you suggesting localizing the "the following seed words are not valid seed words" into different languages?
Yes @kumavis so long as it's accepted as a viable solution to help streamline the seed recovery process and make it more user-friendly.
For lurkers: I'd written @danfinlay on Twitter and as he's away this week and next he'd asked me to contact the team via support@ email address, which I did yesterday.
I'm looking forward to seeing if this will help the user experience as I'd noted MM folks say they're always looking to help make this process easier, but no response from the team as-yet. This solution helps 1. people that obfuscate a word or all the words realize which ones so they can hopefully deobfuscate 2. people that mispelled words they were copying down 3. other chair-->keyboard errors, which I found most of the outstanding Github issues surrounding these issues to involve.
Issue Status: 1. Open 2. Started 3. Submitted 4. Done
Work for 10.0 ETH (3892.98 USD @ $389.3/ETH) has been submitted by:
@danfinlay please take a look at the submitted work:
Popup of connect request appears every time when browser restarted even if the website have been accepted before. during payment on meta-mask must refresh to Rinkeby and then main eth network to confirm payment.
Issue Status: 1. Open 2. Started 3. Submitted 4. Done
Work for 10.0 ETH (2166.02 USD @ $216.6/ETH) has been submitted by:
@danfinlay please take a look at the submitted work:
(Link Not Provided) by @wazdevelopment
Learn more on the Gitcoin Issue Details page
Want to chip in? Add your own contribution here.
Questions? Checkout Gitcoin Help or the Gitcoin Slack
$57,071.63 more funded OSS Work available on the Gitcoin Issue Explorer
Popup of connect request appears every time when browser restarted even if the website have been accepted before. during payment on meta-mask must refresh to Rinkeby and then main eth network to confirm payment.
how do i find out if i get bounty paid for the work ? thanks
@wazdevelopment this bounty is specifically for issues related to MetaMask's seed phrase logic, so your bug report does not qualify.
Thanks for pointing this out, though! Please file as a separate issue with additional details (browser, MM version, etc) so we can address it.
@bdresser was there any word whether my submission was worth part of the bounty? It doesn't point out an issue with the seed phrase logic or code, however it addresses some of the most common issues faced with seed phrase recovery.
Thanks,
hey @DunnCreativeSS, thanks for opening your issue and pointing out a reasonable UX improvement. But as the original bounty states, we're looking for
a condition in MetaMask's code base, either through automated tests or manual reproduction, where MetaMask would show a user a seed phrase on first setup that would not work for later restoring their accounts.
This issue does not reproduce. Tested on Windows Firefox and Chrome with version 5.0.3
I noticed 12 dependencies with the word "stream" in https://github.com/MetaMask/metamask-extension/blob/develop/package.json and sharing this out of caution in case MetaMask isn't already aware in case it applies, with regard to the exploits found in the event-stream NPM package (which I just saw headlines that bitpay/copay wallets were affected): https://github.com/dominictarr/event-stream/issues/116
@hatgit as FallingSnow has mentioned, reverting/updating/pinning to event-stream@3.3.4
.
metamask-extension [develop] :> npm ls event-stream flatmap-stream
metamask-crx@0.0.0 /Users/Desktop/metamask-extension
├─┬ gulp-livereload@4.0.0
│ └── event-stream@3.3.4
└─┬ shell-parallel@1.0.3
└─┬ ps-tree@1.1.0
└── event-stream@3.3.4 deduped
Thanks for the report and we are continuing to monitor these packages that have the dependency.
@hatgit as FallingSnow has mentioned, reverting/updating/pinning to
event-stream@3.3.4
.metamask-extension [develop] :> npm ls event-stream flatmap-stream metamask-crx@0.0.0 /Users/Desktop/metamask-extension ├─┬ gulp-livereload@4.0.0 │ └── event-stream@3.3.4 └─┬ shell-parallel@1.0.3 └─┬ ps-tree@1.1.0 └── event-stream@3.3.4 deduped
Thanks for the report and we are continuing to monitor these packages that have the dependency.
Great! Just saw this: https://github.com/MetaMask/metamask-extension/commit/486f9931c469ac1829b6f433ad3ebdc11821df22
💰 A crowdfund contribution worth 0.00500 ETH (0.54 USD @ $107.31/ETH) has been attached to this funded issue from @treebeard.💰
Want to chip in also? Add your own contribution here.
Guys this is just a hoax - while bug reporters tell all kinds of stories - mentioned accounts are empty this days. So you place a bounty on a bug which does not exist and more and more people waste more and more time in this blackhole, as there is no evidence on blockchain to support existence of the bug - please consider closing the issue, and consider not having bounties of such nature.
Like check this out final comments of #3258 , sure humans are humans and we all make mistakes, but as it costs nothing to create a ticket - people do it for all sorts of reasons. Another example - dude in comments offering 20% of his balance as a bounty - guess what is a balance this days - correct - zero.
@andriytyurnikov
My address shows 0 funds as I discovered what the bug caused to happen so was able to retrieve my funds by myself that is why I did not give away the 20%.
If my funds were freed by someone discovering how I could then I would have.
I gained nothing from raising a ticket other than I got my funds back during the process on my own.
So please tell why It is a hoax if I gained nothing from it?
I believe the bug has not been fixed but am aware of what is needed to be done to get funds back if it occurs again.
There have been reports of people having had the same issue as me.
They gained nothing from comments and raising tickets if they did not recover their funds, so are they a hoax to?
@andriytyurnikov
You got funds back because you used wrong 12 words, dude! And other reports are coming from dudes as [censored]... wrong as you @BGzetro
Where is the palm face emoji when you need one??
@andriytyurnikov Yes in my case technically the seed phase I was shown upon new account creation was the wrong seed phase to recover the funds of the addresses originally shown tied to that account, although that should not have been the case! That is why I entered it to try to recover my funds as it was suppose to be the correct one.
The 12 word seed phase I enter to recover my funds of my new account addresses, was the 12 word seed phrase shown upon account creation from an old account, which I had not used in a long long time.
If anyone else has had the same issue as I had, I recommend trying to enter the 12 word seed phase of your previous metamask account to recover your funds, if the seed phase you were shown on new account creation did not recover the correct addresses supposedly tied to your new seed phrase.
@BGzetro in this thread you are OFF TOPIC as this particular ticket is about bounty program, and i've highlighted moral issues with topics of such nature:
The bounty will be paid to anyone who can demonstrate a condition in MetaMask's code base, either through automated tests or manual reproduction, where MetaMask would show a user a seed phrase on first setup that would not work for later restoring their accounts.
@andriytyurnikov I'm only off topic because you were referring to my comment in another ticket.
I've never looked a meta mask's code base, and only have little skill with programming, so have not attempted to look into the code base. I have not been able to reproduce the bug either on one attempt I've made.
I don't plan on trying to reproduce it either. I'm not looking for no bounty payment. Life is too busy for me. I'm just happy I have my funds now. I have not used meta mask since withdrawing my funds and don't plan to use it again in the near future.
@danfinlay: Hi!
TLDR: Slow/unresponsive browser may skip key onboarding screens, in earlier versions of Metamask
Some versions of Metamask can be induced to skip the "Your unique account image", "Secret Backup Phrase" and "Confirm Your Secret Backup Phrase" screens during apparently successful account setup. Reproduce steps:
javascript: var end=new Date().getTime()+60000; do {console.warn("foo");} while (new Date().getTime()<end); alert("DONE")
Spamming console.warn is the easiest repro. But have also repro'd by spamming document.write, and just with a pure maths calculation. I.e. this issue is to do with timing and CPU load, not some pathological artifact of the console log.
It's not clear if the root cause of the issue has been fixed in the latest version 6.3.1, or whether the design changes to remove the Account Image screen from onboarding, and always displaying the full page login screen even when opened in popup mode are just masking the underlying issue.
Filed above report as separate issue https://github.com/MetaMask/metamask-extension/issues/6496 for better visibility/tracking.
possibly related #7246
I'm having this problem here: https://github.com/MetaMask/metamask-extension/issues/7866
is it still open issue?
So i am pretty sure that I also have fallen victim to this bug, even if I´m on Metamask Version 7.7.2. and first Version this was reported was 4.x.x if I remember right?
Pretty much the same story as BGzetro... I installed Metamask, transferred about 100 Euros of ERC20 tokens to Account 1 (never created any additional accounts). Next time trying to use Metamask, it shows me an empty acc. Tried to restore from my written down seed phrase, again leading to an empty account (probably the same one), with a different Address than where i have sent my tokens to. MM Version: 7.7.2 Chrome Version: 79.0.3945.130 (Official Build) (64-Bit) Address I sent the tokens to: https://etherscan.io/address/0x8de8c5612ae5390800e923bb0b7328ffbaf4e4fe#tokentxns
Address (Account 1) I currently have access to (but is empty): 0xa8D9b7C345A7431ed9420B2790e1B77BD71D0418
Is there a way to determine cryptographically whether these 2 addresses are derived from different seeds?
And do you see any way for me to get my tokens back (Vault hacking, even If the Vault probably would be overwritten by me restoring from the seed phrase, or something else)?
Haven't really been warned that your software is in such an "experimental" state, after all. (pls excuse my bitterness, but spoiling € 100 is not really good news for me)
I don't really know where the best place to post this issue is, so feel free to move this post or tell me where I should rather post it.
Is there a way to determine cryptographically whether these 2 addresses are derived from different seeds?
No, there's no way to correlate accounts just from the address.
And do you see any way for me to get my tokens back (Vault hacking, even If the Vault probably would be overwritten by me restoring from the seed phrase, or something else)?
No, if you don't have a copy of your vault in a previous state where you had this account, there is no hacking that can be done on one vault to generate another vault's accounts.
Haven't really been warned that your software is in such an "experimental" state, after all.
We have no concrete evidence that this bug ever occurred. No one has been able to produce a new hypothetical scenario where this bug would occur in two years.
I don't really know where the best place to post this issue is, so feel free to move this post or tell me where I should rather post it.
Since you aren't submitting a new possible solution to the bug bounty, you could just email support@metamask.io for any other ideas of how to try to derive the account you think you should have, but I think it's very likely that you're out of luck, sorry.
Better sanitation of user input would go a long way to reducing reported issues and confusion surrounding them.
https://github.com/MetaMask/metamask-extension/issues/8171
sure humans are humans and we all make mistakes,
When presented with poor validation and sanitation of user input, resulting in poor UX.
I have found an issue where a user can access their original wallet by the seed phrase, but it does not restore any additional accounts that were created in metamask.
So the original Metamask account was created by importing a wallet created on MEW, a seed phrase was created by Metamask.
Additional wallets were created in Metamask, and from what I understand these are tied to the original seed phrase. However, when restoring the account by the seed phrase only the original wallet is restored, but the additional created wallets are no longer there. So would the user loose access to the funds in the newly created wallets?
To be sure: I did not loose any funds, as I just created these additional wallets for test net stuff. I'm not looking for any compenstation. I'm a satisfied user from Metamask and no complaints.
Would this be of interest for you? I am able to reproduce it.
referencing customer: https://consensys.zendesk.com/agent/tickets/64454
Example my seed phase is 1 to 12 words in that order opens my wallet , now if I was to switch word 1 & 7 round I can open another wallet up .
I lost my wallet and my seed pharse restores an empty one as well:
Original wallet: 0x00050EDCb938379016a7CF194b0917e0Fc74ce2C
Restored one: 0xBAb288D7563fC3c91D01cD706794f2E818Eb05bB
It happened after I created a wallet on the RSK Mainnet. I used that wallet so I could buy SOV on the Sovryn dapp (https://live.sovryn.app/), and everything worked just fine. A couple of days later, I forgot the password, tried to restore, and now I have that empty wallet.
As part of our commitment to the best security we can offer, the MetaMask team is planning to continuously offer a bug bounty on our seed phrase functionality, we are starting the bounty at 1 ether, but anyone is free to add to the bounty as they like.
As we have written about before #2577, and have awarded a bounty for in the past, sometimes users have reported that the seed phrase they were originally given does not restore their original accounts.
We have continued to receive rare but concerning accounts of similar experiences: #2904 #3042 #4756 #4697
The bounty will be paid to anyone who can demonstrate a condition in MetaMask's code base, either through automated tests or manual reproduction, where MetaMask would show a user a seed phrase on first setup that would not work for later restoring their accounts.
Thanks for your interest and participation, we're available to answer any questions about our key management here.
Hey I’ve had the same issue where my seed phrase seems to invalid and I’m sure I have the same phrase you guys provided me with is there anyways you guys could help me with this?
@luisotravez I encountered the exact same issue while trying to use Sovryn. Were you able to resolve it? Would really appreciate your insight.
Not at all. But I think it is not an issue with Soveryn in particular, but with Metamask. Other people in the SOV community did not report this issue with other wallets. I regret using Metamask and Will not recommend it to anyone I help getting started in crypto.
El mar., 8 jun. 2021 11:37 a. m., gnewfield @.***> escribió:
@luisotravez https://github.com/luisotravez I encountered the exact same issue while trying to use Sovryn. Were you able to resolve it? Would really appreciate your insight.
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/MetaMask/metamask-extension/issues/3127#issuecomment-856921882, or unsubscribe https://github.com/notifications/unsubscribe-auth/AP5IB4WZPFPJPVNJLJB7MW3TRZBKXANCNFSM4EOFCM7Q .
As part of our commitment to the best security we can offer, the MetaMask team is planning to continuously offer a bug bounty on our seed phrase functionality, we are starting the bounty at 1 ether, but anyone is free to add to the bounty as they like.
As we have written about before #2577, and have awarded a bounty for in the past, sometimes users have reported that the seed phrase they were originally given does not restore their original accounts.
We have continued to receive rare but concerning accounts of similar experiences: #2904 #3042 #4756 #4697
The bounty will be paid to anyone who can demonstrate a condition in MetaMask's code base, either through automated tests or manual reproduction, where MetaMask would show a user a seed phrase on first setup that would not work for later restoring their accounts.
Thanks for your interest and participation, we're available to answer any questions about our key management here.