{"id":"CVE-2026-56744","summary":"`@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)","details":"`@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","aliases":["GHSA-36f9-7rg5-cpf8"],"modified":"2026-09-26T03:47:28.777657881Z","published":"2026-09-24T16:56:12.791Z","database_specific":{"unresolved_ranges":[{"extracted_events":[{"introduced":"1.1.47"},{"fixed":"2.4.0"},{"introduced":"1.1.47"},{"fixed":"2.4.0"},{"introduced":"1.3.21"},{"fixed":"2.4.0"}],"source":"AFFECTED_FIELD"},{"source":"DESCRIPTION","extracted_events":[{"introduced":"1.1.47"},{"fixed":"2.3.3"},{"fixed":"2.3.3"}]}],"cna_assigner":"GitHub_M","cwe_ids":["CWE-1288"],"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/56xxx/CVE-2026-56744.json"},"references":[{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/56xxx/CVE-2026-56744.json"},{"type":"ADVISORY","url":"https://github.com/bsv-blockchain/ts-stack/security/advisories/GHSA-36f9-7rg5-cpf8"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-56744"},{"type":"FIX","url":"https://github.com/bsv-blockchain/ts-stack/commit/3a11f6111919245a3090e9f3895cfc4f21a80d28"},{"type":"FIX","url":"https://github.com/bsv-blockchain/ts-stack/commit/5492cabbef4ddc7f60cc49cdf5d8c74ed2e5d949"},{"type":"FIX","url":"https://github.com/bsv-blockchain/ts-stack/commit/5ee60395e78e8b822d9a78efeacc6039c249819b"},{"type":"FIX","url":"https://github.com/bsv-blockchain/wallet-toolbox/commit/ca651b067c0238cd8b1ddd3af225daa503857a07"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/bsv-blockchain/ts-stack","events":[{"introduced":"0"},{"fixed":"3a11f6111919245a3090e9f3895cfc4f21a80d28"},{"fixed":"5492cabbef4ddc7f60cc49cdf5d8c74ed2e5d949"},{"fixed":"5ee60395e78e8b822d9a78efeacc6039c249819b"}],"database_specific":{"source":"REFERENCES"}}],"versions":["release/v2026-July-3_B","release/v2026-July-3","release/v2026-July-2","release/v2026-July-1","release/v2026-June-30_B","release/v2026-June-30","release/v2026-June-29_B","release/v2026-June-29","infra/v2026-June-26","infra/v2026-June-25","release/v2026-june-24_B","release/v2026-June-24","release/v2026-June-23_B","release/v2026-June-23","infra/v2026-June-19_E","infra/v2026-June-19_D","infra/v2026-June-19_C","infra/v2026-June-19_B","release/v2026-June-19_B","infra/v2026-June-19","release/v2026-June-16","release/v2026-June-10","release/v2026-May-28","infra/v2026-May-28","release/v2026-May-26","infra/v2026-May-25_C","infra/v2026-May-25_B","infra/v2026-May-25","release/v2026-May-24_B","release/v2026-May-24","release/v2026-May-23_B","release/v2026-May-23","release/v2026-May-22_B","infra/v2026-May-22","release/v2026-May-22","release/v2006-May-20","release/v2026-May-18","release/v2026-05-18_attempt_4","release/v2026-05-18_attempt_3","release/v2026-05-18_attempt_2","release/v2026-05-18","release/v2026-05-17","elease/v2026-05-18","packages/wallet/wallet-toolbox/v2.1.26","packages/wallet/wallet-toolbox/mobile/v2.1.26","packages/wallet/wallet-toolbox/client/v2.1.26","packages/wallet/ts-wallet-relay/v0.1.1","Sonar-Wave-6","Sonar-Wave-2","Sonar-Wave-1","packages/overlays/topics/v1.0.0","packages/helpers/fund-wallet/v1.3.1","packages/sdk/v2.1.0","packages/wallet/wallet-toolbox/v2.1.24","first-passing"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-56744.json"}},{"ranges":[{"type":"GIT","repo":"https://github.com/bsv-blockchain/wallet-toolbox","events":[{"introduced":"0"},{"fixed":"ca651b067c0238cd8b1ddd3af225daa503857a07"}],"database_specific":{"source":"REFERENCES"}}],"versions":["v1.1.46","v1.1.45","v1.1.44","v1.1.43","v1.1.42","v1.1.41","v1.1.40","v1.1.39","v1.1.38","v1.1.37","v1.1.36","v1.1.35","v1.1.34","v1.1.33","v1.1.32","v1.1.31","v1.1.30","v1.1.29","v1.1.28","v1.1.27","v1.1.25","v1.1.24","v1.1.23","v1.1.22","v1.1.21","v1.1.20","v1.1.19","v1.1.18","v1.1.17","v1.1.15","v1.1.7","v1.1.5","v1.1.4","v1.1.3","v1.1.1","v0.0.40","v0.0.39","wspub","v0.0.38","v0.0.37","v0.0.36","v0.0.35","v0.0.34","v0.0.32","v0.0.31","v0.0.30","v0.0.29","v0.0.28","v0.0.27","v0.0.26","v0.0.25","v0.0.24","v0.0.23","v0.0.22","v0.0.19","v0.0.18","v0.0.17","v0.0.16","v0.0.12","v0.0.11","v0.0.10","v0.0.9","v0.0.8","v0.0.7","v0.0.6","v0.0.5","v0.0.4","v0.0.3","v0.0.2"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-56744.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V4","score":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N"}]}