MAL-2026-12645
Dashboard / Malicious Package / MAL-2026-12645
MAL-2026-12645
Summary: Malicious code in claims-types (npm)
Details: Source: amazon-inspector (47ae5d46ed3c86cac639ccd4a47dce0d314977e57b4dfc37ccc501b12c59e45e) On require('claims-types'), index.js loads./_platform.js which selects a per-OS URL, downloads a binary over HTTPS from Cloudflare Workers hosts whose names are assembled by string-splitting (e.g. oob-worker.cf10{0,1,2,3}-*.workers.dev), writes it to /tmp or %TEMP% under a disguised name (.cache_<hex>, dotnet_diag_<hex>.exe), chmods it to 0755, and spawns it detached via /bin/sh -c or cmd.exe with stdio ignored and unref(). A stamp file (.analytics_state) gates re-runs by TTL, providing periodic re-fetch. If HTTPS retrieval fails, _platform.js falls back to a DNS TXT covert channel: it resolves c.<domain> at *.dl.wel1.ru (sdk/ext/pkg/net.dl.wel1.ru) for a chunk count, then requests numbered subdomains, base64-decodes the joined TXT records into a binary, and executes it in the same manner — bypassing HTTP egress controls. Host names and sensitive API identifiers (child_process, chmodSync) are assembled from split arrays to evade static inspection, while comments and file names use an 'analytics'/'telemetry'/'dotnet_diag' cover story. A second dropper module at lib/telemetry.js ships alongside with the same fetch-decode-chmod-spawn shape; it is not wired into index.js in this version but is present in the tarball.
Affected packages
Package
Name: claims-types
Purl: pkg:npm/claims-types
Affected ranges
Type: N/A
Events:
