Skip to content
OpenAdvisories
Malicious MAL-2026-17759 GHSA-55qj-2wwm-x5v6

@coopeuch/button

npm package · versions 1.999.999

Reported Oct 11, 2026 · Updated Oct 12, 2026

If this package is installed

Remove it, treat the machine (or CI runner) as compromised, and rotate every secret, token and key it could access — from a different, clean machine.

Details

Source: amazon-inspector (ee1a3bb0818d46a9c83659ed32f8ab209477970658d5f6f8241a12c96d137c98)
The package's postinstall lifecycle script (postinstall.js) runs automatically on `npm install` and harvests installer host identifiers — hostname, username, uid/gid, home directory, non-internal network interfaces with MAC addresses and CIDRs, configured DNS servers, reverse-DNS internal FQDN, CPU/memory, the consumer package name/version/path, CI markers, npm_config_* values, and container runtime indicators — then POSTs the JSON report over HTTPS to the hardcoded host collector.oob.s4yhii.com at /_npm-poc/beacon and issues a DNS lookup for a label-prefixed subdomain of oob.s4yhii.com as an out-of-band beacon. The destination is not the installer's own infrastructure and is not caller-configurable. The `@coopeuch` scope combined with the 1.999.999 version has the shape of dependency-confusion targeting of a specific organization's internal namespace, in which `npm install` resolves this public package in place of an intended internal one and emits the fingerprint to the author's collector.

Source: ghsa-malware (2acd60fae59edef47c863b5bb4874afbdfc59b1360bb5feec23847efa2da477c)
Any computer that has this package installed or running should be considered fully compromised. All secrets and keys stored on that computer should be rotated immediately from a different computer. The package should be removed, but as full control of the computer may have been given to an outside entity, there is no guarantee that removing the package will remove all malicious software resulting from installing it.