VDB

GCVE-110-OSM-2026-10473

GCVE-110-OSM-2026-10473
Advisory PublishedCVSS 8.8/10
Vulnetix · Advisory published August 14, 2026
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

VendorProductVersionsPlatforms
unknownalelo-apiall (affected)

References

advisory
vendor

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.

$ Console Community · 100/wk Open console ›