CUTSIGNcutting for sign — daily OSINT threat read
AI-generated draft, unreviewed. Version 2, written by a model from the stored public sources on 2026-10-31; hype score 12. It is regenerated when the evidence changes and is published as a verdict card under /cards/ once it crosses the publish bar. Status: superseded. Supersedes version 1.

Unit 42: CL-STA-0954 chained FortiManager CVE-2024-47575 and KEV-listed CVE-2025-61624 to deploy PEERSTITCH

Patch now + Hunt / IRP1confidence: highP1 +2deep read +1KEV CVE-2025-61624 +3day 3 of the story +25 publishers +1five or more publishers +1primary source +1actor named +1

Unit 42 reports an actor breached a telecom MSP's FortiManager, stole configs and credentials for 500+ managed FortiGates, then used CVE-2025-61624 to plant the memory-resident PEERSTITCH implant; CISA lists CVE-2025-61624 as exploited. Today: capture evidence before rebooting, hunt FortiGate auto-script objects and log-kill activity, rotate credentials held in device configs, and apply FG-IR-26-122.

Triage: CVE-2025-61624 is KEV-listed as exploited [S4], and Unit 42 documents one FortiManager compromise exposing credentials and keys for 500+ managed FortiGates [S1].

CISA KEV confirms exploitation of CVE-2025-61624 [S3][S4]. Unit 42 is primary research with quoted artifacts for the campaign chain [S1]. SecurityWeek [S2] returned unrelated content, and The Hacker News [S5] is secondary.

Changed since version 1

What happened

Timeline

2024-10-23CVE-2024-47575 (FortiManager FortiJump) listed in CISA KEV. S3
2026-10-16CISA adds CVE-2025-61624 to KEV on evidence of active exploitation. S4
2026-10-19Federal remediation due date for CVE-2025-61624. S3
undatedUnit 42 publishes CL-STA-0954 / PEERSTITCH research with IoCs and a YARA rule. S1

Detect

FortiGate auto-script objects with path traversal names · FortiOS system event / config change logs (syslog or FortiAnalyzer forward)

index=* devid=* type="event" subtype="system" (cfgpath="system.auto-script" OR msg="*auto-script*") (cfgobj="*../*" OR msg="*../*") | stats count min(_time) as first_seen max(_time) as last_seen values(action) as action values(cfgobj) as cfgobj values(msg) as msg by devname user ui

A hit means: An auto-script object was created, edited or deleted with ../ in its name, the technique Unit 42 ties to the PEERSTITCH loader and md-acme.conf drop [S1]. Treat as likely compromise; the actor deleted these objects shortly after use, so a delete event alone matters [S1].

Traffic or SSL-VPN sessions involving campaign IPs · FortiGate traffic and VPN event logs, proxy/egress logs

index=* (srcip IN ("23.240.77.233","47.18.167.159","45.32.41.202","198.199.122.22") OR dstip IN ("23.240.77.233","47.18.167.159","45.32.41.202","198.199.122.22") OR remip IN ("23.240.77.233","47.18.167.159","45.32.41.202","198.199.122.22")) | stats count min(_time) as first_seen max(_time) as last_seen values(dstport) as dstport values(action) as action values(user) as user by devname srcip dstip

A hit means: A device talked to campaign infrastructure. Outbound to 23.240.77.233 on 8085 or 8084 matches the loader download and ACME reverse-shell channel [S1]; inbound SSL-VPN logins match the actor's use of cracked credentials [S1]. Confirm the role of the other IPs against [S1].

Logging daemons killed, crashlogs cleared, or FortiGateCloud admin activity · FortiOS CLI audit and system event logs

index=* devid=* (msg="*killall*miglogd*" OR msg="*killall*syslogd*" OR msg="*crashlog clear*" OR user="FortiGateCloud") | stats count min(_time) as first_seen max(_time) as last_seen values(msg) as msg values(ui) as ui by devname user

A hit means: Someone stopped local or remote logging, cleared crashlogs, or an admin named FortiGateCloud acted on the device. Unit 42 lists all three as actor tradecraft [S1]. Also check for gaps in each device's syslog stream, since a successful kill produces silence rather than events.

Rogue Virtual FortiGate registration on FortiManager · FortiManager event / device management logs

index=* "FMG-VMTM23017412" | stats count min(_time) as first_seen max(_time) as last_seen values(msg) as msg by host

A hit means: The serial of the rogue Virtual FortiGate Unit 42 observed appears in your logs [S1]. Treat the FortiManager and every device it manages as in scope. Absence does not clear you; the actor may use other serials.

Verify

Scope

Affected

Only if

Not affected if

None stated by the sources.

