XHack Logo
XHack
Products
Services
Compliance
Pricing
Resources
Company
Sign upLogin
XHack Logo
XHackOffensive Security

Certified offensive security team delivering penetration testing evidence written for your auditor.

OSCP+OSCPC-AI/MLPenCASA
support@xhack.io

24/7 SOC Operations

XHack Status
Under attack? Get help now
Services
  • VAPT Services
  • Red Teaming
  • SOC Services
  • Threat Intelligence
  • Incident Response
  • Managed Testing
Pricing
  • Platform Plans
  • Services Pricing
Compliance
  • SOC 2
  • PCI DSS
  • ISO 27001
  • GDPR
  • HIPAA
  • ISO 42001
  • AI Maturity Assessment
  • TX-RAMP
  • NBFC / SECP
  • All Frameworks
Products
  • Vulnerability Assessment
  • GitGuard
  • AI Probe
  • SOC Dashboard
  • AI Agent
  • Cloud Investigation
Comparison
  • XBOW vs XHack
  • Horizon3 vs XHack
  • Strix vs XHack
  • Pentera vs XHack
Resources
  • Platform Tour
  • All Features
  • Install the Agent
  • XHack AI
  • Documentation
  • Blog
  • Case Studies
  • Documents
  • FAQ
Company
  • About Us
  • Our Team
  • Certifications
  • Security and Trust
  • VAPT Explained
  • Contact

© 2026 XHACK (SMC-PRIVATE) LIMITED. All rights reserved.

Registered with the SECP, CUIN 0361945. Verify

Security & TrustVulnerability DisclosurePrivacy PolicyTerms of ServiceRefund Policy
Blog/News

CVE-2025-61624: The Medium-Rated FortiOS Bug Behind the PEERSTITCH Implant

XHack

XHack

Author

October 25, 2026

14 min read

CVE-2025-61624: The Medium-Rated FortiOS Bug Behind the PEERSTITCH Implant

Table of contents

19

What CVE-2025-61624 Actually Is

Why a 6.0 Is the Wrong Number to Triage CVE-2025-61624 By

The Chain Unit 42 Reconstructed

How PEERSTITCH Hides

How Many Firewalls? Reading the 500 Correctly

A Timeline With a Hole in It

Are You Exposed to CVE-2025-61624?

Fixing CVE-2025-61624

Hunting for CVE-2025-61624 and PEERSTITCH

The Pattern: Quiet Entries in a Loud Catalog

Where XHack Fits After CVE-2025-61624

FAQ: CVE-2025-61624 Questions Answered

What is CVE-2025-61624?

Is CVE-2025-61624 being exploited?

Which versions does CVE-2025-61624 affect?

Was CVE-2025-61624 a zero-day?

Does patching remove PEERSTITCH?

How do I check for CVE-2025-61624 abuse?

The Bottom Line on CVE-2025-61624

Read this in 30 seconds: CVE-2025-61624 is a path traversal in the FortiOS command line that lets an admin with read-write rights write or delete any file. Palo Alto Networks’ Unit 42 found attackers using it to reach root on FortiGate firewalls and plant a memory-resident implant called PEERSTITCH.

  • It is scored Medium and was still used to take root. Fortinet rates CVE-2025-61624 CVSS 3.1 6.0, NVD rates it 6.5, and Unit 42 says the escalation went from FortiOS admin to “root on the underlying firewall operating system.”
  • It was step two of a chain that started with a 9.8. The same intrusion began in September 2024 with CVE-2024-47575 against a telecom provider’s FortiManager, before Fortinet published that bug.
  • CISA gave agencies three days for CVE-2025-61624. The KEV entry was added October 16, 2026, with an October 19 deadline and the forensic triage flag, two days after Unit 42’s report.
  • The date it was first used is missing. Unit 42 does not say when CVE-2025-61624 was exploited, and Fortinet’s advisory is dated April 14, 2026, 185 days before KEV.
  • Patching does not end this. Unit 42’s attackers held configuration and credential material for more than 500 managed FortiGates, and the report says that trust material stays valid until it is rotated.

A bug scored 6.0 finished an intrusion that began with a 9.8, and the number that decides your patch queue is the wrong one.

CVE-2025-61624 only works for someone who is already an administrator, which is exactly why scanners rank it low and why it matters here. This article covers what the bug is, how Unit 42 says it fit into the PEERSTITCH chain, why the “500 firewalls” figure is easy to misread, what the timeline leaves unanswered, and what to check on a FortiGate you already patched.

