saas-f-lego-landingsnpm
Advisory published Updated
saas-f-lego-landings is a confirmed malicious npm package (MAL-2026-12433) that opens a backdoor for remote access (malicious version 20.7.5). Do not install it — remove it immediately and rotate any exposed credentials.
Malicious code in saas-f-lego-landings (npm)
What this malware does
[email protected] 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 osm — 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.
Malicious versions
Indicators of compromise (SHA-256)
Detection & response playbook
Backdoor / remote accessFind it
Search your lockfiles and build artifacts for saas-f-lego-landings (version 20.7.5).
If you installed it — respond
saas-f-lego-landings establishes remote access, so treat any host that installed it as fully compromised. Isolate the machine, remove the package, rotate all credentials it could reach, and rebuild from a trusted image rather than cleaning in place — a backdoor may have planted additional persistence.
Did it already run?
If saas-f-lego-landings was installed, its post-install payload may already have run. Removing the package does not undo that — check outbound connections and credential use from the install window onward.
Frequently asked questions
Campaign
References
Credits
- Amazon Inspector · finder
Detect & block this
O3 blocks saas-f-lego-landings-class packages before install and in CI — and if it already ran, its runtime egress monitoring catches the C2 callback and severs the channel.