MAL-2026-12632 Malicious code in claims-payout-offer-api (npm)
Malicious package
Published
MAL-2026-12632 is a malicious package: claims-payout-offer-api (npm). Every version was published to cause harm.
Task:
1. Search this repository's dependency manifests and lockfiles for the package, including transitive dependencies.
2. If it is present, remove it, regenerate the lockfile with the project's package manager, and replace whatever it was used for.
3. List any CI runners, developer machines or containers that installed it, so their secrets can be rotated.
4. If the package is not used anywhere, say so and change nothing.
Reference: https://insights.sbomify.com/MAL-2026-12632/ (Markdown: https://insights.sbomify.com/MAL-2026-12632/index.md)
- Package
- claims-payout-offer-api
- Registry
- npm
What is MAL-2026-12632?
MAL-2026-12632 is a malicious package in claims-payout-offer-api, published on 5 Aug 2026.
Official description
On require() of the package, index.js loads polyfill.js which reconstructs C2 hostnames from split string fragments (oob-worker.cf100-416.workers.dev, oob-worker.cf103-070.workers.dev, oob-worker.cf99-9b3.workers.dev), with a DNS-TXT base64 code-channel fallback via sdk.dl.wel1.ru, ext.dl.wel1.ru, pkg.dl.wel1.ru, and net.dl.wel1.ru. The code selects a platform-specific payload, downloads it via https.get, writes it under a disguised name (e.g. dotnet_diag.exe on Windows,.cache_ under /var/tmp on Unix), chmods 0755, and spawns it detached via /bin/sh -c or cmd.exe /c start. A sibling lib/telemetry.js duplicates the same dropper logic. Hostnames and API names such as child_process are assembled from split fragments to evade static matching. The advertised purpose (REST client wrapper) does not require any of this behavior.
What should I do about MAL-2026-12632?
Remove the package from your dependencies and lockfiles, then rotate any secrets on machines where it was installed.