Fixed in: See Fortinet FG-IR-26-122 [S6]. Fixed versions are not stated in the provided material.

Enumerate

Contain

Eradicate

Recover

Re-enter the loop when

Debrief

Detection coverage — checked automatically

CategorySourceStatus
VendorImpacted vendor / CERT advisorypublished — primary source among the thread's sources: https://www.cisa.gov/known-exploited-vulnerabilities-catalog
GovernmentCISA KEV · CVE-2024-26008nothing found — not in the catalog
GovernmentCISA KEV · CVE-2024-47575published — listed 2024-10-23, federal due 2024-11-13
GovernmentCISA KEV · CVE-2025-61624published — listed 2026-10-16, federal due 2026-10-19
ReferenceNVD · CVE-2024-26008published — published 2025-10-14, CVSS 3.1 5.3
ReferenceNVD · CVE-2024-47575published — published 2024-10-23, CVSS 3.1 9.8
ReferenceNVD · CVE-2025-61624published — published 2026-04-14, CVSS 3.1 6
VM scannersQualys · CVE-2024-26008nothing found — no ThreatPROTECT or Security Blog post names it; the QID knowledge base needs a login
VM scannersQualys · CVE-2024-47575published — ThreatPROTECT: CISA Added Fortinet FortiManager Vulnerability to its Known Exploitable Vulnerabilities Catalog (CVE-2024-47575)
VM scannersQualys · CVE-2025-61624nothing found — no ThreatPROTECT or Security Blog post names it; the QID knowledge base needs a login
VM scannersRapid7 · CVE-2024-26008published — InsightVM coverage stated
VM scannersRapid7 · CVE-2024-47575published — InsightVM coverage stated · 1 Metasploit module (not linked)
VM scannersRapid7 · CVE-2025-61624published — InsightVM coverage stated
VM scannersTenable · CVE-2024-26008published — 1 plugin: 270402 Fortinet Fortigate FGFM protocol allows unauthenticated reset of the connection (FG-IR-24-041)
VM scannersTenable · CVE-2024-47575published — 1 plugin: 209559 Fortinet FortiManager Missing Authentication (FG-IR-24-423)
VM scannersTenable · CVE-2025-61624published — 1 plugin: 306463 Fortinet Fortigate Path Traversal in CLI (FG-IR-26-122)
EDR / endpoint VMCrowdStrike blognothing found — no post names it among the feed's 10 newest items
EDR / endpoint VMMicrosoft Security blognothing found — no post names it among the feed's 10 newest items
EDR / endpoint VMSentinelOne blognothing found — no post names it among the feed's 10 newest items
EDR / endpoint VMSentinelOne Labsnothing found — no post names it among the feed's 10 newest items
WAF / edgeAkamai blognothing found — no post names it among the feed's 1179 newest items
WAF / edgeCloudflare WAF managed-ruleset changelognothing found — no post names it among the feed's 136 newest items
Cloud / containerWiz blognothing found — no post names it among the feed's 714 newest items
Linux distro errataDebian tracker · CVE-2024-26008published — tracker entry
Linux distro errataDebian tracker · CVE-2024-47575published — tracker entry
Linux distro errataDebian tracker · CVE-2025-61624published — tracker entry
Linux distro errataRed Hat · CVE-2024-26008nothing found — no Red Hat entry
Linux distro errataRed Hat · CVE-2024-47575nothing found — no Red Hat entry
Linux distro errataRed Hat · CVE-2025-61624nothing found — no Red Hat entry
IDS / researchCisco Talos blognothing found — no post names it among the feed's 15 newest items
IDS / researchEmerging Threats open · CVE-2024-26008nothing found — no open rule names it (exploit, web_server, web_specific_apps sets)
IDS / researchEmerging Threats open · CVE-2024-47575published — 5 Suricata rules: sid 2057690, 2057691, 2057692, 2057693, 2057694
IDS / researchEmerging Threats open · CVE-2025-61624nothing found — no open rule names it (exploit, web_server, web_specific_apps sets)
Detection contentElastic detection rulesnothing found — no rule file names PEERSTITCH / CVE-2024-47575 / CVE-2024-26008
Detection contentElastic Security Labsnothing found — no post names it among the feed's 102 newest items
Detection contentSigmaHQ rulesnothing found — no rule file names PEERSTITCH / CVE-2024-47575 / CVE-2024-26008
Detection contentSplunk ESCUnothing found — no rule file names PEERSTITCH / CVE-2024-47575 / CVE-2024-26008
CommunityNuclei template · CVE-2024-26008nothing found — no template under http/cves
CommunityNuclei template · CVE-2024-47575nothing found — no template under http/cves
CommunityNuclei template · CVE-2025-61624nothing found — no template under http/cves
MSSP / IR firmsArctic Wolf blognothing found — no post names it among the feed's 10 newest items
MSSP / IR firmsHuntress blognothing found — no post names it among the feed's 746 newest items
MSSP / IR firmsRapid7 blognothing found — no post names it among the feed's 20 newest items
MSSP / IR firmsSophos threat researchnothing found — no post names it among the feed's 15 newest items
ResearchUnit 42published — Unit 42 Uncovers PEERSTITCH, a Stealthy FortiGate Implant

