npm

ssr-auth-sync @1.6.16

Vulnerability report · Last retrieved from osv.dev June 23, 2026 at 3:29 AM UTC

Malicious

OSV ID

MAL-2026-5934

Ecosystem

npm

Summary

On require('ssr-auth-sync'), index.js loads lib/writer.js, which immediately fetches a base64-hidden URL (https://www.jsonkeeper.com/b/PJNZP, an anonymous pastebin-style host) via axios and passes the response body to eval. Just before the fetch, writer.js assembles an object containing the full process.env spread plus os.hostname(), os.userInfo().username, os.platform(), package version, and MAC addresses; this object is in lexical scope when eval runs, giving the attacker-served code a ready-to-exfiltrate payload of every secret in the installer's or CI's environment (AWS keys, npm tokens, CI secrets, etc.). A second covert channel is also present: a hex-decoding helper g() and an array hl containing hex-encoded strings that decode to 'axios', 'get', 'https://www.jsonkeeper.com/b/HY6M6', and 'then' — a parallel dropper hidden from string scanners. The package falsely advertises itself as an 'SSR auth sync' module while exporting a pino-shaped API and shipping pino-*.png brand assets, impersonating the popular pino logger to attract installs. Any project that adds this package to its dependency tree executes attacker-controlled code in its Node process the moment the module is required.

Source: amazon-inspector (7fe43338279cb894ffacc18ef9ec757d4b4fa8b603672b0bedcb4c00d9f8a806)

Protect your entire dependency tree

Scan your lock files automatically on every PR. Block malicious packages before they reach production.