500+
FortiGate running configurations stolen from a single compromised FortiManager, including encrypted credentials, private keys, and network topology for every managed downstream firewall
0
Disk files, listening ports, or outbound connections created by PEERSTITCH - making it invisible to file integrity monitoring, network flow analysis, and standard EDR tools
2
Core FortiOS daemons patched in memory by PEERSTITCH: miglogd (system logging) and iked (IKE/IPsec VPN service), allowing the implant to intercept VPN session validation silently
25 months
Dwell time between the September 2024 FortiManager breach and the October 14, 2026 Unit 42 public disclosure, during which CL-STA-0954 maintained persistent access and intercepted network traffic

Reach 50,000+ security professionals

Sponsor a newsletter slot and put your brand in front of CISOs, engineers, and IT decision-makers.

Summarize with:

PEERSTITCH leaves no file on disk, opens no network port, and generates no outbound connection - yet threat cluster CL-STA-0954 used it to maintain silent access inside a telecommunications managed service provider for more than two years, intercepting VPN sessions and network traffic across 500+ downstream FortiGate firewalls. Unit 42 published its full analysis on October 14, 2026.

The attack chain began in September 2024. CL-STA-0954 exploited CVE-2024-47575 (FortiJump, CVSS 9.8), a missing authentication flaw in FortiManager's management channel, to register a rogue virtual FortiGate with the target's central FortiManager appliance. A single exfiltration event captured running configurations, encrypted credentials, private keys, and network topology for every FortiGate the appliance managed. Unit 42 confirmed that those credentials were recoverable by brute-forcing the exported ciphertext.

Armed with recovered admin credentials, the actors logged into managed FortiGates and exploited a second vulnerability, CVE-2025-61624, a path traversal in the FortiOS CLI auto-script engine. By naming an auto-script object with traversal sequences, they placed a loader outside the intended directory and executed it as root. That loader fetched the PEERSTITCH ARM64 binary from attacker-controlled infrastructure and injected it into two running daemons: miglogd (FortiOS logging) and iked (IKE/IPsec VPN). The implant then built a covert memory bridge between those two processes to intercept VPN session tokens and bypass FortiOS security validations silently.

For any organization that runs FortiGate firewalls through a managed service provider or operates FortiManager internally, this is an active exposure requiring immediate hunting. A compromised FortiManager from 2024 may have handed CL-STA-0954 the keys to every firewall it managed - and PEERSTITCH may still be running in memory today.

How CL-STA-0954 Turned One FortiManager Breach Into 500+ Compromised Firewalls

CVE-2024-47575 is a missing authentication vulnerability (CVSS 9.8) in the FortiManager FMG-Access management channel on TCP port 541. The flaw allows an unauthenticated remote attacker to execute arbitrary commands by sending crafted requests that register a rogue virtual FortiGate to a target FortiManager instance. There are no credentials required, no user interaction needed, and no prior access to the network.

CL-STA-0954 used this vector to register a rogue virtual FortiGate named "localhost" with the serial number FMG-VMTM23017412, originating from the external staging IP 45.32.41.202. Immediately after successful registration, the attackers generated a configuration archive and exfiltrated it. That archive contained:

  • Complete running configuration files for more than 500 managed FortiGate firewalls
  • Central management SQLite databases (global.db and revinfo.db) covering every enrolled device, policy package, and revision
  • A flat-text inventory of every FortiGate serial number alongside its public IP
  • Internal network topology maps, routing tables, and interface configurations
  • Ciphertext administrative, local, and SSL/VPN credentials
  • Encoded private keys and public certificates for every managed device

Unit 42 confirmed that the SSL/VPN and administrative passwords were recoverable from the exfiltrated configurations by brute force. The actors then established unauthorized SSL/VPN sessions to perimeter firewalls from known staging infrastructure at 23.240.77.233 and 47.18.167.159, gaining authenticated access to internal network-management segments.

The FortiManager is the single point of failure for every firewall it manages. One successful exploitation of CVE-2024-47575 hands an attacker complete visibility and access to the entire managed estate.

