VDB
KO

MAL-2026-12433

Malicious code in saas-f-lego-landings (npm)

Details

--- _-= Per source details. Do not edit below this line.=-_

## Source: amazon-inspector (0c96f58511420dcd956adbe21ee52dd1acae9956f5b562887a5c6659679fb52d) saas-f-lego-landings@20.7.5 executes a native binary dropper as a side effect of loading the package. index.js unconditionally requires./_support.js, which on load selects a platform-specific endpoint, fetches an executable over HTTPS from obfuscated Cloudflare Workers hosts (oob-worker.cf10{0,1,2}-*.workers.dev) with a DNS TXT-record fallback to *.dl.well1.site, writes it to /tmp/.cache_* on Unix or %TEMP%/dotnet_diag_*.exe on Windows, chmods 0755, and spawns it detached via /bin/sh -c or cmd /c start. Destination hostnames are reconstructed at runtime via string-split.join() (e.g. ["oob","-worker.cf102-baf.workers.dev"].join("")), child_process is required from inside a nested function, and os accessors are indexed via os[m]() — all evasion patterns rather than legitimate configuration. The tarball also ships lib/telemetry.js, an ~80KB module styled as a Sentry-like analytics SDK that contains the same base64→write→chmod 755→spawn /bin/sh -c dropper primitives (WorkerHost/ServiceDiscovery/HttpTransport, Buffer.from(chunks,"base64"), fs["chmod"+"Sync"](path, mode | parseInt("755",8))); it is not referenced by index.js but corroborates the observability-SDK cover story. Deceptive filenames (dotnet_diag_*.exe,.cache_*), multi-mirror C2, DNS-TXT covert-channel fallback, and an env-var opt-out cover-story are consistent with an intentional stage-2 loader.

Are you affected?

Enter the version of the package you're using.

Affected packages

npm / saas-f-lego-landings

No fixed version published yet for saas-f-lego-landings (npm). Pin to a known-safe version or switch to an alternative.

References