`@bsv/wallet-toolbox` / `-client` / `-mobile` don't verify storage-supplied recipient output scripts against caller-requested outputs in createAction (can redirect payments when using remote storage)
Default status is the baseline for the product, each version can override it (e.g. patched versions marked unaffected).
| Vendor | Product | Default status | Versions | ||||||
|---|---|---|---|---|---|---|---|---|---|
| bsv-blockchain | @bsv/wallet-toolbox | affected |
|
||||||
| bsv-blockchain | @bsv/wallet-toolbox-client | affected |
|
||||||
| bsv-blockchain | @bsv/wallet-toolbox-mobile | affected |
|
No data.
No data.
| Vendor | Product | Versions | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Bsv-blockchain | Wallet-toolbox |
|
||||||||
| Bsv-blockchain | Wallet-toolbox-client |
|
||||||||
| Bsv-blockchain | Wallet-toolbox-mobile |
|
| Source | ID | Title |
|---|---|---|
Github GHSA |
GHSA-36f9-7rg5-cpf8 | `@bsv/wallet-toolbox` / `-client` / `-mobile` don't verify storage-supplied recipient output scripts against caller-requested outputs in createAction |
No CVSS v3.1
No CVSS v3.0
No CVSS v2
This CVE is not in the KEV list.
Exploit prediction score: < 1% (0.383% probability within 30 days)
| Type | Values Removed | Values Added |
|---|---|---|
| Metrics |
ssvc
|
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Bsv-blockchain
Bsv-blockchain wallet-toolbox Bsv-blockchain wallet-toolbox-client Bsv-blockchain wallet-toolbox-mobile |
|
| Vendors & Products |
Bsv-blockchain
Bsv-blockchain wallet-toolbox Bsv-blockchain wallet-toolbox-client Bsv-blockchain wallet-toolbox-mobile |
| Type | Values Removed | Values Added |
|---|---|---|
| Description | `@bsv/wallet-toolbox` provides BRC-100 wallet signing and storage components, while `@bsv/wallet-toolbox-client` and `@bsv/wallet-toolbox-mobile` provide client-focused distributions for standard and mobile applications using wallet storage services. A vulnerability in these packages causes transactions created through a remote `StorageClient` to trust output locking scripts returned by the storage provider without verifying that they match the outputs requested by the caller. A malicious or compromised storage provider can substitute a recipient script or inject an additional output, causing the wallet to sign and broadcast a transaction that redirects funds while the application and user interface continue to display the intended recipient. Source and npm publication history indicate that stable versions `@bsv/wallet-toolbox` and `@bsv/wallet-toolbox-client` from 1.1.47 through 2.3.3, and `@bsv/wallet-toolbox-mobile` from its initial 1.3.21 release through 2.3.3, are affected. All three packages are patched in version 2.4.0. Applications unable to upgrade should avoid remote `StorageClient` providers, use local storage, or independently verify every transaction output’s locking script and value against the original request before signing | |
| Title | `@bsv/wallet-toolbox` / `-client` / `-mobile` don't verify storage-supplied recipient output scripts against caller-requested outputs in createAction (can redirect payments when using remote storage) | |
| Weaknesses | CWE-1288 | |
| References |
|
|
| Metrics |
cvssV4_0
|