What CVE-2025-61624 Actually Is

Fortinet published advisory FG-IR-26-122, titled “Path Traversal in CLI”, on April 14, 2026. It says the command line interpreter “may allow a privileged attacker to achieve arbitrary write or delete files” through crafted arguments to existing commands.

The record, checked against Fortinet, NVD and the CISA KEV JSON:

  • Weakness: CWE-22, path traversal. Fortinet lists the impact as escalation of privilege and the component as the CLI.
  • Fortinet’s score: CVSS 3.1 6.0, AV:L/AC:L/PR:H/UI:N/S:U/C:N/I:H/A:H, with a temporal score of 5.4.
  • NVD’s score: 6.5, AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:H/A:H. The only difference is the attack vector.
  • CISA’s tags in the NVD record: exploitation active, automatable no, technical impact total.
  • Who found it: the advisory says Fortinet discovered it internally. It lists no outside researcher.
  • Exploited: the advisory page says “Known Exploited: Yes”. It shows no update date, so we cannot tell when that flag was added.
  • KEV: added October 16, 2026, due October 19, forensic triage Yes, ransomware use Unknown.

Fortinet lists these affected and fixed versions:

ProductAffectedFix
FortiOS 7.67.6.0 to 7.6.47.6.5 or later
FortiOS 7.47.4.0 to 7.4.97.4.10 or later
FortiOS 7.2, 7.0, 6.4All versionsMigrate to a fixed release
FortiProxy 7.67.6.0 to 7.6.47.6.5 or later
FortiProxy 7.47.4.0 to 7.4.117.4.12 or later
FortiProxy 7.2, 7.0All versionsMigrate to a fixed release
FortiPAM 1.71.7.01.7.1 or later
FortiPAM 1.6 and olderAll versionsMigrate to a fixed release
FortiSwitchManager 7.27.2.0 to 7.2.77.2.8 or later
FortiSwitchManager 7.07.0.0 to 7.0.67.0.7 or later

FortiPAM 1.8 is not affected. Fortinet lists a virtual patch named FG-VD-59270.0day in FMWP database update 25.120 and no other workaround.

One more place the bug lives: Siemens ships a FortiGate NGFW inside its RUGGEDCOM APE1808. Siemens advisory SSA-975644 was published March 10, 2026, and its revision of May 12 added CVE-2025-61624, with the fix in NGFW 7.4.10. If you run that device, your patch path goes through Siemens support.

Why a 6.0 Is the Wrong Number to Triage CVE-2025-61624 By

Look at the vector again. PR:H means the attacker needs high privileges first, and Fortinet scores the attack vector as local, since the bug is in the CLI. A scanner that sorts by CVSS pushes it below anything critical.

But the score measures one step in isolation. It cannot see that the attacker who reaches this step has already beaten the harder fight, and that the step takes them out of the FortiOS admin sandbox and onto the operating system underneath. CISA’s own tag says the technical impact is total.

We made the same point in our post on CVE-2026-0322, where “authenticated” meant the attacker already held high privileges and the real question was how they got them. For CVE-2025-61624, Unit 42 answers that question.

The Chain Unit 42 Reconstructed

Unit 42 published the PEERSTITCH report on October 14, 2026. It tracks the activity as CL-STA-0954, also known as UNC5820, and says parts of the post-exploitation work “overlap with intrusions attributed to suspected nation-state actors.” That is the strongest attribution language in the report.

The victim was a telecommunications managed service provider. The steps, in the report’s order:

  1. September 2024: the FortiManager. Attackers exploited CVE-2024-47575, a missing-authentication bug in FortiManager’s fgfmsd service, against the provider’s central appliance. They registered a rogue “localhost” virtual FortiGate and pulled a configuration archive shortly after.
  2. An “extended dwell period.” The report does not date it.
  3. FortiGate administrator access. The report says the escalation started from FortiOS admin access. The stolen archive held credentials for managed FortiGates, but the part of the report we read does not spell out exactly how the attackers got that access.
  4. Root through CVE-2025-61624. The flaw sits in the system.auto-script feature of the FortiOS CLI. Unit 42 says the auto-script object name is not sanitized, so a name with traversal sequences can place the script body anywhere on the file system, and that let an admin, including a super_admin, read and write files as root.
  5. The implant. PEERSTITCH was loaded from a file written through the same flaw.

