# CVE-2019-16762: Simple Ledger Protocol slpjs validator parsing discrepancy

Source: https://junglewise.ai/threats/cve-2019-16762-simple-ledger-protocol-slpjs-validator-parsing-discrepancy  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2019-11-15. Updated: 2026-05-14  
License: CC BY 4.0 with a link back

CVE-2019-16762 · Severity: low · CVSS 3.1 · Published 2019-11-15

A vulnerability in the slpjs library, which is used to validate Simple Ledger Protocol (SLP) tokens on the Bitcoin Cash network, could allow an attacker to bypass transaction rules. By using specially crafted scripts, an attacker could cause the validator to disagree with the network's consensus rules. This could lead to a 'hard-fork' where the library incorrectly validates fraudulent transactions, potentially resulting in financial discrepancies or loss of trust in token balances.

Technologies: [slpjs (npm)](https://junglewise.ai/threats/technologies/slpjs). Vendors: [npm](https://junglewise.ai/threats/vendors/npm).

## Quick answers

**Is CVE-2019-16762 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2019-16762 being exploited in the wild.

**How severe is CVE-2019-16762?** Low severity, with a CVSS score of 3.1, published 15 November 2019.

**Which products and versions are affected?** slpjs (npm) SEMVER:introduced=0,fixed=0.21.4.

**Is there a fix for CVE-2019-16762?** Yes. slpjs (npm): upgrade to 0.21.4 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2019-16762 attacked?** It is attacked over the network, in a software library.

**Am I affected by CVE-2019-16762?** Check whether you run slpjs (npm) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- slpjs (npm): upgrade to 0.21.4 or later

  ```sh
  npm install slpjs@0.21.4
  ```


## Technical details

A vulnerability exists in the slpjs npm package due to a parsing discrepancy in how the validator handles string encoding within Bitcoin scripts. An attacker with the ability to broadcast specially crafted Bitcoin scripts can trigger a validation result that differs from the official SLP consensus rules. This is classified as improper input validation (CWE-20). If exploited, this discrepancy can cause the library to recognize invalid transactions as valid, leading to a hard-fork from the intended consensus state. The issue is fixed in version 0.21.4.

## Affected products

- Simple Ledger Protocol slpjs < 0.21.4

## Identifiers

- CVE-2019-16762
- GHSA-425c-ccf3-3jrr

## Timeline

- 2019-11-15: disclosed
- 2019-11-15: patched
- 2019-11-15: advisory

## References

- [https://github.com/simpleledger/slpjs/security/advisories/GHSA-425c-ccf3-3jrr](https://github.com/simpleledger/slpjs/security/advisories/GHSA-425c-ccf3-3jrr)
- [https://github.com/simpleledger/slpjs/commit/ac8809b42e47790a6f0205991b36f2699ed10c84](https://github.com/simpleledger/slpjs/commit/ac8809b42e47790a6f0205991b36f2699ed10c84)

## Related threats

- [SLPJS false-positive validation for NFT1 genesis transactions](https://junglewise.ai/threats/cve-2020-15130-slpjs-false-positive-validation-for-nft1-genesis-transactions)
- [slpjs false-negative validation in MINT transactions](https://junglewise.ai/threats/cve-2020-11071-slpjs-false-negative-validation-in-mint-transactions)
