{"dataType":"CVE_RECORD","dataVersion":"1.0","cveMetadata":{"cveId":"GCVE-110-OSM-2026-14054","assignerOrgId":"","assignerShortName":"Vulnetix","state":"PUBLISHED","datePublished":"2026-10-11T14:57:18Z","dateUpdated":"2026-10-24T04:09:37Z","dateReserved":""},"containers":{"cna":{"providerMetadata":null,"title":"","descriptions":[{"lang":"en","value":"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.\n\nENTRY\n  postinstall.js (install-hook: node ./postinstall.js)\n  - Install Hook Executes Local JS File in package.json\n\nDESTINATION\n  - 2 exfil (custom-c2)\n  (values recorded in verified_iocs)\n\nEXFIL\n  - Network Request in postinstall.js: \"https.request(\"\n  - System Information Collection in postinstall.js: \"os.userInfo()\"\n  - DNS Lookup in postinstall.js: \"dns.lookup(\"\n\nADDITIONAL FINDINGS\n  - Brand New Package\n  - Very New NPM Publisher Account\n  - Publisher Has Other Malicious Packages\n  - Rapid Version Publishing\n\nPAYLOAD FILES\n  postinstall.js","supportingMedia":null}],"references":[{"url":"https://opensourcemalware.com/threats/ea99accb-2f14-4e21-befe-ad4bb80a5a43","name":"Malicious npm package: @coopeuch/button","tags":["advisory"]},{"url":"https://osv.dev/vulnerability/MAL-2026-17759","name":"","tags":["advisory"]},{"url":"https://registry.npmjs.org/@coopeuch/button","name":"","tags":["vendor"]}],"metrics":[{"format":"CVSS_V3","scenarios":null,"cvssV2_0":null,"cvssV3_0":null,"cvssV3_1":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H","baseScore":8.8,"baseSeverity":"HIGH"},"cvssV4_0":null,"other":null}],"problemTypes":[{"descriptions":[{"lang":"en","description":"Embedded Malicious Code","cweId":"CWE-506","type":"CWE"}]}],"affected":[{"vendor":"unknown","product":"@coopeuch/button","collectionURL":"https://registry.npmjs.org","packageName":"@coopeuch/button","repo":"","defaultStatus":"affected","versions":[{"version":"all","status":"affected","versionType":"","lessThan":"","lessThanOrEqual":"","changes":null}],"cpes":null,"modules":null,"programFiles":null,"platforms":null}],"cpeApplicability":null,"rejectedReasons":null,"replacedBy":null,"x_vulnetix_aliases":{"direct":["MAL-2026-17759"]}},"adp":null}}