Checked automatically 2026-10-31 21:13Z from public sources: 18 published, 27 nothing found, 0 not machine-checkable, 0 failed. "Nothing found" means the public source answered and had nothing, as of that moment; a feed covers only its newest posts. Re-checked daily.

What a person would still look up (5)
VM scannersWhether your scanner has checks for CVE-2025-61624 / FG-IR-26-122 and CVE-2024-47575, and whether they authenticate to FortiOS and FortiManager.
NGFW / IPSWhether your IPS vendor publishes signatures for CVE-2024-47575 FGFM exploitation and for traffic to the campaign IPs.
SIEMWhether FortiOS and FortiManager event, config-change and CLI audit logs are ingested, with the field names the hunts use, and whether log-silence alerting exists.
File / memory scanningWhether you can run the Unit 42 YARA rule against FortiGate files or memory, which may need Fortinet support.
Threat intel / blocklistsWhether the campaign IPs, URLs and hashes are loaded into egress and VPN blocklists.

Exposure queries — generated automatically

shodan · cve · CVE-2024-47575

vuln:CVE-2024-47575

open · Shodan tags a service with a CVE from its banner version; a paid-tier filter. Exact for this CVE, blind to a host Shodan has not fingerprinted.

0match this spelling on Shodan · 2026-10-31 — Shodan has tagged no banner with this CVE yet; its tagging follows its own version fingerprinting, not the advisory

shodan · cve · CVE-2024-26008

vuln:CVE-2024-26008

open · Shodan tags a service with a CVE from its banner version; a paid-tier filter. Exact for this CVE, blind to a host Shodan has not fingerprinted.

0match this spelling on Shodan · 2026-10-31 — Shodan has tagged no banner with this CVE yet; its tagging follows its own version fingerprinting, not the advisory

shodan · cve · CVE-2025-61624

vuln:CVE-2025-61624

open · Shodan tags a service with a CVE from its banner version; a paid-tier filter. Exact for this CVE, blind to a host Shodan has not fingerprinted.

0match this spelling on Shodan · 2026-10-31 — Shodan has tagged no banner with this CVE yet; its tagging follows its own version fingerprinting, not the advisory

shodan · cpe · fortinet:fortimanager

cpe:"cpe:/a:fortinet:fortimanager"

open · Every Fortimanager service Shodan fingerprinted, any version (CPE 2.2 form of cpe:2.3:a:fortinet:fortimanager). Affected per NVD: >= 6.2.0 < 6.2.13; >= 6.4.0 < 6.4.15; >= 7.0.0 < 7.0.13; >= 7.2.0 < 7.2.8; >= 7.4.0 < 7.4.5; = 7.6.0.

0match this spelling on Shodan · 2026-10-31

shodan · product · fortinet:fortimanager

product:"Fortimanager"

open · Banner product name, NVD's spelling; adjust if Shodan's differs. Affected per NVD: >= 6.2.0 < 6.2.13; >= 6.4.0 < 6.4.15; >= 7.0.0 < 7.0.13; >= 7.2.0 < 7.2.8; >= 7.4.0 < 7.4.5; = 7.6.0.

0match this spelling on Shodan · 2026-10-31 — a text search for "Fortimanager" matches 13 services, but no product or http.component facet value names this product; Shodan may not fingerprint it

censys · product · fortinet:fortimanager

host.services: (software.product = "Fortimanager")

Censys Platform host search, software as fingerprinted at layer 7. Affected per NVD: >= 6.2.0 < 6.2.13; >= 6.4.0 < 6.4.15; >= 7.0.0 < 7.0.13; >= 7.2.0 < 7.2.8; >= 7.4.0 < 7.4.5; = 7.6.0.

shodan · cpe · fortinet:fortimanager_cloud

cpe:"cpe:/a:fortinet:fortimanager_cloud"

open · Every Fortimanager Cloud service Shodan fingerprinted, any version (CPE 2.2 form of cpe:2.3:a:fortinet:fortimanager_cloud). Affected per NVD: >= 6.4.1 <= 6.4.7; >= 7.0.1 < 7.0.13; >= 7.2.1 < 7.2.8; >= 7.4.1 < 7.4.5.

