Security & Threat Intelligence

The Watch

The Signal

FortiMail's zero-day lets attackers sign phishing that passes DMARC as your domain.

The bug is an unauthenticated file write on the appliance terminating inbound SMTP, and CISA lists it as exploited. A patched build closes the hole, not the incident: any DKIM key or TLS private key an intruder copied still works after the upgrade, as does the LDAP bind credential. Gateways almost never run EDR, so nothing on the box will show you the implant.

In Play

  1. FortiMail Email-Gateway Zero-Day

    CISA added an actively exploited Fortinet FortiMail zero-day to its Known Exploited Vulnerabilities catalog Thursday, per The Hacker News; the flaw is an unauthenticated arbitrary file write on the appliance that terminates your inbound SMTP. Patch status alone won't tell you whether you were hit — the gateway holds DKIM signing keys, TLS private keys, and the LDAP bind credential used for recipient verification. An attacker who owns it reads mail in transit and signs outbound phishing that passes DMARC as your domain, so rotate those secrets, not just the build.

  2. Iran Escalation Window Meets Edge Exploitation

    The Iran conflict now carries a stated date: President Trump said strikes resume after the November midterms absent a deal, with about 9,000 US troops and a third carrier heading to the region and an Iran-linked plot against a US-operated UK base just foiled, per Morning Brew. Iranian clusters such as Pioneer Kitten historically answer kinetic pressure by exploiting internet-facing VPNs and firewalls — the exact appliances already under a fresh wave of zero-days. Google Threat Intelligence Group separately found in-the-wild exploitation nearly doubled from January 2025 to August 2026, so your pre-November edge-hardening sprint is now dual-purpose.

  3. AI Coding-Agent Endpoint Surface

    Anthropic's new Claude Code mods are TypeScript add-ons installed via /plugin, distributed through a public directory, that run with the same machine access as Claude Code itself — and Claude will write one on request, per Simplifying AI. On the laptops holding your source code, cloud credentials, and signing keys, that is an unsandboxed extension supply chain with no vetting layer. Outflank separately showed Codex and Claude Code drift from the base MCP spec, so the schema the model sees can differ from what the server sent, weakening the human-in-the-loop control your policy assumes.

  4. AI Vendors Leave the Public-Disclosure Perimeter

    AI holding company Long Lake closed its roughly $6.3B take-private of Amex Global Business Travel at $9.50/share, moving your executives' itineraries and passport data to a new owner and off public-market disclosure, per Augment. In the other direction, Anthropic is targeting a November IPO — a draft prospectus obtained by Reuters shows ~$518B in compute commitments against $4.6B of 2025 revenue — which would subject it to SEC 8-K incident disclosure for the first time. For private vendors, your contract, not an SEC filing, is now the only thing guaranteeing you hear about a breach.

Deep Dives

FortiMail: The Box Inspecting Your Mail May Be Reading It

An actively exploited, unauthenticated file-write zero-day puts the appliance that terminates your inbound mail into assume-breach territory — and the blast radius is the signing keys it holds, not the firmware.

Why a mail gateway is the worst appliance to lose

The flaw is an unauthenticated arbitrary file write. On an appliance, that primitive escalates to code execution and persistent implants by overwriting web-served paths, scheduled jobs, or configuration. It tops the week for one reason. Secure email gateways almost never run EDR, so an implant sits in a telemetry blind spot that endpoint tooling never queries. The defensible starting posture is assume-breach for any instance exposed before patching. The published advisory excerpt omits the CVE ID, CVSS, affected builds, and KEV due date. All four are in Fortinet PSIRT and the CISA KEV entry. The response proceeds without waiting on the missing identifier.

The stolen secrets outlast the patch

FortiMail terminates inbound SMTP and decides what gets quarantined and what gets delivered. It also holds three categories of secret that survive any firmware fix:

  • DKIM signing keys. Stolen, they let an attacker sign outbound phishing that passes DMARC as the victim's domain.
  • TLS private keys. Mail can be read in transit.
  • LDAP/AD bind credentials used for recipient verification. They give a foothold into the directory.
A patched appliance can still be compromised. Confirming it wasn't is a separate, mandatory step.

Patch, then prove it

