{"id":"MAL-2026-12778","summary":"Malicious code in devplatform-spa-plugin-s3-feature-toggle (npm)","details":"\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: amazon-inspector (7574ec8653333519f651022c1d008eca37f884dc753ad8825cda3facdcd9aa61)\nOn require() of the package, index.js loads _runtime.js which selects a platform-specific endpoint, downloads a binary over HTTPS from obfuscated Cloudflare Workers subdomains (oob-worker.cf103-070.workers.dev, oob-worker.cf102-baf.workers.dev, oob-worker.cf101-adf.workers.dev), writes it to /var/tmp/.cache_\u003chex\u003e on POSIX or %TEMP%\\dotnet_diag_\u003chex\u003e.exe on Windows, chmods 0755, and spawns it detached via /bin/sh -c or cmd. Destination hostnames are reconstructed by array-join to defeat static string scanning (e.g. [\"oob-work\",\"er.cf1\",\"03-070.w\",\"orke\",\"rs\",\".d\",\"ev\"].join(\"\")). When HTTPS delivery fails, _runtime.js falls back to a DNS-tunneled channel over TXT records at sdk.dl.wel1.ru / ext.dl.wel1.ru / pkg.dl.wel1.ru / net.dl.wel1.ru: it queries c.\u003cdomain\u003e for a chunk count, iterates \u003ci\u003e.\u003cdomain\u003e to retrieve base64-encoded chunks, concatenates and decodes them into a Buffer, writes the resulting binary to disk, chmods 0755, and spawns it. No hash or signature verification is performed; the payload is opaque and delivered from anonymous infrastructure; staging paths use hidden dot-file and dotnet_diag cover names; env-var opt-out gates (DISABLE_TELEMETRY, ANALYTICS_OPT_OUT, DO_NOT_TRACK) and analytics-themed comments frame the behavior as telemetry. The combination of import-time execution, obfuscated attacker-controlled hosts, DNS-TXT covert-channel fallback, and unverified native-binary execution gives full remote code execution on the installer's host on npm install / require().\n","modified":"2026-08-05T14:37:06.651627058Z","published":"2026-08-05T13:40:04Z","database_specific":{"malicious-packages-origins":[{"versions":["35.7.1"],"id":"IN-MAL-2026-014989","import_time":"2026-08-05T14:19:49.973739159Z","modified_time":"2026-08-05T13:40:04Z","sha256":"7574ec8653333519f651022c1d008eca37f884dc753ad8825cda3facdcd9aa61","source":"amazon-inspector"}]},"references":[{"type":"PACKAGE","url":"https://www.npmjs.com/package/devplatform-spa-plugin-s3-feature-toggle/v/35.7.1"}],"affected":[{"package":{"name":"devplatform-spa-plugin-s3-feature-toggle","ecosystem":"npm","purl":"pkg:npm/devplatform-spa-plugin-s3-feature-toggle"},"versions":["35.7.1"],"database_specific":{"cwes":[{"cweId":"CWE-506","description":"The product contains code that appears to be malicious in nature.","name":"Embedded Malicious Code"}],"indicators":{"evidence_files":[{"tlsh":"e4a1b89a05aa70094bb0dbe087174416f65be6633780c198fb9ca9885f77524c3b2efc","path":"_runtime.js","sha256":"f7f8719ca66327f366591b4a8fcb8067a6a00dcbb049f47633afc8199fce5bbd"}],"package_integrity":[{"filename":"devplatform-spa-plugin-s3-feature-toggle-35.7.1.tgz","hashes":{"sha512_sri":"sha512-Ah3NeyTB2aOqSxamkEPvrL9rYwXTZvMEZiUMtGiYLxbbjhHwpXAx0XPCPFyBMNOTgrFs1wnopn6Q/2ZGGI3xyA==","sha1":"cc6e5974271221c627e44bc1bc46f0a01f58bf6b"}}]},"source":"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/devplatform-spa-plugin-s3-feature-toggle/MAL-2026-12778.json"}}],"schema_version":"1.8.0","credits":[{"name":"Amazon Inspector","contact":["inspector-research@amazon.com"],"type":"FINDER"}]}