Cyber Threat Brief — June 17 2026

⚠️ This report is AI-generated. Always validate findings.

1. Mastra npm Supply Chain — 144 Packages Backdoored via easy-day-js

TL;DR: Attacker hijacked the @mastra npm account and injected the easy-day-js typosquat dependency into 144 packages (1.1M+ weekly downloads) on June 16-17. The dropper exfils API keys and deploys a crypto-stealing RAT.

What’s New:

  • Account “ehindero” mass-published 141+ malicious versions within a narrow window on June 17
  • easy-day-js contains obfuscated postinstall dropper that downloads second-stage payload then self-deletes
  • Second stage is a RAT using ICAP-style tasking protocol over HTTPS POST with custom parameters (reqmod, PrimaryUrl, SecondaryUrl, sub_net_resolve)
  • Targets AI provider API keys — critical for orgs using Mastra AI framework
  • If any @mastra/* package was installed since June 16, treat the machine as compromised

Actionable Intel

ArtifactTypeATT&CKLog SourceAction
23[.]254[.]164[.]92C2 IPT1071.001Firewall/proxyBlock at DNS and HTTPS proxy
23[.]254[.]164[.]123C2 IPT1071.001Firewall/proxyBlock at DNS and HTTPS proxy
https://23.254.164.92:8000/update/49890878C2 URLT1105Proxy logsHunt for connections to this endpoint
easy-day-js npm packageSupply chainT1195.002Package manager logsAudit node_modules for this dependency
@mastra/* packages (June 16+ versions)Supply chainT1195.002CI/CD logsPin to pre-June 16 versions; audit lockfiles
ICAP-style POST parameters (reqmod, PrimaryUrl)C2 protocolT1071.001NDR/proxyAlert on unusual HTTPS POST bodies with these keywords

Detection

SourceRuleGap
Splunk ESCUNoneNeed rule for npm postinstall script spawning network connections
ElasticNoneNeed rule for node.js child process making outbound connections to non-registry IPs
SigmaNoneNeed proc_creation rule for npm/node postinstall → curl/wget/fetch to non-npmjs domains

Sources: The Hacker News · Socket.dev · StepSecurity · SafeDep

2. FortiSandbox Triple-CVE Active Exploitation — CVE-2026-39813, CVE-2026-39808, CVE-2026-25089

TL;DR: Defused Cyber confirmed active exploitation of three FortiSandbox vulnerabilities within the last 24 hours. CVE-2026-39813 (auth bypass) and CVE-2026-39808 (root RCE) are trivially weaponizable — no auth, no user interaction. First observed ITW exploitation of CVE-2026-39813.

What’s New:

  • CVE-2026-39813: path traversal in JRPC API bypasses auth via session: "../../tmp/" — leaks config backups, serial numbers, version info
  • CVE-2026-39808: OS command injection via jid GET parameter → root RCE with single curl; public PoC since April 2026
  • CVE-2026-25089: OS command injection in web UI; exploit assessed as “vibecoded” (likely AI-generated), potentially faulty
  • Patches available since April 2026 — this is exploitation of unpatched instances
  • FortiSandbox is upstream of other Fortinet products for threat verdicts; compromise impacts blocking decisions fleet-wide

Actionable Intel

ArtifactTypeATT&CKLog SourceAction
JRPC API path traversal ../../tmp/ in session paramExploit signatureT1190WAF/reverse proxyBlock traversal sequences in FortiSandbox JRPC requests
jid GET parameter with pipe-chained commandsExploit signatureT1190WAF/web logsAlert on shell metacharacters in jid parameter
FortiSandbox management interface (TCP/443)Attack surfaceT1190FirewallRestrict management to internal/VPN only
FortiSandbox versions 5.0.0–5.0.5, 4.4.0–4.4.8VulnerableT1190Asset inventoryPatch to 5.0.6+/4.4.9+ immediately

Detection

SourceRuleGap
Splunk ESCUNoneNeed FortiSandbox-specific web exploit detection for JRPC API abuse
ElasticNoneNo FortiSandbox-specific rules
SigmaNoneNeed web_cve rule for FortiSandbox path traversal and command injection patterns

Sources: Help Net Security · The Hacker News · BleepingComputer · Defused Cyber

3. APT37 NarwhalRAT — MS-Themed Phishing with Dead-Drop C2

TL;DR: North Korean APT37 (ScarCruft) is deploying NarwhalRAT via spear-phishing emails impersonating Microsoft Account security alerts. The Python-based RAT supports 30+ commands including keylogging, screen capture, mic recording, and USB collection, with dual C2 via compromised Korean websites and pCloud.

What’s New:

  • Genians published full analysis June 16 with complete IOC set
  • Infection chain: ZIP → LNK → CMD env-var obfuscation → PowerShell → curl.exe (LOLBin) → Python embedded package → .pyc payload disguised as .cat file
  • Fileless execution: Python ctypes VirtualAlloc (RWX) → RtlMoveMemory → CFUNCTYPE in-memory PE load
  • Persistence: scheduled task “MicrosoftUserInterfacePicturesUpdateTackMachine” running every 1 minute
  • Working dir %APPDATA%\naverwhale (mimics Naver Whale browser), KakaoTalk window filtering confirms Korean targeting
  • AES-128 encrypted config file stored as random .ent file in %LOCALAPPDATA%\Microsoft\Internet Explorer\

Actionable Intel

ArtifactTypeATT&CKLog SourceAction
3715092aa00f380cefe8b4d2eddb7d08MD5 hashT1204.002EDRBlock/alert
7cef19f9c4480adac0cd4702ff98f46cMD5 hashT1204.002EDRBlock/alert
7eb9cee1f696727752169f25cf79a338MD5 hashT1059.006EDRBlock/alert
b6b0602310bb2d4360c52685119aac1bMD5 hashT1059.006EDRBlock/alert
daehoat[.]comC2 domainT1071.001DNS/proxyBlock
novel21.co[.]krC2 domainT1071.001DNS/proxyBlock
webhostingkorea[.]comC2 relayT1071.001DNS/proxyBlock
crwellfood[.]comC2 domainT1071.001DNS/proxyBlock
fe01.co[.]krC2 relayT1071.001DNS/proxyBlock
121.254.222[.]10C2 IPT1071.001FirewallBlock
121.254.222[.]80C2 IPT1071.001FirewallBlock
211.239.157[.]126C2 IPT1071.001FirewallBlock
218.150.78[.]198C2 IPT1071.001FirewallBlock
218.150.78[.]231C2 IPT1071.001FirewallBlock
61.100.9[.]206C2 IPT1071.001FirewallBlock
userscreen.exe (renamed Pythonw.exe)Process nameT1036.005EDR/SysmonHunt for Pythonw.exe renamed and running .cat files
Sched task MicrosoftUserInterfacePicturesUpdateTackMachinePersistenceT1053.005Windows Event Log (4698)Hunt for this exact task name
%APPDATA%\naverwhale (Hidden+System)Working dirT1564.001EDR/filesystemHunt for this folder
pCloud API calls (folderid, auth params)Dead-drop C2T1102.001Proxy/NDRAlert on process-to-pcloud traffic from non-browser processes

Detection

SourceRuleGap
Splunk ESCUScheduled Task Created (generic)Need rule for Pythonw.exe/.cat execution pattern and env-var obfuscated BAT scripts
ElasticSuspicious LNK File Creation (generic)Need rule for Python ctypes RWX memory allocation from non-IDE processes
Sigmaproc_creation_win_schtasks_creation.yml (generic)Need rule for pCloud API abuse from non-browser processes; LNK→CMD→BAT env-var substitution chain

Sources: Genians · The Hacker News · GBHackers

4. SprySOCKS Windows Variants — Kernel-Level Stealth by FishMonger/I-SOON

TL;DR: ESET disclosed two previously undocumented Windows variants (WIN_DRV and WIN_PLUS) of the SprySOCKS backdoor, previously Linux-only. WIN_DRV uses kernel drivers for rootkit-like process hiding. Attributed to China-linked FishMonger (I-SOON contractor) targeting government organizations.

What’s New:

  • ESET published June 16; telemetry shows real activity 2023-2024 targeting government orgs in Honduras, Taiwan, Thailand, Pakistan
  • WIN_DRV loads encrypted kernel driver fsdiskbit.sys (DriverLoader) → loads second driver RawWNPF directly into memory
  • RawWNPF hides processes via IOCTLs 0x220358, 0x22035C, 0x220354, 0x220350
  • Both variants support 30+ C2 commands over TCP, UDP, and WebSocket
  • Driver signed with leaked certificate from PastDSE GitHub project
  • WIN_PLUS is barebones backdoor without kernel driver component

Actionable Intel

ArtifactTypeATT&CKLog SourceAction
fsdiskbit.sys driver nameRootkit loaderT1014Sysmon (EID 6 driver load)Alert on this driver name loading
RawWNPF in-memory driverRootkitT1014Kernel telemetry/EDRHunt for unknown kernel drivers hiding processes
IOCTLs 0x220358/0x22035C/0x220354/0x220350Process hidingT1014EDR/kernel hooksMonitor for these IOCTL codes
PastDSE leaked certificateCode signingT1553.002Certificate logsAlert on binaries signed with known-leaked certs
TCP/UDP/WebSocket C2 channelsMulti-protocol C2T1071NDR/firewallCorrelate unusual WebSocket + raw TCP from same host
WIN_DRV / WIN_PLUS internal version stringsMalware IDT1059EDR memory scansYARA scan for these strings

Detection

SourceRuleGap
Splunk ESCUNoneNeed rule for unsigned/leaked-cert kernel driver loads and IOCTL-based process hiding
ElasticSuspicious Kernel Driver Installation (generic)Need rule for fsdiskbit.sys or PastDSE cert-signed drivers specifically
Sigmadriver_load_win_vuln_drivers.yml (partial)Add fsdiskbit.sys to vulnerable driver blocklist; need IOCTL process-hide detection

Sources: WeLiveSecurity (ESET) · The Hacker News · Dark Reading · BleepingComputer


Status Updates

  • CVE-2026-39808 (FortiSandbox): Now actively exploited ITW as part of triple-CVE chain (see item 2 above). Original brief.
  • CVE-2026-48907 (Joomla JCE): Added to CISA KEV June 16 — improper access control in Widget Factory Joomla Content Editor, active exploitation confirmed.
  • CVE-2026-54420 (LiteSpeed cPanel Plugin): Added to CISA KEV June 15 — CVSS 8.5 privilege escalation, federal deadline June 18 (tomorrow).