The firmware update and the compromise assessment are two distinct jobs. The assessment starts with a diff of the running config against the last pre-disclosure backup. Attacker changes that route mail outward show up in admin accounts, delivery/BCC/forwarding policies, safe-sender lists, and quarantine-release logs. The appliance's outbound connections get baselined. Any indicator hit means a rebuild from a clean image. Patch-in-place is off the table at that point. If the assessment shows mail access or exfiltration, the GDPR Article 33 72-hour clock and the SEC materiality assessment are live. Legal joins before the answer is known.

The vendor-concentration question

This is a recurring Fortinet event. The vendor's perimeter products have landed in KEV repeatedly. An organization running Fortinet for its firewall and VPN as well as its email gateway has placed most of its internet-facing exposure under one vendor's secure-development lifecycle. That belongs in the next review as a vendor-concentration finding. Mid-incident rip-and-replace is the wrong response to it. The nearer second-order risk sits with partners. A compromised supplier or MSSP FortiMail delivers the most convincing business-email-compromise users will ever see, because it arrives through a mail path they already trust.

What to do

  1. Inventory every FortiMail instance — hardware, VM, Fortinet-hosted, and MSSP-managed — and apply Fortinet's fixed build or interim mitigation today; where you cannot patch immediately, restrict all admin and web interfaces to a management network.

  2. Run an assume-breach compromise assessment on any instance exposed before patching, then rotate every gateway-held secret within 72 hours — admin credentials, LDAP bind (re-scoped read-only), a new DKIM selector with the old one revoked, and TLS certificates.

  3. Ask tier-1 vendors and MSSPs in writing by end of week whether FortiMail sits in their mail path and whether they have assessed for compromise.

Iran Put a Date on Retaliation — Your Edge Sprint Is Now Dual-Purpose

The same internet-facing appliances you are patching are precisely the targets Iran's edge-exploiting clusters favor, and the conflict has a publicly stated escalation window.

A stated window is a planning horizon for both sides

Iran's state operators have a record of answering kinetic and economic pressure with destructive and disruptive cyber operations. The new element is a calendar. Strikes may resume after the November midterms absent a deal. Force posture is expanding. Plotting has already reached a US-operated base in the UK. Iranian operators have a planning window, and defenders have the same one. Working threat level: elevated through November and December. The midterm overlap adds weight, given documented Iran election-period operations in prior cycles.

The targeting overlaps with what is already on fire

The actor is Pioneer Kitten, also tracked as Fox Kitten. The historical pattern is entry through internet-facing VPNs and firewalls, followed by brokering that access to ransomware affiliates. The exploited set is specific and worth re-validating by name: CVE-2019-19781 and CVE-2023-3519 (Citrix NetScaler), CVE-2022-1388 (F5 BIG-IP), CVE-2024-3400 (PAN-OS), and CVE-2024-24919 (Check Point). Those appliances are now taking a fresh wave of zero-days. Most remediation capacity stayed flat over the same stretch. Google Threat Intelligence Group's figure: in-the-wild exploitation nearly doubled from January 2025 to August 2026, driven by AI-assisted n-day weaponization.

Patching an edge appliance does not evict an actor who got in before the patch existed. Webshells and rogue admin sessions planted earlier survive the fix and warrant a separate hunt after every patch.

Two cheaper paths that can be closed now

Two lower-skill retaliation routes sit alongside VPN exploitation. The first is internet-exposed OT. In the 2023 water-utility incidents, CyberAv3ngers tampered with PLCs and HMIs that still had default credentials. An external scan for exposed panels and a credential rotation close that path at low cost. The second is wiper resilience. Shamoon-lineage and Agrius-style operations deploy destructive malware, sometimes disguised as ransomware. The deciding control is an immutable or offline backup of tier-1 systems and Active Directory, configured and restore-tested.

The move: a trigger playbook, rehearsed

The highest-leverage preparation is a written geopolitical-trigger playbook, tabletopped before the midterms. The triggers are strike resumption or a new CISA/FBI Iran advisory. On either, the playbook automatically raises logging verbosity, freezes non-essential changes on edge and OT, shortens IR on-call SLAs, and briefs executives. The decisions are made in advance, so on the day of a real escalation the on-call engineer executes the runbook as written.