Step 1 has a date we can check. Fortinet published its FortiManager advisory FG-IR-24-423 on October 23, 2024, and CISA listed CVE-2024-47575 the same day. So the intrusion began weeks before the first bug in the chain was public.

CVE-2025-61624 attack chain from Unit 42: FortiManager compromise in September 2024, rogue virtual FortiGate and configuration archive, FortiOS admin access, root through the auto-script flaw, PEERSTITCH in memory, command channel through Apache ACME abuse
How a 9.8 and a 6.0 combined

How PEERSTITCH Hides

We have not analyzed the sample ourselves, so this is Unit 42’s description, not ours.

PEERSTITCH is a 64-bit ARM64 Linux program written in C. It runs from memory and leaves no persistent binary on disk, and the loader deletes its own file after running. It opens no listening ports and makes no outbound connections of its own.

It injects code into two FortiOS daemons: miglogd, which handles logging, and iked, which handles IPsec VPN key exchange. The two hooks pass tags to each other, and for tagged VPN sessions iked takes a path that Unit 42 says bypasses default FortiOS security validations.

The command channel is separate. Unit 42 describes attackers abusing the ACME certificate module (mod_md) of the Apache web server, so that attacker-controlled responses run commands that open an SSH reverse shell. A mode that keeps polling keeps the channel alive.

Unit 42 also says, with medium confidence, that the attackers deliberately degraded logging. That matters for hunting, because the usual place to look is the place they were reducing.

How Many Firewalls? Reading the 500 Correctly

The figure you will see in headlines is “500+ firewalls”. Unit 42’s wording is narrower. The configuration archive taken from FortiManager held running configurations, credentials and trust material for more than 500 managed FortiGates. The report calls that exposure of “configuration and credential material rather than confirmed intrusion” into client networks.

How many firewalls actually received PEERSTITCH? The report says “a select number” and gives no count.

Security Affairs’ summary says Palo Alto researchers reported PEERSTITCH was used to “expose 500+ firewalls.” It does not say whether those devices were implanted, accessed or only had configurations exposed, so it can be read as a larger claim than Unit 42 made. If you are scoping your own response, use Unit 42’s version.

A Timeline With a Hole in It

DateEventSource
Sept 2024Attackers exploit CVE-2024-47575 on a provider’s FortiManagerUnit 42
2024-10-23Fortinet publishes FG-IR-24-423; CISA lists CVE-2024-47575 the same dayFortinet, KEV
2026-03-10Siemens SSA-975644 published (V1.0, without CVE-2025-61624)Siemens
2026-04-14Fortinet publishes FG-IR-26-122, discovered internallyFortinet, NVD
2026-05-12Siemens revision 1.1 adds CVE-2025-61624Siemens
2026-10-14Unit 42 publishes the PEERSTITCH reportUnit 42
2026-10-16CISA adds CVE-2025-61624 to KEV, due October 19KEV JSON
CVE-2025-61624 timeline from the September 2024 FortiManager intrusion to the October 2026 CISA KEV listing, with the undated exploitation window marked
The undated step in the middle of the chain

The intervals, computed from those dates:

  • Fortinet’s advisory to KEV: 185 days.
  • FortiManager advisory to the FortiOS advisory: 538 days.
  • Unit 42’s report to KEV: 2 days.
  • KEV listing to federal deadline: 3 days.

What the record does not say: when attackers first used CVE-2025-61624. Unit 42 gives no date for that step, and its report does not say whether Fortinet knew of the bug at the time. So we cannot call this a zero-day, and we are not going to.

What the dates do show is an advisory that sat at Medium for six months, then moved to CISA’s list within two days of a public incident report. The Fortinet page we read lists no update date, so we cannot tell when its exploited flag appeared.

Are You Exposed to CVE-2025-61624?

CVE-2025-61624 needs an administrator account with at least read-write permissions, plus access to the CLI. On its own, that is a high bar. Your real exposure to CVE-2025-61624 depends on how an attacker could get that account:

  • A reachable FortiManager. The chain Unit 42 documents began there. FortiManager talks to FortiGates over FGFM on TCP 541, so a manager reachable from the internet is the front door.
  • Stolen or reused admin credentials. Unit 42 says credentials in the stolen archive were recoverable by brute force.
  • A device in the affected version list (above), including every FortiOS 7.2, 7.0 and 6.4 build, which have no fix at all.

