MAL-2026-18338: Malicious code in @azure-growth/signup-ux-components (npm)
@azure-growth/signup-ux-components 1.2.2, 1.2.3 and 2.9.9 are dependency-confusion packages that take the name of a package used internally by Microsoft's Azure signup site and not published on the npm registry; 2.9.9 carries a version number above the internal release, so resolvers that also check the public registry prefer it. Their preinstall script runs node index.js, which reads the OS username and hostname and sends them in a DNS lookup of msrc-poc.<user>.<hostname>.dbg6vplohjpkmtolbi6g18ekofkxjzm4s.oast.fun, an out-of-band interaction collector; index.js is also the package entry point, so the lookup repeats whenever the package is required. Any machine that installed one of these versions has disclosed its username and hostname to a third party. The earlier 0.0.0-stage version is an inert placeholder and is not affected.
--- -= Per source details. Do not edit below this line.=-
Source: amazon-inspector (e6d15071d1e0d5aba0263de2826a4fde28064184bd5b38b1294a0ad1493069ef) The package declares a preinstall script that executes index.js on npm install. The script reads os.userInfo().username and os.hostname() and encodes them into a DNS label of the form msrc-poc.${user}.${host}.dbg6vplohjpkmtolbi6g18ekofkxjzm4s.oast.fun, then issues a DNS lookup for that name. The oast.fun host is an interactsh out-of-band collector, and the lookup transmits the installer's OS login name and hostname to that collector automatically at install time, without consent or configuration. The @azure-growth scope resembles an internal Microsoft namespace, consistent with a dependency-confusion beacon targeting internal build systems. No code is fetched or executed from the collector in this version, but installer identity is leaked on every install.
Source: ossf-package-analysis (d6aa62a9421f736418e09f0b247beb52637c7cb21f03cfba35656222e48215fc) The OpenSSF Package Analysis project identified '@azure-growth/signup-ux-components' @ 1.2.2 (npm) as malicious.
It is considered malicious because:
- The package communicates with a domain associated with malicious activity.