VDB
GCVE-110-OSM-2026-10473
GCVE-110-OSM-2026-10473
Advisory PublishedCVSS 8.8/10
The package fires attacker-controlled code on `npm install` via both `preinstall.js` and `index.js` (postinstall). preinstall.js collects hostname, username, platform, cwd, and the full `process.env`, JSON-encodes it, and POSTs it over HTTPS with TLS verification disabled to the hardcoded bare-IP endpoint https://209.99.185.109/preinstall. The postinstall path reads installer-owned secret files from the current working directory and its parents (`.env`, `../.env`, `../../.env`, `.npmrc`, `package.json`), captures `process.env`, executes `whoami` and `id`, and POSTs the aggregate to https://209.99.185.109/postinstall (also with TLS verification disabled). The tarball additionally ships a `login.ps1` note referencing the publisher account `oxy12@proton.me` and a local publish workflow under `C:\Users\hp\Documents\alelo\npm-publish`; combined with the name `alelo-api` and version `99.0.0`, this indicates a typosquat / dependency-confusion attack aimed at the Alelo organization. Any installer that runs `npm install alelo-api` leaks environment variables, npm tokens, and any `.env` secrets in the working tree to the hardcoded IP.
Judge assessment: This is a credential-theft and environment-exfiltration implant delivered as an npm install hook, with a clear attacker model of harvesting secrets from developer machines or CI runners. The `preinstall.js` entrypoint captures `process.env`, hostname, username, cwd, and platform, then POSTs them to `alelo1786663101.requestcatcher.com`, while `index.js` reads `.env`, `.npmrc`, and parent `.env` files before sending them off and running `whoami`. The package also abuses both `preinstall` and `postinstall` in `package.json`, and the brand-new publisher account plus typosquat-style Alelo branding reinforce that this is a deliberate dependency-confusion attack rather than a legitimate utility. The OSV advisory corroborates the same behavior and the recovered plaintext exfil domain matches the code exactly.
ENTRY
preinstall.js (install-hook: node preinstall.js)
- Install Hook Executes Local JS File in package.json
- Postinstall Script in package.json
DESTINATION
- 1 exfil (custom-c2)
(values recorded in verified_iocs)
EXFIL
- Environment Variable Exfiltration in preinstall.js: "process.env, timestamp: new Date().toISOString() }; const req = https.request({ ..."
- Payload Download from Paste Service in index.js: "requestcatcher.com"
- System Information Exfiltration in preinstall.js: "os.hostname(), user: os.userInfo().username, platform: os.platform(), cwd: proce..."
- HTTP Data Exfiltration in preinstall.js: "os.userInfo().username, platform: os.platform(), cwd: process.cwd(), env: proces..."
- Payload Download from Paste Service in preinstall.js: "requestcatcher.com"
- Network Request in index.js: "https.request("
- System Information Collection in index.js: "os.userInfo()"
- Network Request in preinstall.js: "https.request("
(+1 more)
ADDITIONAL FINDINGS
- Shell Command Execution in index.js: "require('child_process')"
- Brand New Package
- Very New NPM Publisher Account
PAYLOAD FILES
preinstall.js
Weaknesses (CWE)
CWE-506Embedded Malicious Code
Risk Scores
CVSS 3.1
8.8/10
High · CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
Affected Products
| Vendor | Product | Versions | Platforms |
|---|---|---|---|
| unknown | alelo-api | all (affected) | — |
Aliases
Browse GCVE Records
417 records in the GCVE database · Updated August 26, 2026
No matching records found.
Explore Further
Investigate this vulnerability in the interactive console or download the raw GCVE record.