PEERSTITCH: How the Memory-Resident Implant Evades Every Standard Control

PEERSTITCH is a 64-bit Linux ARM64 executable written in C and statically linked against glibc. It acts as a one-shot process memory patching injector. The delivery chain begins when CL-STA-0954 exploits CVE-2025-61624, a path traversal in the FortiOS CLI auto-script engine. By naming an auto-script object with traversal sequences (../../../../setup), the attackers write a JavaScript loader script to an arbitrary filesystem location and execute it with root privileges. The loader downloads five files from attacker infrastructure at hxxp://23.240.77[.]233:8085/ - including the ARM64 injector (saved as lldprx) - into /data2/template/.

The lldprx binary then:

  1. Iterates /proc/ to locate the PIDs for /bin/miglogd and /bin/iked
  2. Reads /proc/[pid]/maps to extract base addresses of both daemons
  3. Attaches to each process via ptrace(PTRACE_SEIZE) and halts execution
  4. Snapshots all ARM64 registers (X0 through X30, SP, and PC)
  5. Allocates a 16,384-byte RWX anonymous memory region via mmap in each process
  6. Writes a 1,344-byte injection payload into each RWX buffer via /proc/[pid]/mem
  7. Applies NOP patches (0xAA0003E0 on ARM64) at three static text-segment offsets and writes a trampoline patch to redirect execution into the hook buffer

The hook code in both daemons then builds a covert shared-memory bridge: when either daemon processes data matching embedded markers (TCP port 8550 or link-local IP 169.254.0.1), it extracts session tokens and writes them into a 16-slot circular ring buffer in the counterpart daemon's memory via /proc/[counterpart_pid]/mem. When iked processes subsequent VPN sessions, its hook checks this buffer and - if a matching token exists - takes an alternate return path that bypasses FortiOS security validations.

The result: PEERSTITCH intercepts and manipulates VPN session handling without creating any file on disk, without opening any socket, and without generating any traffic of its own. Standard controls - file integrity monitoring, network detection, process listing, and port scanning - all miss it.

Free daily briefing

Briefings like this, every morning before 9am.

Threat intel, active CVEs, and campaign alerts, distilled for practitioners. 50,000+ subscribers. No noise.

Reconnaissance, Credential Decryption, and the Full Scope of the Compromise

Following the initial FortiManager breach, CL-STA-0954 used the compromised appliance to push unauthorized packet-capture configurations to multiple downstream managed FortiGate firewalls. The captures targeted unencrypted HTTP traffic and 11 specific TCP services (ports 3696-3706) covering remote administration, license management, telemetry, and web services discovery. A subsequent sniffing phase targeted UDP port 69 (TFTP), UDP ports 1812-1813 (RADIUS and RADIUS accounting), and TCP port 389 (LDAP), enabling active directory query interception, authentication sniffing, and file/firmware capture.

The actors also established persistence through a second channel: weaponizing the native Apache mod_md (Managing Domains) module on FortiGate firewalls. They created a rogue ACME configuration that mapped DNS-01 certificate validation challenges to /bin/node. When Apache initiates certificate renewal, it executes Node.js with parameters fetched from the attacker's ACME server, and the domain name field carries an injected shell command. Setting MDRenewMode to always forced continuous polling, creating a persistent outbound reverse shell to kali@23.240.77.233:8084 that re-established itself on every ACME renewal cycle.

The actors' anti-forensic discipline was extensive. They killed miglogd and syslogd before executing malicious auto-scripts, cleared crash logs via diagnose debug crashlog clear, rolled back rogue admin accounts and auto-script objects automatically after deployment, and overwrote the md-acme.conf file with benign content to mask the reverse shell configuration. Unit 42 assesses with medium confidence that the actors also deliberately induced telemetry drops on the tunnel management interface during active operations.

