{"id":"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)","modified":"2021-08-23T14:40:05Z","published":"2020-03-24T15:08:59Z","database_specific":{"severity":"HIGH","github_reviewed":true,"github_reviewed_at":"2020-03-23T23:11:03Z","nvd_published_at":null,"cwe_ids":["CWE-287"]},"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"}],"affected":[{"package":{"name":"eth-ledger-bridge-keyring","ecosystem":"npm","purl":"pkg:npm/eth-ledger-bridge-keyring"},"ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"0.2.1"}]}],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2020/03/GHSA-vg44-fw64-cpjx/GHSA-vg44-fw64-cpjx.json"}},{"package":{"name":"@metamask/eth-ledger-bridge-keyring","ecosystem":"npm","purl":"pkg:npm/%40metamask/eth-ledger-bridge-keyring"},"ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"0.2.2"}]}],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2020/03/GHSA-vg44-fw64-cpjx/GHSA-vg44-fw64-cpjx.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H"}]}