BSV Blockchain SDK has an Authentication Signature Data Preparation Vulnerability
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- Required
- Attack complexity
- Low
- Impact type
- —
- Confidentiality · integrity · availability
- None · Low · Low
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub.
Summary
The BSV Blockchain SDK is a unified TypeScript SDK for developing scalable apps on the BSV Blockchain. Prior to version 2.0.0, a cryptographic vulnerability in the TypeScript SDK's BRC-104 authentication implementation caused incorrect signature data preparation, resulting in signature incompatibility between SDK implementations and potential authentication bypass scenarios. The vulnerability was located in the `Peer.ts` file of the TypeScript SDK, specifically in the `processInitialRequest` and `processInitialResponse` methods where signature data is prepared for BRC-104 mutual authentication. The TypeScript SDK incorrectly prepared signature data by concatenating base64-encoded nonce strings (`message.initialNonce + sessionNonce`) then decoding the concatenated base64 string (`base64ToBytes(concatenatedString)`). This produced ~32-34 bytes of signature data instead of the correct 64 bytes. BRC-104 authentication relies on cryptographic signatures to establish mutual trust between peers. When signature data preparation is incorrect, signatures generated by the TypeScript SDK don't match those expected by Go/Python SDKs; cross-implementation authentication fails; and an attacker could potentially exploit this to bypass authentication checks. The fix in version 2.0.0 ensures all SDKs now produce identical cryptographic signatures, restoring proper mutual authentication across implementations.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| bsv-blockchain | ts-sdk | before 2.0.0 | 2.0.0 | Patch available | CNA |
| — | @bsv/sdk (npm) | before 2.0.0 | 2.0.0 | Patch available | GHSA-vjpq-xx5g-qvmm |
- ts-sdk Vendorbsv-blockchain Affected before 2.0.0 Fixed in 2.0.0 Patch available CNA
- @bsv/sdk (npm) Vendor— Affected before 2.0.0 Fixed in 2.0.0 Patch available GHSA-vjpq-xx5g-qvmm
Remediation
- Fix · CNA ts-sdk (bsv-blockchain) Fixed in 2.0.0
- Fix · GHSA-vjpq-xx5g-qvmm @bsv/sdk (npm) Fixed in 2.0.0 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2025-69287
- 2026-10-03 Alias added: GHSA-vjpq-xx5g-qvmm
References
More bsv-blockchain vulnerabilities
- TI-2026-40917 `@bsv/wallet-toolbox` / `-client` / `-mobile` don't verify storage-supplied recipient… CVSS 4.0HIGH 8.7
Sources
- CVE-2025-69287 · CVE Program
- CVE-2025-69287 · NVD
- FIRST EPSS
- GHSA-vjpq-xx5g-qvmm · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences