VDB
GCVE-110-OSM-2026-11719
GCVE-110-OSM-2026-11719
Advisory PublishedCVSS 9.6/10
This package is malicious. It is not a real library. An attacker put it on the public npm registry. The package name is a copy of a private, internal package name. This is a dependency confusion attack. A build that gets the name from public npm installs this package in place of the real one.
The package.json has a `preinstall` script. npm runs this script during install. The script file is `preinstall.js`. It runs before a person can read the code.
The script collects data about the host. It reads the host name, the user name, the current directory, the install directory, the package name, the package version, the operating system, the Node.js version, and the npm user-agent text.
The script sends this data to remote servers. It uses three ways. First, it makes a DNS request to a subdomain of `oast.online`. It writes the token, the package name, the host name, and the user name into the DNS name as hex text. Second, it sends an HTTPS POST with the data as JSON to the same `oast.online` host. If HTTPS fails, it uses plain HTTP. Third, it sends an HTTP POST with the same JSON to a fixed IP address, 5.189.159.252. The beacon uses a fixed token, `swisscom-oce-3b9f1c7a2e`.
The `index.js` file does nothing. It is a placeholder. The code comments say this is authorized bug-bounty research. The behavior is still an unwanted install-time beacon. It sends host data to attacker-controlled servers without consent. All versions are malicious. Treat every host that installed this package as exposed. Remove the package. Look for DNS and HTTP traffic to the listed servers.
Judge assessment: This is a dependency-confusion implant that behaves like an install-time beacon for an attacker: `package.json` runs `preinstall.js`, which immediately collects host data and sends it off-box. The attacker model is clear from the code and metadata: a public npm package named like a private internal library (`b2b-frontend-external-library`) with an inflated `9999.0.0` version, published by `pr0t31n`, whose account already has a 0.666 malicious ratio and several prior malicious packages. The payload in `preinstall.js` exfiltrates `os.hostname()`, `os.userInfo().username`, `process.cwd()`, `__dirname`, platform, Node version, and npm user-agent to `dae7n4pijsh1ahi9684gu8get3kaiefc9.oast.online` and `5.189.159.252`, including DNS-based exfil via hex-encoded labels. The README-style comments claiming "Authorized security research" do not match the observable behavior: this is still an unwanted out-of-band beacon executed during install, so the package should be treated as malicious and submitted.
ENTRY
preinstall.js (install-hook: node preinstall.js)
- Install Hook Executes Local JS File in package.json
DESTINATION
- 2 exfil (custom-c2)
(values recorded in verified_iocs)
EXFIL
- OAST/Interactsh Exfiltration in preinstall.js: "oast.online"
- Data Encoding for Exfiltration in preinstall.js: "encodeURIComponent(TOKEN"
- System Information Collection in preinstall.js: "os.userInfo()"
- DNS Lookup in preinstall.js: "dns.lookup("
ADDITIONAL FINDINGS
- Publisher Has Other Malicious Packages
- Brand New Package
- Very New NPM Publisher Account
- Rapid Version Publishing
PAYLOAD FILES
preinstall.js
Weaknesses (CWE)
CWE-506Embedded Malicious Code
Risk Scores
CVSS 3.1
9.6/10
Critical · CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H
Affected Products
| Vendor | Product | Versions | Platforms |
|---|---|---|---|
| unknown | b2b-frontend-external-library | all (affected) | — |
Aliases
Browse GCVE Records
540 records in the GCVE database · Updated September 8, 2026
No matching records found.
Explore Further
Investigate this vulnerability in the interactive console or download the raw GCVE record.