0match this spelling on Shodan · 2026-10-31

shodan · product · fortinet:fortimanager_cloud

product:"Fortimanager Cloud"

open · Banner product name, NVD's spelling; adjust if Shodan's differs. Affected per NVD: >= 6.4.1 <= 6.4.7; >= 7.0.1 < 7.0.13; >= 7.2.1 < 7.2.8; >= 7.4.1 < 7.4.5.

0match this spelling on Shodan · 2026-10-31 — a text search for "Fortimanager" matches 13 services, but no product or http.component facet value names this product; Shodan may not fingerprint it

censys · product · fortinet:fortimanager_cloud

host.services: (software.product = "Fortimanager Cloud")

Censys Platform host search, software as fingerprinted at layer 7. Affected per NVD: >= 6.4.1 <= 6.4.7; >= 7.0.1 < 7.0.13; >= 7.2.1 < 7.2.8; >= 7.4.1 < 7.4.5.

shodan · cpe · fortinet:fortiproxy

cpe:"cpe:/a:fortinet:fortiproxy"

open · Every Fortiproxy service Shodan fingerprinted, any version (CPE 2.2 form of cpe:2.3:a:fortinet:fortiproxy). Affected per NVD: >= 7.0.0 < 7.4.12; >= 7.6.0 < 7.6.5.

0match this spelling on Shodan · 2026-10-31

shodan · product · fortinet:fortiproxy

product:"Fortiproxy"

open · Banner product name, NVD's spelling; adjust if Shodan's differs. Affected per NVD: >= 7.0.0 < 7.4.12; >= 7.6.0 < 7.6.5.

0match this spelling on Shodan · 2026-10-31 — a text search for "Fortiproxy" matches 5 services, but no product or http.component facet value names this product; Shodan may not fingerprint it

censys · product · fortinet:fortiproxy

host.services: (software.product = "Fortiproxy")

Censys Platform host search, software as fingerprinted at layer 7. Affected per NVD: >= 7.0.0 < 7.4.12; >= 7.6.0 < 7.6.5.

shodan · cpe · fortinet:fortiswitchmanager

cpe:"cpe:/a:fortinet:fortiswitchmanager"

open · Every Fortiswitchmanager service Shodan fingerprinted, any version (CPE 2.2 form of cpe:2.3:a:fortinet:fortiswitchmanager). Affected per NVD: >= 7.0.0 < 7.0.7; >= 7.2.0 < 7.2.8.

0match this spelling on Shodan · 2026-10-31

shodan · product · fortinet:fortiswitchmanager

product:"Fortiswitchmanager"

open · Banner product name, NVD's spelling; adjust if Shodan's differs. Affected per NVD: >= 7.0.0 < 7.0.7; >= 7.2.0 < 7.2.8.

0match this spelling on Shodan · 2026-10-31 — a text search for "Fortiswitchmanager" matches nothing on Shodan

censys · product · fortinet:fortiswitchmanager

host.services: (software.product = "Fortiswitchmanager")

Censys Platform host search, software as fingerprinted at layer 7. Affected per NVD: >= 7.0.0 < 7.0.7; >= 7.2.0 < 7.2.8.

shodan · alias · fortinet:fortimanager

http.title:"FortiManager"

open · Banner spelling suggested by the model from the card text (login page title of the management console); counted against Shodan before it was shown.

2,555services internet-wide on Shodan · 2026-10-31

shodan · alias · fortinet:fortiproxy

http.title:"FortiProxy"

open · Banner spelling suggested by the model from the card text (login page title of the proxy web console); counted against Shodan before it was shown.

759services internet-wide on Shodan · 2026-10-31

NVD names 2 more affected products (libraries and embedders); the CVE query covers them where Shodan has fingerprinted the version.

Banner spellings: a model read 4 from the NVD names and this card's text (former and marketing names, console titles); 2 matched something on Shodan and are shown above, the rest were dropped.

Scope every query in your own tool, never in a shared document: Shodan `net:<your_ranges>`, `org:"<your_org>"` or `hostname:<your_domain>` (or a Shodan Monitor network alert, which applies the scope for you); Censys `host.ip: <your_ranges>` or `host.dns.names: <your_domain>`. Then compare the banner version with the affected range. Generated automatically 2026-10-31 21:13Z from the CVE ids and NVD's CPE configurations, each Shodan query counted against Shodan itself; re-built daily with the coverage check.

Open questions

Sources

Public OSINT only. AI-generated by the pipeline; structure follows the DAIR model from Dynamic Incident Response (Joshua Wright). Published automatically once it crosses the publish bar.