{"id":"GHSA-vg44-fw64-cpjx","aliases":[],"url":"https://o3.security/vulnerability/GHSA-vg44-fw64-cpjx","summary":"Incorrect Account Used for Signing","details":"### Impact\n\nAnybody using this library to sign with a BIP44 account other than the first account may be affected. If a user is signing with the first account (i.e. the account at index `0`), or with the legacy MEW/MyCrypto HD path, they are not affected.\n\nThe vulnerability impacts cases where the user signs a personal message or transaction without first adding the account. This includes cases where the user has already added the account in a previous session (i.e. they added the account, reset the application, then signed something). The serialization/deserialization process does restore a previously added account, but it doesn&#39;t restore the index instructing the keyring to use that account for signing. As a result, after serializing then deserializing the keyring state, the account at index `0` is always used for signing even if it isn&#39;t the current account.\n\n### Patches\n\nThis has been patched ([#14](https://github.com/MetaMask/eth-ledger-bridge-keyring/pull/14)) in version &gt;=0.2.1 of [`eth-ledger-bridge-keyring`](https://www.npmjs.com/package/eth-ledger-bridge-keyring), and in version &gt;=0.2.2 of [`@metamask/eth-ledger-bridge-keyring`](https://www.npmjs.com/package/@metamask/eth-ledger-bridge-keyring). Users are encouraged to migrate to the new package name.\n\n### Workarounds\n\nTo work around this problem without updating, you should remove then re-add the account before use. As long as the account was added during the lifetime of that process, signing with that account should work correctly.\n\n### For more information\n\nIf you have any questions or comments about this advisory:\n\n* Open an issue in [MetaMask/eth-ledger-bridge-keyring on GitHub](https://github.com/MetaMask/eth-ledger-bridge-keyring)\n* Email the MetaMask team at [hello@metamask.io](mailto:hello@metamask.io)","published":"2020-03-24T15:08:59Z","modified":"2021-08-23T14:40:05Z","cvss":{"score":7.5,"severity":"HIGH","vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H"},"epss":null,"cisaKev":null,"exploitsKnown":0,"affectedPackages":[{"ecosystem":"npm","name":"eth-ledger-bridge-keyring","fixedVersion":"0.2.1"},{"ecosystem":"npm","name":"@metamask/eth-ledger-bridge-keyring","fixedVersion":"0.2.2"}],"fix":{"url":"https://github.com/MetaMask/eth-ledger-bridge-keyring/pull/14","label":"MetaMask/eth-ledger-bridge-keyring#14"},"references":[{"type":"WEB","url":"https://github.com/MetaMask/eth-ledger-bridge-keyring/security/advisories/GHSA-vg44-fw64-cpjx"},{"type":"WEB","url":"https://github.com/MetaMask/eth-ledger-bridge-keyring/pull/14"},{"type":"WEB","url":"https://github.com/MetaMask/eth-ledger-bridge-keyring/commit/f32e529d13a53e55f558d903534d631846dc26ce"},{"type":"ADVISORY","url":"https://github.com/advisories/GHSA-vg44-fw64-cpjx"},{"type":"WEB","url":"https://snyk.io/vuln/SNYK-JS-ETHLEDGERBRIDGEKEYRING-561121"},{"type":"WEB","url":"https://www.npmjs.com/advisories/1497"},{"type":"WEB","url":"https://www.npmjs.com/advisories/1498"}],"provenance":{"sources":["OSV.dev","FIRST.org (EPSS)"],"lastVerified":"2021-08-23T14:40:05Z"}}