What to do

  1. Run an Iran-nexus edge sprint before early November: re-validate the patch state of every internet-facing VPN, firewall, and ADC against the historically exploited CVEs (CVE-2019-19781, CVE-2023-3519, CVE-2022-1388, CVE-2024-3400, CVE-2024-24919), then hunt for webshells, new local admin accounts, and admin logins from VPS/hosting ASNs.

  2. Write and tabletop a geopolitical-trigger playbook before the midterms that, on strike resumption or a new CISA/FBI advisory, raises logging, freezes edge and OT changes, and tightens IR on-call.

  3. Verify immutable or offline backups for tier-1 systems and Active Directory with a timed restore test, and deploy detections for shadow-copy deletion, mass file deletion, and raw disk/MBR writes.

Claude Code Mods: An Unsigned-Binary Marketplace on Your Dev Laptops

A one-shot prompt injection can now become durable persistence with full machine access, because the agent can write and install its own extensions and nothing reviews them.

Mods give prompt injection a persistence path it lacked last quarter

Prompt injection against coding agents has been session-scoped. A poisoned README or issue mattered only while it sat in context. Claude Code mods remove that limit. Mods are TypeScript add-ons installed via /plugin and distributed through a public directory. They run with the same machine access as Claude Code itself, and Claude will write one on request. An injection that gets the agent to write and install a mod therefore yields attacker code that loads in every future session, with full access to the laptop. That is durable persistence, ATT&CK T1176.002. The sample mods show the camouflage. A 'Blast Radius' safety mod that plausibly intercepts every command before it runs is ideal cover for one that suppresses the warnings developers rely on.

The vendor's mitigation advice is 'use only mods from trusted sources.' The same guidance failed for browser extensions, npm, and IDE marketplaces. An allowlist is enforceable in a way source trust is not.

MCP client drift weakens the approval gate

Outflank found that Codex and Claude Code deviate from the base MCP specification in how they handle tool definitions, annotations, and search. The schema the model sees can differ significantly from what the MCP server sent. A manifest review shows what was sent, which is not necessarily what the model saw or what a user approved. Where clients read read-only and destructive hints differently, or batch several tool calls under one approval, the human-in-the-loop control is weaker than the written policy states.

Developer laptops concentrate exactly what attackers want — cloud credentials, SSH and signing keys, .env files, source code — and a malicious mod needs no exploit, because it inherits the agent's permissions by design.

Sign In With ChatGPT adds an identity provider

Sign In With ChatGPT launched around OpenAI's Dev Day. It turns a consumer AI account, often holding months of chat history and uploaded files, into a login for third-party apps. Each such button adds an identity provider to the organization's trust chain, approved or not, and the account behind this one is unusually rich. The likely sequence is the familiar one: lookalike 'ChatGPT' OAuth apps for consent phishing, then token replay against relying parties. Organizations without a decision on OpenAI as an allowed IdP will have SaaS vendors add the button for them.

The controls

The working model treats mods as unsigned binaries and MCP servers as code dependencies. The controls are inventory, version pinning, an allowlist, and endpoint detection on agent processes reaching for credentials outside the project path. None of it requires a new product. It is existing supply-chain discipline applied to a tool developers already run.

What to do

  1. Inventory every Claude Code install (CLI and desktop), freeze third-party mods from the public directory until AppSec reviews them, and confirm with Anthropic whether enterprise managed settings can restrict mod sources or disable mods.

  2. Ship EDR detections on Claude Code process lineage — reads of ~/.aws, ~/.ssh, keychains, and .env files outside expected project paths, plus writes to plugin directories outside approved install flows.

  3. Deploy a consent-phishing detection for OAuth apps whose display name contains ChatGPT, OpenAI, or GPT from unverified publishers, and set user OAuth consent to admin-approved or verified-publisher only.

The bottom line

Three unrelated-looking stories rhyme: a gateway you cannot see inside, agents that write their own privileged code, and an adversary handed a planning calendar. Each breaks the same assumption — that your trusted controls (a clean patch, a model's refusal, a vendor's eventual disclosure) are enforcement. They are advisory. Real enforcement lives where the model and the vendor cannot reach it: egress policy, identity scope, segmentation, and telemetry you own. This week, list every system that grants access or executes code but sends you no logs you control, and bind each to off-box telemetry or a contractual notification clock before the window opens.