Skip to content
OpenAdvisories
Malicious MAL-2026-6855 GHSA-8vr6-7cjp-qgrj

next-bignumber.js

npm package · versions 1.0.0

Reported Jul 6, 2026 · Updated Jul 8, 2026

If this package is installed

Remove it, treat the machine (or CI runner) as compromised, and rotate every secret, token and key it could access — from a different, clean machine.

Details

Source: amazon-inspector (615f1e472f3fec95854738e64a4e4883676d514db833ca3bfa7a1008c0253a57)
Package impersonates the widely-used `bn.js` crypto library: README, repository URL, logo, and source files are copied verbatim from indutny/bn.js, but the package is published under an unrelated author. The `package.json` `author` field is `craig silverman` while `homepage` and `repository` point at `github.com/indutny/next-bignumber.js` (Fedor Indutny is the real bn.js maintainer), and the README retains the upstream sponsor links to `github.com/sponsors/indutny` — identity-spoofing metadata designed to mislead installers into believing they are getting an indutny package. The package adds a non-bn.js runtime dependency, `random-string-64`, with no mathematical purpose: `lib/bn.js:40` does `const getUniqueID = require('random-string-64').default;` (loaded at module top level on every `require('next-bignumber.js')`) and `BN.prototype.toString` invokes `getUniqueID(64); var test=213;` on the hot path of every crypto operation that calls `.toString()` on a BN (Ethereum, secp256k1, and similar workflows hit this constantly). Whatever `random-string-64` ships executes in the installer's/consumer's process on import and on every numeric stringification. The combination of a copied-upstream typosquat targeting a top-tier crypto library, mismatched/spoofed author metadata, and a gratuitous transitive dependency wired into a hot code path is a namespace-abuse dropper shape — the lure package itself is thin, but installing it silently pulls `random-string-64` into the installer's tree and executes it.

Source: ghsa-malware (cac4f683d978bbfcebc9eb96a314e21c97d5d7874f023377d78c51697ea8c074)
Any computer that has this package installed or running should be considered fully compromised. All secrets and keys stored on that computer should be rotated immediately from a different computer. The package should be removed, but as full control of the computer may have been given to an outside entity, there is no guarantee that removing the package will remove all malicious software resulting from installing it.