Fortinet’s FortiManager advisory lists three workarounds for the first bug: fgfm-deny-unknown enable, local-in policies that allow only known FortiGate addresses on port 541, and a custom CA with fgfm-cert-exclusive enable. Each applies to specific FortiManager releases, so check the advisory before using one.

Fixing CVE-2025-61624

CISA flagged the KEV entry for forensic triage, and Unit 42 says patching alone does not end this compromise. So the order for CVE-2025-61624 matters.

  1. Preserve evidence first. Save device logs and crash logs, and export the configuration, before you upgrade or reboot.
  2. Hunt before you trust the patch. The next section lists what Unit 42 says to check.
  3. Upgrade to a fixed release. FortiOS 7.6.5 or 7.4.10, FortiProxy 7.6.5 or 7.4.12, FortiPAM 1.7.1, or FortiSwitchManager 7.2.8 or 7.0.7. If you run FortiOS 7.2, 7.0 or 6.4, Fortinet says to migrate to a fixed release.
  4. If you cannot upgrade yet, use the FG-VD-59270.0day virtual patch and restrict who can reach the management interface.
  5. Fix the front door. If your FortiManager was ever reachable from the internet, patch it for CVE-2024-47575 and apply the FGFM restrictions above.
  6. Rotate, if you were exposed. Unit 42 says trust material remains valid until rotated, so change admin credentials and the certificates held by the management platform.

Hunting for CVE-2025-61624 and PEERSTITCH

These checks for CVE-2025-61624 abuse come from Unit 42’s report. Several need access below the normal admin CLI, so plan to involve Fortinet TAC or a forensic provider. That last part is our suggestion, not Unit 42’s.

# Crash logs, the command Unit 42 names: look for signal 11 in miglogd, iked or syslogd
diagnose debug crashlog read

# Auto-script objects: look for names containing ../ sequences
show system auto-script

Beyond those two commands, Unit 42 lists:

  • Anonymous 16 KB read-write-execute memory regions in the miglogd and iked processes.
  • Patched bytes at specific offsets in those daemons, and writes to /proc/<pid>/mem between them.
  • Log traces of killall -9 miglogd, killall -9 syslogd and diagnose debug crashlog clear.
  • A FortiGateCloud account name that was never provisioned on the device.
  • Intermittent tunnel-interface drops.
  • The file md-acme.conf under the Apache config directory, created through a traversal path.
IndicatorWhere it came fromNote
45.32.41.202 and 198.199.122.22Unit 42 (rogue FortiGate registrations)Both also appear in Fortinet’s October 2024 FortiManager advisory
23.240.77.233 and 47.18.167.159Unit 42 (staging)Single-source
TCP 541 (FGFM), 8084 and 8085Unit 42Check management and attacker-server ports
lldprx, pM.js, index.js, index.wasm, ipssem.jsUnit 42 (file names)Hashes are in the report’s Table 3
/data2/template/Unit 42 (staging directory)
CVE-2025-61624 hunt signals: crash logs, auto-script names with traversal sequences, rogue registrations, indicator IPs shared with Fortinet's 2024 advisory, and the log-degradation commands
What to check on a FortiGate you already patched

We did not reproduce hashes here. Use the full values in Unit 42’s table, since a shortened hash is not a usable indicator.

The Pattern: Quiet Entries in a Loud Catalog

We queried the live KEV JSON. Fortinet has 9 entries added in 2026, and 5 of them carry the forensic triage flag. Path traversal, the class behind CVE-2025-61624, accounts for 14 of the 272 entries added in 2026.

The pairing matters more than the counts. Our post on CVE-2026-104286 covers a CVSS 9.8 Fortinet path traversal in FortiMail that needed no account at all. CVE-2025-61624 is the opposite shape: it needs a privileged account and scored Medium, and it still ended up in an incident report.

Where XHack Fits After CVE-2025-61624

Fair warning: this is where we mention our own services.

A penetration test cannot find an implant that lives in a firewall daemon’s memory, and we will not claim otherwise. What testing can do is check the front door in this story: whether FortiManager or the FGFM port is reachable from the internet, whether admin interfaces are exposed, and whether old firewall branches are still in service. Our AI VAPT services cover that, and managed engagements start at $2,500 on the pricing page.

If you think a device was already compromised, that is incident response, which is scoped individually. Our terms say AI output can be incomplete or wrong, so a human reviews anything you would act on. XHack does not store your agent chats and cannot access them.

FAQ: CVE-2025-61624 Questions Answered

What is CVE-2025-61624?

