Junglewise Threat Intelligence

CVE-2020-11072: Simple Ledger Protocol slp-validate false-negative validation in MINT transactions

CVE-2020-11072 · Severity: low · CVSS 3.1 · Published 2020-05-12

Technologies: slp-validate (npm). Vendors: npm.

Executive brief

The slp-validate library is used to validate Simple Ledger Protocol (SLP) cryptocurrency transactions. A validation defect causes MINT transactions with invalid batons to incorrectly pass validation checks. This could allow a poorly implemented wallet to spend affected tokens, destroying a user's minting baton and resulting in permanent loss of the ability to create new tokens.

Technical details

The vulnerability is an improper input validation (CWE-697) issue in the slp-validate validation logic for MINT transaction operations. The validator fails to reject MINT transactions containing invalid batons, resulting in false-negative validation outcomes. When a wallet relies on this flawed validation, it may accept and process a MINT transaction that should have been rejected, allowing an attacker to spend tokens associated with the minting baton and permanently destroy that baton. The affected component is the MINT transaction validation routine. The vulnerability requires no authentication and is reachable over the network if the vulnerable library is used in a wallet or service. The patch was released in version 1.2.1, fixing the validation logic to properly reject invalid batons in MINT transactions.

Affected products

  • Simple Ledger slp-validate <1.2.1

Timeline

  • 2020-05-12: disclosed
  • 2020-05-12: patched: Version 1.2.1 released

References

Related threats