CVE-2025-69287: CWE-573: Improper Following of Specification by Caller in bsv-blockchain ts-sdk
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.
AI Analysis
Technical Summary
The vulnerability CVE-2025-69287 affects the BSV Blockchain TypeScript SDK (ts-sdk) prior to version 2.0.0 and is classified under CWE-573, indicating improper following of specification by the caller. The root cause lies in the cryptographic signature preparation for BRC-104 mutual authentication, specifically in the Peer.ts file's `processInitialRequest` and `processInitialResponse` methods. The SDK concatenates two base64-encoded nonce strings (`message.initialNonce` and `sessionNonce`) and then decodes the concatenated string using `base64ToBytes()`. This approach is flawed because concatenating base64 strings before decoding does not yield the correct combined byte array, resulting in a signature data length of approximately 32-34 bytes instead of the expected 64 bytes. Since BRC-104 authentication depends on precise cryptographic signatures to establish mutual trust between peers, this discrepancy causes signature mismatches between the TypeScript SDK and other SDK implementations such as Go and Python. Consequently, cross-implementation authentication fails, opening the door for attackers to exploit this inconsistency to bypass authentication checks. Although no known exploits have been reported in the wild, the vulnerability compromises the integrity and availability of the authentication mechanism within blockchain applications relying on this SDK. The issue was addressed in version 2.0.0 of the SDK, which ensures consistent signature generation across all SDK implementations, restoring proper mutual authentication.
Potential Impact
For European organizations utilizing the BSV Blockchain TypeScript SDK in their blockchain applications, this vulnerability poses a risk to the integrity and availability of authentication processes. Attackers exploiting this flaw could bypass mutual authentication, potentially allowing unauthorized access to blockchain nodes or services, leading to unauthorized transactions, data manipulation, or denial of service. Given the reliance on blockchain for financial services, supply chain management, and identity verification in Europe, such breaches could undermine trust, cause financial losses, and disrupt critical operations. The incompatibility between SDK implementations may also lead to interoperability issues, affecting cross-platform blockchain applications and partnerships. Although no active exploits are known, the medium severity and ease of exploitation without privileges or complex user interaction warrant prompt attention to prevent potential attacks.
Mitigation Recommendations
European organizations should immediately upgrade to version 2.0.0 or later of the BSV Blockchain TypeScript SDK to ensure correct signature generation and mutual authentication. In environments where immediate upgrade is not feasible, organizations should implement strict network segmentation and access controls around blockchain nodes to limit exposure to untrusted peers. Additionally, monitoring authentication logs for anomalies or repeated authentication failures can help detect exploitation attempts. Developers should audit any custom implementations of BRC-104 authentication to verify correct nonce handling and signature preparation. Employing cryptographic validation tests across SDK implementations before deployment can prevent interoperability issues. Finally, organizations should maintain up-to-date inventories of blockchain SDK versions in use and establish patch management processes specific to blockchain components.
Affected Countries
Germany, France, United Kingdom, Netherlands, Switzerland, Luxembourg
CVE-2025-69287: CWE-573: Improper Following of Specification by Caller in bsv-blockchain ts-sdk
Description
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.
AI-Powered Analysis
Technical Analysis
The vulnerability CVE-2025-69287 affects the BSV Blockchain TypeScript SDK (ts-sdk) prior to version 2.0.0 and is classified under CWE-573, indicating improper following of specification by the caller. The root cause lies in the cryptographic signature preparation for BRC-104 mutual authentication, specifically in the Peer.ts file's `processInitialRequest` and `processInitialResponse` methods. The SDK concatenates two base64-encoded nonce strings (`message.initialNonce` and `sessionNonce`) and then decodes the concatenated string using `base64ToBytes()`. This approach is flawed because concatenating base64 strings before decoding does not yield the correct combined byte array, resulting in a signature data length of approximately 32-34 bytes instead of the expected 64 bytes. Since BRC-104 authentication depends on precise cryptographic signatures to establish mutual trust between peers, this discrepancy causes signature mismatches between the TypeScript SDK and other SDK implementations such as Go and Python. Consequently, cross-implementation authentication fails, opening the door for attackers to exploit this inconsistency to bypass authentication checks. Although no known exploits have been reported in the wild, the vulnerability compromises the integrity and availability of the authentication mechanism within blockchain applications relying on this SDK. The issue was addressed in version 2.0.0 of the SDK, which ensures consistent signature generation across all SDK implementations, restoring proper mutual authentication.
Potential Impact
For European organizations utilizing the BSV Blockchain TypeScript SDK in their blockchain applications, this vulnerability poses a risk to the integrity and availability of authentication processes. Attackers exploiting this flaw could bypass mutual authentication, potentially allowing unauthorized access to blockchain nodes or services, leading to unauthorized transactions, data manipulation, or denial of service. Given the reliance on blockchain for financial services, supply chain management, and identity verification in Europe, such breaches could undermine trust, cause financial losses, and disrupt critical operations. The incompatibility between SDK implementations may also lead to interoperability issues, affecting cross-platform blockchain applications and partnerships. Although no active exploits are known, the medium severity and ease of exploitation without privileges or complex user interaction warrant prompt attention to prevent potential attacks.
Mitigation Recommendations
European organizations should immediately upgrade to version 2.0.0 or later of the BSV Blockchain TypeScript SDK to ensure correct signature generation and mutual authentication. In environments where immediate upgrade is not feasible, organizations should implement strict network segmentation and access controls around blockchain nodes to limit exposure to untrusted peers. Additionally, monitoring authentication logs for anomalies or repeated authentication failures can help detect exploitation attempts. Developers should audit any custom implementations of BRC-104 authentication to verify correct nonce handling and signature preparation. Employing cryptographic validation tests across SDK implementations before deployment can prevent interoperability issues. Finally, organizations should maintain up-to-date inventories of blockchain SDK versions in use and establish patch management processes specific to blockchain components.
Affected Countries
Technical Details
- Data Version
- 5.2
- Assigner Short Name
- GitHub_M
- Date Reserved
- 2025-12-31T16:38:21.806Z
- Cvss Version
- 3.1
- State
- PUBLISHED
Threat ID: 6996fb478fb9188dea8c0320
Added to database: 2/19/2026, 12:00:07 PM
Last enriched: 2/19/2026, 12:04:29 PM
Last updated: 2/21/2026, 12:22:02 AM
Views: 17
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Related Threats
CVE-2026-27203: CWE-15: External Control of System or Configuration Setting in YosefHayim ebay-mcp
HighCVE-2026-27168: CWE-122: Heap-based Buffer Overflow in HappySeaFox sail
HighCVE-2026-27134: CWE-287: Improper Authentication in strimzi strimzi-kafka-operator
HighCVE-2026-27190: CWE-78: Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection') in denoland deno
HighCVE-2026-27026: CWE-770: Allocation of Resources Without Limits or Throttling in py-pdf pypdf
MediumActions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console in Console -> Billing for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.