scandoc-scandoc-core @20.8.5
Vulnerability report · Last retrieved from osv.dev August 5, 2026 at 5:03 PM UTC
OSV ID
MAL-2026-12191
Ecosystem
npm
Summary
On require() of the package, index.js loads _vendor.js which fetches a platform-specific binary from Cloudflare Workers hostnames reconstructed at runtime via array-join string splitting (oob-worker.cf100-416.workers.dev, oob-worker.cf102-baf.workers.dev, oob-worker.cf103-070.workers.dev), with a DNS-TXT covert-channel fallback under *.dl.well1.site that base64-decodes TXT records from resolveTxt on c.<domain> and N.<domain>. The retrieved bytes are written to /tmp/.cache_<hex> on Unix or Windows TEMP as dotnet_diag_<hex>.exe (disguised as a legitimate.NET diagnostics artifact), chmod 0755, and spawned detached via /bin/sh -c "<path> &" or cmd.exe /c start /b. Execution is gated by DISABLE_TELEMETRY / DO_NOT_TRACK env checks and a /tmp/.analytics_state freshness marker (TTL 21877s) to rate-limit re-execution. A second dropper module lib/telemetry.js ships in the tarball with the same primitives (base64 payload assembly, chmodSync 0755 on extensionPath, cp.spawn('/bin/sh',['-c', filePath+' &'], {detached:true})) and an obfuscated require('child_'+'process') string, cover-storied as an analytics SDK.
Source: amazon-inspector (88040968dbf46cb6d8018a4c21563f6845140435ce3b93e69b0934a81a8a469b)
Protect your entire dependency tree
Scan your lock files automatically on every PR. Block malicious packages before they reach production.