Skip to content
OpenAdvisories
High · 8.1 CVE-2026-40070 EUVD-2026-20996GHSA-hc36-c89j-5f4j

bsv-sdk and bsv-wallet persist unverified certifier signatures in acquire_certificate (direct and issuance paths)

Published Apr 9, 2026 · Updated Apr 13, 2026 · Assigned by GitHub_M

Description

BSV Ruby SDK is the Ruby SDK for the BSV blockchain. From 0.3.1 to before 0.8.2, BSV::Wallet::WalletClient#acquire_certificate persists certificate records to storage without verifying the certifier's signature over the certificate contents. In acquisition_protocol: 'direct', the caller supplies all certificate fields (including signature:) and the record is written to storage verbatim. In acquisition_protocol: 'issuance', the client POSTs to a certifier URL and writes whatever signature the response body contains, also without verification. An attacker who can reach either API (or who controls a certifier endpoint targeted by the issuance path) can forge identity certificates that subsequently appear authentic to list_certificates and prove_certificate.

Affected products

VendorProductAffectedFixed
sgbett bsv-ruby-sdk >= 0.3.1, < 0.8.2 —
sgbett bsv-sdk >= 0.3.1, < 0.8.2 —
sgbett bsv-wallet >= 0.1.2, < 0.3.4 —

Affected packages

EcosystemPackageAffectedFixedRecord
RubyGems bsv-sdk >= 0.3.1, < 0.8.2 0.8.2 GHSA-hc36-c89j-5f4j
RubyGems bsv-wallet >= 0.1.2, < 0.3.4 0.3.4 GHSA-hc36-c89j-5f4j

References