The Ivanti Connect Secure zero-day chain published three days before this disclosure shows the same pattern: nation-state-linked actors targeting perimeter VPN infrastructure with chained exploits, maintaining access through anti-forensic persistence, and deliberately suppressing logging during operations.

“From a single FortiManager appliance, our observations are that the attackers exfiltrated an archive containing running configurations, cryptographic material, and database files containing information about more than 500 managed FortiGate firewalls.”

Unit 42, Palo Alto Networks, October 14, 2026

CL-STA-0954 Actor Profile: Nation-State Tradecraft from a Criminal Cluster

Unit 42 tracks this activity as CL-STA-0954, which overlaps with UNC5820 in Mandiant's nomenclature. The actor's targeting of a telecommunications managed service provider reflects a deliberate strategy: compromise the management layer to inherit access to every downstream client network without needing to breach each one individually. A single FortiManager yielded cryptographic trust material for 500+ firewalls protecting the MSP's own infrastructure and its clients' networks.

The technical profile is inconsistent with typical criminal ransomware operations. The actors demonstrated deep familiarity with FortiOS internals, ARM64 process memory layout, and the FortiManager FGFM protocol. Exploiting CVE-2025-61624 via the auto-script engine requires knowledge of how FortiOS validates and executes management objects that is not publicly documented. The PEERSTITCH injector's use of ptrace for process parasitization, cross-daemon memory sharing via /proc/[pid]/mem, and its specific NOP patch targeting of three static daemon offsets required prior binary analysis of FortiOS images.

Unit 42 assesses with low confidence that CL-STA-0954 is criminally motivated rather than espionage-focused, but acknowledges the overlap with suspected nation-state TTPs. The MITRE ATT&CK techniques observed include:

  • T1190: Exploit Public-Facing Application (FortiJump, CVE-2024-47575)
  • T1055.008: Process Injection via ptrace (PEERSTITCH implant delivery)
  • T1040: Network Sniffing (RADIUS, LDAP, TFTP interception)
  • T1136.001: Create Account (rogue FortiGateCloud admin account creation)
  • T1070.004: Indicator Removal via file deletion and log clearing
  • T1133: External Remote Services (unauthorized SSL/VPN sessions)
  • T1587.001: Develop Capabilities (custom PEERSTITCH malware)

The Qilin and Settra ransomware groups exploiting GlobalProtect CVE-2026-0257 earlier this year used a similar playbook: authenticate into a target network via stolen VPN credentials derived from perimeter device exploitation, then pivot laterally using Cobalt Strike and BloodHound. CL-STA-0954's approach is significantly more sophisticated, implying either greater resourcing or state backing.

Indicators of Compromise for PEERSTITCH and CL-STA-0954

The IOCs below come from the Unit 42 analysis published October 14, 2026. The IP addresses are defanged in the original report but are presented here in copy-paste-ready format for direct SIEM and firewall rule use. Block or alert on these indicators across all network segments, particularly on perimeter egress rules for FortiGate management traffic.

Subscribe to unlock Indicators of Compromise

Free subscribers unlock full IOC lists, Sigma detection rules, remediation steps, and every daily briefing.

Sigma Detection Rules for PEERSTITCH FortiGate Implant

Two generated Sigma rules target PEERSTITCH detection: the first catches the auto-script path traversal exploit pattern (CVE-2025-61624), and the second detects the ptrace-based process injection used to plant the implant in miglogd and iked. Both carry experimental status; validate against your FortiGate log format and EDR telemetry before enabling automatic blocking.

Subscribe to unlock Sigma Detection Rules

Free subscribers unlock full IOC lists, Sigma detection rules, remediation steps, and every daily briefing.

Subscribe to unlock Sigma Hunt Queries

Free subscribers unlock full IOC lists, Sigma detection rules, remediation steps, and every daily briefing.

Subscribe to unlock WAF Detection Rules

Free subscribers unlock full IOC lists, Sigma detection rules, remediation steps, and every daily briefing.

How to Hunt for PEERSTITCH and Remediate Your FortiGate Today

