bnpl-blocks-mobile-bnpl-shopping-banner@35.1.4
Malicious code in bnpl-blocks-mobile-bnpl-shopping-banner (npm)
Analysis
On require, the package loads _polyfill.js, which fingerprints the host platform/arch and downloads a second-stage binary from Cloudflare Workers endpoints (oob-worker[.]cf101-adf[.]workers[.]dev, oob-worker[.]cf99-9b3[.]workers[.]dev, oob-worker[.]cf103-070[.]workers[.]dev) at paths /pkg/package, /pkg/package-arm64, /pkg/loader_mac, or /pkg/package.exe. If the HTTP download fails, it falls back to a covert DNS-TXT channel via the wel1[.]ru domain family (c[.]sdk[.]dl[.]wel1[.]ru, sdk[.]dl[.]wel1[.]ru, ext[.]dl[.]wel1[.]ru, pkg[.]dl[.]wel1[.]ru, net[.]dl[.]wel1[.]ru) to reconstruct the payload from base64 TXT records. The downloaded binary is written to /var/tmp/.cache_<hex> (or dotnet_diag_<hex>.exe under the Windows temp dir) and executed detached via /bin/sh -c or cmd.exe /c start /b, so it outlives the parent process. The package's declared API (a shopping-banner class) is unrelated to this download-and-execute behaviour.
- analyzed by
- Leitwacht
- first seen
- Aug 5, 2026, 01:38 PM
- analyzed
- Aug 5, 2026, 04:02 PM
Related advisories
- dolyame-ui-action@35.6.3
- bnpl-blocks-independent-bnpl-main-banner@35.4.4
- bnpl-blocks-mobile-bnpl-footer@35.4.3
- bnpl-blocks-mobile-bnpl-floating-button@35.3.6
- dolyame-ui-accordion@35.2.6
- bnpl-blocks-mobile-bnpl-link-group@35.2.3
- bnpl-blocks-mobile-bnpl-documents@35.1.2
- dolyame-ui-portal@35.3.6
Independently detected by the Leitwacht supply-chain probe. IOCs are defanged. Published CC0. Think this is a mistake? See the dispute policy.