VDB
GCVE-110-OSM-2026-11939
GCVE-110-OSM-2026-11939
Advisory PublishedCVSS 8.8/10
The package's preinstall lifecycle script (preinstall.js) executes automatically on `npm install` and collects the installer's hostname, OS username, current working directory, and CI-related environment variable names. The collected data is base64-encoded and transmitted to a hardcoded out-of-band collector under lyomeri.com via both a DNS lookup (encoding data into a subdomain label under easypanel-agent.<data>.oob.lyomeri.com) and an HTTP GET request to the same host. The package's main entry, index.js, is an empty stub (`module.exports = {}`), so the install-time beacon is the sole functional behavior. The package name mimics the 'easypanel' product, consistent with a dependency-confusion or typosquat delivery vehicle. An in-source comment self-labeling the code as a 'benign canary' does not change that installer-controlled data leaves the machine without consent to an author-controlled endpoint.
ENTRY
preinstall.js (install-hook: node preinstall.js)
- Install Hook Executes Local JS File in package.json
EXFIL
- Data Encoding for Exfiltration in preinstall.js: "encodeURIComponent(raw.slice(0,1400)),timeout:4000},res=>res.resume"
- Network Request in preinstall.js: "http.request("
- System Information Collection in preinstall.js: "os.userInfo()"
- DNS Lookup in preinstall.js: "dns.lookup("
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 | easypanel-agent | all (affected) | — |
Aliases
Browse GCVE Records
506 records in the GCVE database · Updated September 11, 2026
No matching records found.
Explore Further
Investigate this vulnerability in the interactive console or download the raw GCVE record.