Gemiddeld · 5.6 Node.js & npm GHSA-36f9-7rg5-cpf8 CVE-2026-56744
BSV Wallet Toolbox-pakketten kwetsbaar voor manipulatie van ontvangstscripts, waardoor geld omgeleid kan worden
Een kwetsbaarheid in @bsv/wallet-toolbox, @bsv/wallet-toolbox-client en @bsv/wallet-toolbox-mobile stelt een kwaadwillende of gecompromitteerde externe storage-provider in staat om ontvangstscripts in transacties te vervangen, waardoor wallets transacties ondertekenen en verzenden die geld omleiden terwijl de interface nog steeds de bedoelde ontvanger toont. Verholpen in versie 2.4.0.
AI-samenvatting
Er is een kwetsbaarheid bekendgemaakt in `@bsv/wallet-toolbox`, `@bsv/wallet-toolbox-client` en `@bsv/wallet-toolbox-mobile`, npm-pakketten die BRC-100 wallet-ondertekening en opslagcomponenten leveren voor Bitcoin SV-toepassingen. Het probleem stelt een externe storage-provider die betrokken is bij het opstellen van transacties in staat om transactie-outputs te manipuleren op een manier die onzichtbaar is voor de wallet-applicatie en de eindgebruiker, met mogelijke omleiding van tegoeden als gevolg. Het probleem is geregistreerd als CVE-2026-56744 en GHSA-36f9-7rg5-cpf8. [Bron: 3958, 25818]
Wat is er gebeurd
Onderzoekers ontdekten dat transacties die worden opgesteld via een externe `StorageClient` in de getroffen pakketten, de ontvangst-locking-scripts die door de storage-provider worden teruggegeven zonder verdere controle vertrouwen. Er wordt niet gecontroleerd of deze scripts overeenkomen met de outputs die de aanroeper oorspronkelijk heeft opgegeven. Dit betekent dat een storage-provider die kwaadwillend is, of is gecompromitteerd, een ander ontvangstscript kan plaatsen of een extra output aan een transactie kan toevoegen voordat deze wordt ondertekend. De wallet-applicatie en de gebruikersinterface blijven de oorspronkelijk bedoelde ontvanger tonen, waardoor de manipulatie op het moment van ondertekenen of verzenden niet zichtbaar is voor de gebruiker.
Technische oorzaak
De oorzaak wordt geclassificeerd als Improper Validation of Consistency within Input (CWE-1288). Wanneer een wallet een transactie opstelt via een externe `StorageClient`, levert de storage-provider ontvangst-locking-scripts als onderdeel van de transactiegegevens. De getroffen code vergelijkt deze door de provider aangeleverde scripts en waarden niet met de outputs die de aanroeper oorspronkelijk heeft aangevraagd voordat de wallet de transactie ondertekent. Hierdoor wordt elke afwijking die door de storage-provider wordt geïntroduceerd, ongecontroleerd doorgelaten.
Waarom dit belangrijk is
Omdat de manipulatie plaatsvindt op het opslagniveau en niet wordt weerspiegeld in de door de applicatie getoonde ontvanger, heeft een gebruiker of applicatie geen enkele visuele aanwijzing dat een transactie is gewijzigd vóórdat deze wordt ondertekend. Bij misbruik kan een kwaadwillende of gecompromitteerde storage-provider hierdoor geld omleiden naar een bestemming die door een aanvaller wordt beheerd in plaats van naar de bedoelde ontvanger. Dit ondermijnt een kernbelofte van wallet-software: dat wat aan de gebruiker wordt getoond, ook daadwerkelijk wordt ondertekend en verzonden.
Wie wordt getroffen
Applicaties en diensten die `@bsv/wallet-toolbox`, `@bsv/wallet-toolbox-client` of `@bsv/wallet-toolbox-mobile` gebruiken in combinatie met een externe `StorageClient`-provider voor het opstellen van transacties, zijn kwetsbaar. Applicaties die uitsluitend lokale opslag gebruiken voor het opstellen van transacties worden in de beschikbare feiten niet als kwetsbaar beschreven.
Getroffen versies
`@bsv/wallet-toolbox` en `@bsv/wallet-toolbox-client`: versies vanaf 1.1.47 tot (maar niet met) 2.4.0. `@bsv/wallet-toolbox-mobile`: versies vanaf de eerste release 1.3.21 tot (maar niet met) 2.4.0. Het publieke bronmateriaal vermeldt ook versie 2.3.3 als onderdeel van het getroffen bereik voor alle drie de pakketten.
Fixes en mitigatie
Alle drie de pakketten zijn gepatcht in versie 2.4.0. Organisaties die niet direct kunnen upgraden, wordt geadviseerd om geen gebruik te maken van externe `StorageClient`-providers, over te stappen op lokale opslag voor het opstellen van transacties, of onafhankelijk het locking-script en de waarde van elke transactie-output te verifiëren tegen het oorspronkelijke verzoek voordat de wallet deze ondertekent.
Aanbevolen actie
Werk `@bsv/wallet-toolbox`, `@bsv/wallet-toolbox-client` en `@bsv/wallet-toolbox-mobile` zo snel mogelijk bij naar versie 2.4.0. Als directe upgrade niet haalbaar is, schakel dan externe `StorageClient`-providers uit of vervang ze door lokale opslag, of voeg onafhankelijke verificatie van alle transactie-outputs toe vóór ondertekening, zoals beschreven in het advies.
PatchBriefing-score
5.6 / 10 · Gemiddeld
Officiële CVSS: 8.7
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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Waarom deze score
De Patchwire-score van 5.6 weerspiegelt een CVSS-basisscore van 8.7, voornamelijk veroorzaakt door de hoge impact op integriteit (geld kan worden omgeleid), zonder gemelde impact op vertrouwelijkheid of beschikbaarheid. De vector geeft aan dat het probleem via het netwerk kan worden getriggerd, met lage aanvalscomplexiteit, zonder vereiste rechten en zonder gebruikersinteractie, wat enig extra gewicht toevoegt aan de score. Er is geen bewijs van bekende actieve exploitatie of publiek beschikbare exploitcode, en er is geen EPSS-score beschikbaar, wat de uiteindelijke score beperkt ondanks de hoge basisernst. Er is een fix beschikbaar, wat de eindscore eveneens temperen ten opzichte van ongepatchte, actief misbruikte kwetsbaarheden.
Getroffen versies
- @bsv/wallet-toolbox >= 1.1.47, < 2.4.0
- kwetsbaar
- ≥ 2.4.0
- gepatcht
- @bsv/wallet-toolbox-client >= 1.1.47, < 2.4.0
- kwetsbaar
- ≥ 2.4.0
- gepatcht
- @bsv/wallet-toolbox-mobile >= 1.3.21, < 2.4.0
- kwetsbaar
- ≥ 2.4.0
- gepatcht
Gemelde oplossingen
Alle drie de pakketten zijn gepatcht in versie 2.4.0. Organisaties die niet direct kunnen upgraden, wordt geadviseerd om geen gebruik te maken van externe `StorageClient`-providers, over te stappen op lokale opslag voor het opstellen van transacties, of onafhankelijk het locking-script en de waarde van elke transactie-output te verifiëren tegen het oorspronkelijke verzoek voordat de wallet deze ondertekent.
Hoe dit rapport is gemaakt
2 bronrecords zijn opgehaald, gekoppeld en gebruikt om het rapport hierboven op te stellen.
-
GitHub Advisory Database database
-
NVD (NIST) database
Revisiegeschiedenis
- Gepubliceerd
- Gegenereerd
Gerelateerd
Relevante veranderingen voor de stacks die je volgt.
Kies je stacks, onderwerpen en eventueel WordPress-plugins. Om 07:00 CEST worden passende meldingen en releases uit de rapportageperiode in één e-mail gegroepeerd.
✓ Kies stacks en onderwerpen✓ Pas voorkeuren altijd aan✓ Eén gebundelde e-mail