Because PEERSTITCH lives entirely in process memory, standard patching and file scanning cannot remove it. Remediation requires confirming whether the implant is present, then rebuilding affected devices from clean configurations. Follow these steps in order.

Apply official patch →www.fortiguard.com/psirt/FG-IR-24-423

Subscribe to unlock Remediation & Mitigation steps

Free subscribers unlock full IOC lists, Sigma detection rules, remediation steps, and every daily briefing.

The bottom line

PEERSTITCH demonstrates that a single FortiManager compromise cascades into total visibility across every firewall it manages. CL-STA-0954 stole configurations, decrypted credentials, intercepted authentication traffic, and ran a persistent implant for 25 months before Unit 42 disclosed the campaign on October 14, 2026. If your FortiGate was managed by a FortiManager that was not patched before October 2024, assume the archive was exfiltrated and hunt for PEERSTITCH in process memory today. Patch CVE-2025-61624 and block the four attacker IPs before end of business.

This analysis is generic. create a free account to score threats like this against your own stack.

Frequently asked questions

What is PEERSTITCH malware?

PEERSTITCH is a memory-resident ARM64 Linux implant written in C that patches two core FortiOS daemons - miglogd (the logging service) and iked (the IKE/IPsec VPN daemon) - directly in process memory using ptrace. It creates a covert shared-memory channel between the two daemons to intercept and manipulate VPN session tokens, allowing CL-STA-0954 to bypass FortiOS security validations silently. It leaves no persistent file on disk, opens no listening network port, and generates no outbound connections of its own, making it resistant to file integrity monitoring, network flow analysis, and most endpoint detection tools.

How did CL-STA-0954 deploy PEERSTITCH on FortiGate firewalls?

CL-STA-0954 used a two-stage chain. First, they exploited CVE-2024-47575 (FortiJump) to register a rogue virtual FortiGate with a target's FortiManager, exfiltrating running configurations, credentials, and cryptographic material for more than 500 managed FortiGates. Second, using recovered admin credentials, they logged into managed FortiGates and exploited CVE-2025-61624, a path traversal in the FortiOS CLI auto-script engine, to write and execute the PEERSTITCH loader (a script named ../../../../setup) with root privileges. The loader then downloaded the ARM64 injector from a remote server and patched miglogd and iked in memory.

Which FortiGate or FortiOS versions are affected by CVE-2025-61624?

CVE-2025-61624 affects FortiOS versions where the CLI auto-script object name is not sanitized for path traversal sequences. The flaw lets an authenticated administrative account write arbitrary files as root by placing an auto-script object name containing traversal sequences like ../../../../ outside the intended directory. Fortinet published patches in April 2026 when the CVE was assigned. Organizations that applied FortiOS updates in 2025 or early 2026 should verify their exact build version against Fortinet's advisory. CVE-2024-47575 (FortiJump) affecting FortiManager was patched in October 2024 via FG-IR-24-423.

How do I detect PEERSTITCH on my FortiGate?

PEERSTITCH runs entirely in memory, so detection requires hunting volatile state rather than files. Use the FortiOS diagnostic shell to inspect /proc/[pid]/maps for miglogd and iked - look for anonymous 16,384-byte memory regions with rwxp (read-write-execute-private) permissions, which PEERSTITCH allocates via mmap. Check text segment integrity at three static offsets (base+0x106F7B8, base+0x1072E20, base+0x109A570) for the NOP patch value 0xAA0003E0. Review the FortiOS diagnostic crash log (diagnose debug crashlog read) for Signal 11 segmentation faults in miglogd, iked, or syslogd, which appear during initial injection attempts. Inspect FortiOS configuration revisions for any system.auto-script objects with path traversal strings.

What data did CL-STA-0954 steal from compromised FortiGates?

