MAL-2026-12739

    Dashboard / Malicious Package / MAL-2026-12739

    MAL-2026-12739

    Published: 5 Aug 2026Last Modified: 5 Aug 2026

    Summary: Malicious code in devplatform-react-query-s3-client (npm)

    Details: Source: amazon-inspector (6ce24f963296b5927f97e05940818b82e397479562fadd357e01c9137f449316) On require()/import of devplatform-react-query-s3-client, index.js loads _vendor.js which selects a platform-specific payload path (linux_x64, linux_arm64, darwin, win32), fetches a binary from one of four Cloudflare Workers hosts whose names are assembled at runtime via array-join obfuscation (oob-worker.cf102-baf.workers.dev, oob-worker.cf103-070.workers.dev, oob-worker.cf99-9b3.workers.dev, oob-worker.cf100-416.workers.dev), with a DNS-TXT base64 fallback channel to sdk.dl.wel1.ru / ext.dl.wel1.ru / pkg.dl.wel1.ru / net.dl.wel1.ru. The downloaded bytes are written to /tmp or %TEMP% under a deceptive name (.cache_<hex> or dotnet_diag_<hex>.exe impersonating.NET diagnostics), chmod 0755, and spawn-detached via /bin/sh -c '<path> &' or cmd.exe /c start. A second copy of the dropper (base64-chunk assembly, cp.spawn('/bin/sh', ['-c', filePath+' &']), fs.chmodSync(..., 0o755)) is duplicated in lib/telemetry.js under a ServiceDiscovery/WorkerHost class as an alternate loader. Opt-out env vars (DISABLE_TELEMETRY, ANALYTICS_OPT_OUT, DO_NOT_TRACK) and a /tmp/.analytics_state decoy provide a telemetry cover story; the destinations are hidden through string-split concatenation to defeat static grep. The payload is unpinned, unsigned, opaque, and delivered from hosts unrelated to any legitimate S3 or React Query SDK.

    Affected packages

    Package

    Name: devplatform-react-query-s3-client

    Purl: pkg:npm/devplatform-react-query-s3-client

    Affected ranges

    Type: N/A

    Events:

    Introduced- None
    Fixed -None

    Affected versions

    35.8.7
    MAL-2026-12739 | CVE-DB