Skip to main content
← All vulnerabilities
CVE-2024-49365GHSA-5VHG-9XG4-CV9M

tiny-secp256k1 allows for verify() bypass when running in bundled environment

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 1.1.7
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: poc
  • Automatable: yes
  • Technical impact: total

Summary

tiny-secp256k1 is a tiny secp256k1 native/JS wrapper. Prior to version 1.1.7, a malicious JSON-stringifyable message can be made passing on verify(), when global Buffer is the buffer package. This affects only environments where require('buffer') is the NPM buffer package. Buffer.isBuffer check can be bypassed, resulting in strange objects being accepted as a message, and those messages could trick verify() into returning false-positive true values. This issue has been patched in version 1.1.7.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: poc · Automatable: yes · Technical impact: total

  3. Record last updated

Affected versions

  • bitcoinjs tiny-secp256k1

    fixed in 1.1.7

  • tiny-secp256k1npm

    fixed in 1.1.7

References 2

GitHub · bitcoinjs/tiny-secp256k1