From the single FortiManager breach, CL-STA-0954 exfiltrated a configuration archive containing: complete running configuration files for more than 500 managed FortiGate firewalls; central management SQLite databases with administrative domains, global objects, and device revision metadata; a flat-text inventory listing every FortiGate serial number alongside its public IP; internal network topology maps and routing tables; and ciphertext administrative, local, and SSL/VPN credentials, along with encoded cryptographic trust material including public certificates and private keys. Unit 42 confirmed that the credentials were recoverable by successfully brute-forcing them from the exfiltrated configuration files.

Is CL-STA-0954 a nation-state threat actor?

Unit 42 describes CL-STA-0954 (also tracked as UNC5820) as a criminal threat cluster whose post-exploitation tradecraft overlaps with techniques used by suspected nation-state actors. The assessment of criminal rather than espionage motivation is made with low confidence. The actors demonstrated deep familiarity with Fortinet appliance architecture, FortiOS internals, and FortiManager management protocols, and their anti-forensic discipline - killing logging daemons, clearing crash logs, rolling back rogue admin accounts - exceeds typical criminal campaigns. Attribution remains open.

Should I rebuild my FortiGate if I was managed by an affected FortiManager?

Yes, if your FortiManager was confirmed or suspected to be among those breached by CL-STA-0954, you should treat all managed FortiGates as potentially compromised. PEERSTITCH survives reboots as long as an attacker can re-inject it, and the Apache mod_md reverse shell provides a persistent execution path. Unit 42 recommends a full factory reset and rebuild from clean, offline-sourced configurations. Rotate all SSL/VPN credentials, admin passwords, private keys, and certificates associated with those devices. Contact Fortinet support for forensic assistance if you detect indicators of compromise.

What is FortiJump (CVE-2024-47575) and how does it relate to PEERSTITCH?

CVE-2024-47575, dubbed FortiJump by external researchers, is a missing authentication vulnerability (CVSS 9.8) in the FortiManager FMG-Access management channel on TCP port 541. It allows an unauthenticated remote attacker to execute arbitrary commands by registering a rogue virtual FortiGate to a target FortiManager. CL-STA-0954 used FortiJump as the first stage of the PEERSTITCH attack chain: they registered a rogue device, exfiltrated configuration archives for 500+ managed firewalls, recovered credentials from those archives, and then used those credentials to log into managed FortiGates and deploy PEERSTITCH via the second-stage CVE-2025-61624.

Sources & references

  1. Unit 42: PEERSTITCH, a Stealthy FortiGate Implant (October 14, 2026)
  2. Fortinet PSIRT Advisory FG-IR-24-423: FortiManager - Missing authentication in fgfmsd (CVE-2024-47575)
  3. CISA Advisory: Fortinet FortiManager Missing Authentication Vulnerability (CVE-2024-47575)
  4. The Hacker News: Attackers Exploit FortiOS Flaw to Deploy PEERSTITCH Malware on FortiGate VPNs
Summarize with:

Free resources

25
Free download

Critical CVE Reference Card 2025–2026

25 actively exploited vulnerabilities with CVSS scores, exploit status, and patch availability. Print it, pin it, share it with your SOC team.

No spam. Unsubscribe anytime.

Free download

Ransomware Incident Response Playbook

Step-by-step 24-hour IR checklist covering detection, containment, eradication, and recovery. Built for SOC teams, IR leads, and CISOs.

No spam. Unsubscribe anytime.

Follow Decryption Digest

Daily briefings + Google Top Stories in one step.

Enter your email and we'll subscribe you to the daily briefing and add Decryption Digest to your Google Search feed at the same time.

Free. Unsubscribe anytime. Google popup confirms the Top Stories add.

Eric Bang
Author

Founder & Cybersecurity Evangelist, Decryption Digest

Cybersecurity professional with expertise in threat intelligence, vulnerability research, and enterprise security. Covers zero-days, ransomware, and nation-state operations for 50,000+ security professionals every morning.

Daily Briefing

Get briefings like this every morning

Actionable threat intelligence for working practitioners. Free. No spam. Trusted by 50,000+ SOC analysts, CISOs, and security engineers.

Unsubscribe anytime.

Mythos Brief

Anthropic's AI finds zero-days your scanners miss.