CVE-2025-61624 is a path traversal (CWE-22) in the FortiOS CLI, and in FortiPAM, FortiProxy and FortiSwitchManager. An authenticated admin with read-write permissions can write or delete arbitrary files through crafted arguments. Fortinet scores it 6.0 and NVD scores it 6.5.

Is CVE-2025-61624 being exploited?

Yes. Fortinet’s advisory says it is known to be exploited, Unit 42 reported attackers using it to gain root on FortiGate firewalls, and CISA added it to KEV on October 16, 2026, with an October 19 deadline and the forensic triage flag.

Which versions does CVE-2025-61624 affect?

FortiOS 7.6.0 to 7.6.4, FortiOS 7.4.0 to 7.4.9, and every FortiOS 7.2, 7.0 and 6.4 release, plus matching ranges in FortiProxy, FortiPAM 1.7.0 and older, and FortiSwitchManager. Fixed releases are 7.6.5, 7.4.10, and the versions listed in the table above.

Was CVE-2025-61624 a zero-day?

We cannot say. Unit 42’s intrusion began in September 2024, but its report gives no date for the use of CVE-2025-61624 and does not say whether Fortinet knew of the bug then. Fortinet published its advisory on April 14, 2026.

Does patching remove PEERSTITCH?

Not by itself, according to Unit 42. The implant runs from memory and the attackers held credentials and certificates for managed devices. Hunt first, upgrade, and rotate admin credentials and trust material if the management platform was ever exposed.

How do I check for CVE-2025-61624 abuse?

Run diagnose debug crashlog read and look for signal 11 crashes in miglogd, iked or syslogd, and review show system auto-script for names with traversal sequences. The deeper memory checks in Unit 42’s report need access beyond the admin CLI.

The Bottom Line on CVE-2025-61624

CVE-2025-61624 is a Medium-rated bug that mattered because of what came before it. A critical flaw in a management server handed an attacker the admin access this one needed, and this one turned that access into root.

Patch the fixed versions, but start by asking whether your FortiManager was reachable and whether any device in your fleet has gaps in its logs. Then rotate what the management platform held.


Categories

News

Previous

OSINT Tools for Bug Bounty: Match Each One to What a Program Will Pay For

Next

Subdomain Enumeration for Bug Bounty: Which Layer to Run and What Each One Costs

On this page

What CVE-2025-61624 Actually Is

Why a 6.0 Is the Wrong Number to Triage CVE-2025-61624 By

The Chain Unit 42 Reconstructed

How PEERSTITCH Hides

How Many Firewalls? Reading the 500 Correctly

A Timeline With a Hole in It

Are You Exposed to CVE-2025-61624?

Fixing CVE-2025-61624

Hunting for CVE-2025-61624 and PEERSTITCH

The Pattern: Quiet Entries in a Loud Catalog

Where XHack Fits After CVE-2025-61624

FAQ: CVE-2025-61624 Questions Answered

What is CVE-2025-61624?

Is CVE-2025-61624 being exploited?

Which versions does CVE-2025-61624 affect?

Was CVE-2025-61624 a zero-day?

Does patching remove PEERSTITCH?

How do I check for CVE-2025-61624 abuse?

The Bottom Line on CVE-2025-61624

Related articles

Continue reading

CVE-2026-110447: A Nextcloud Collabora Command Injection Fixed as a Tidy-Up Commit

News

CVE-2026-110447: A Nextcloud Collabora Command Injection Fixed as a Tidy-Up Commit

CVE-2026-110447 is an exploited Nextcloud Collabora command injection fixed as a tidy-up commit. See the timeline, the p...

Read article
PHP2Shell: Inside CVE-2026-109618 and CVE-2026-109619, the Core PHP RCE That Reaches Back to 2012

News

PHP2Shell: Inside CVE-2026-109618 and CVE-2026-109619, the Core PHP RCE That Reaches Back to 2012

PHP2Shell is an unauthenticated RCE chain in the PHP interpreter itself, confirmed against mod_php. Root cause, exploit ...

Read article
CVE-2026-0322: Why &#8220;Authenticated&#8221; Doesn&#8217;t Mean Low-Risk on a PAN-OS Firewall

News

CVE-2026-0322: Why “Authenticated” Doesn’t Mean Low-Risk on a PAN-OS Firewall

CVE-2026-0322 is a root-level PAN-OS RCE, actively exploited, scored 7.2 by NVD and 8.6 by Palo Alto. Why PR:High is sca...

Read article