Headline
GHSA-8pf3-6fgr-3g3g: `chainId` may be outdated if user changes chains as part of connection in @web3-react
Impact
chainId
may be outdated if the user changes chains as part of the connection flow. This means that the value of chainId
returned by useWeb3React()
may be incorrect. In an application, this means that any data derived from chainId
could be incorrect.
For example, if a swapping application derives a wrapped token contract address from the chainId
and a user has changed chains as part of their connection flow the application could cause the user to send funds to the incorrect address when wrapping. This is a common approach when using other foundational libraries like ethers
, and most users of v8 will want to upgrade past the affected versions.
Patches
Patched in https://github.com/Uniswap/web3-react/pull/749. Users of [email protected] should upgrade to at least:
- @web3-react/coinbase-wallet@^8.0.35-beta.0
- @web3-react/eip1193@^8.0.27-beta.0
- @web3-react/metamask@^8.0.30-beta.0
- @web3-react/walletconnect@^8.0.37-beta.0
Workarounds
N/A
References
N/A
- GitHub Advisory Database
- GitHub Reviewed
- CVE-2023-30543
`chainId` may be outdated if user changes chains as part of connection in @web3-react
Moderate severity GitHub Reviewed Published Apr 17, 2023 in Uniswap/web3-react • Updated Apr 18, 2023
Package
npm @web3-react/coinbase-wallet (npm)
Affected versions
>= 6.0.0, < 8.0.35-beta.0
Patched versions
8.0.35-beta.0
npm @web3-react/eip1193 (npm)
>= 6.0.0, < 8.0.27-beta.0
npm @web3-react/metamask (npm)
>= 6.0.0, < 8.0.30-beta.0
npm @web3-react/walletconnect (npm)
>= 6.0.0, < 8.0.37-beta.0
Impact
chainId may be outdated if the user changes chains as part of the connection flow. This means that the value of chainId returned by useWeb3React() may be incorrect. In an application, this means that any data derived from chainId could be incorrect.
For example, if a swapping application derives a wrapped token contract address from the chainId and a user has changed chains as part of their connection flow the application could cause the user to send funds to the incorrect address when wrapping. This is a common approach when using other foundational libraries like ethers, and most users of v8 will want to upgrade past the affected versions.
Patches
Patched in Uniswap/web3-react#749.
Users of [email protected] should upgrade to at least:
- @web3-react/coinbase-wallet@^8.0.35-beta.0
- @web3-react/eip1193@^8.0.27-beta.0
- @web3-react/metamask@^8.0.30-beta.0
- @web3-react/walletconnect@^8.0.37-beta.0
Workarounds
N/A
References
N/A
References
- GHSA-8pf3-6fgr-3g3g
- https://nvd.nist.gov/vuln/detail/CVE-2023-30543
- Uniswap/web3-react#749
Published to the GitHub Advisory Database
Apr 18, 2023
Last updated
Apr 18, 2023
Related news
@web3-react is a framework for building Ethereum Apps . In affected versions the `chainId` may be outdated if the user changes chains as part of the connection flow. This means that the value of `chainId` returned by `useWeb3React()` may be incorrect. In an application, this means that any data derived from `chainId` could be incorrect. For example, if a swapping application derives a wrapped token contract address from the `chainId` *and* a user has changed chains as part of their connection flow the application could cause the user to send funds to the incorrect address when wrapping. This issue has been addressed in PR #749 and is available in updated npm artifacts. There are no known workarounds for this issue. Users are advised to upgrade.