Skip to content
OpenAdvisories

Package · crates.io

bsv-rs

5 known vulnerabilities.

5 results · Feed

  • High 7.5

    KVStoreInterpreter::verify_signature_legacy answers true for every token and every key

    `KVStoreInterpreter::verify_signature_legacy(&PushDrop, &PublicKey)`, public and deprecated since 0.2.0 (the crate's first release), read neither argument and answered `true`. A KVStore token signed by nobody, a signed token checked against a key other than i…

  • Critical 9.1

    Shamir backup recovery accepts a share at x = 0, so a supplied share can substitute the recovered private key

    `KeyShares::from_backup_format` (the Shamir backup share reader, public since 0.2.0, the crate's first release) accepted a share whose x coordinate is 0, and `KeyShares::recover_private_key` interpolates the shares at x = 0 to recover the key. At an x of 0 th…

  • Medium 5.3

    Transaction::from_json holds an input txid that is not 64 hex digits and writes the input as spending the zero txid

    `Transaction::from_json`, for a document with no `hex` member, held each input's `txid` member as given. An input `txid` that is not 64 hex digits (`"zz"`, `""`, 63 or 65 digits, characters that are not hex digits) answered `Ok`: `source_txid` and `to_json` g…

  • Medium 5.3

    Signature::from_der reads a signature with bytes after it, a wrong sequence length or an unneeded zero as the signature

    `Signature::from_der` read a DER-encoded ECDSA signature leniently. It read as the signature: the signature followed by other bytes; a sequence length shorter than its contents, or longer with bytes after them (a length byte with its high bit set among them);…

  • Medium 5.3

    Transaction readers accept trailing bytes, so a parsed transaction can carry another transaction id

    `Transaction::from_binary` and `Transaction::from_hex` read one transaction from the front of their input, did not check that the input ended there, and kept the whole input as the transaction's cached serialization: `to_binary`, `to_hex` and `id()` then answ…