Security & Threat Intelligence

The Watch

The Signal

North Korea's hijacked npm packages reached one in ten cloud environments in two hours.

There is no CVE here, and no code flaw to patch. The operators earned legitimate maintainer publish rights, which leaves software composition analysis with nothing to match on. They rehearsed on typo-crypto in March 2025 before touching axios, debug and chalk. If you need to establish whether you were exposed, the evidence is in lockfile diffs across the compromise window, not in scanner results.

In Play

  1. Hijacked npm Packages Reached Cloud Estates in Hours

    Amazon Threat Intelligence attributed the hijacking of axios, debug, chalk and typo-crypto to North Korea-linked operators, and Wiz telemetry put the tainted packages in roughly one in ten cloud environments within about two hours. The entry vector was maintainer account takeover, not a code flaw, so no CVE existed when the packages were weaponized. For your program that means SCA scanning was structurally late and the exposure question is answered by lockfile diffs, not scanner output. CyberScoop reports the same crew rehearsed the technique in typo-crypto in March 2025.

    Ask Clarity
    Try
  2. Mailbox Access That Survives Your Password Reset

    Western agencies issued joint advisories on a Russian state-linked campaign exploiting CVE-2025-66376 in Zimbra, where a stored XSS abusing the CSS @import feature loads a tool called Ulej that harvests session tokens, backup 2FA codes, browser-saved passwords and 90 days of mailbox contents. The Hacker News reports the same actor set is now exploiting a Microsoft OWA flaw that preserves mailbox access after credential rotation. Every email-compromise case you closed on a password reset in the last six months is open again.

    Ask Clarity
    Try
  3. Exploited Bugs Your CVSS Gate Skips

    Four of the five vulnerabilities added to CISA's KEV catalog between 21 and 27 July carry a CVSS score of 0: two WordPress Core flaws, VeloCloud Orchestrator on-prem, and a 2021 DD-WRT stack overflow. Separately, Cisco manually elevated CVE-2026-20316 in Secure Firewall Management Center to High despite a 5.3 base score, because static credentials in that web interface chain to control of managed firewalls. If your remediation SLA fires on a severity threshold, it is filing confirmed in-the-wild exploitation into a 30-day queue.

    Ask Clarity
    Try
  4. AI Assistant Exfiltration With No CVE and No Log Entry

    Rubrik disclosed an indirect prompt-injection chain in Microsoft 365 Copilot in which a booby-trapped Word document hijacked the assistant, escaped its code sandbox and exfiltrated files and email across the tenant. Microsoft patched it after the April disclosure but issued no CVE, no CVSS and no KB, and declined to confirm whether Purview audit logs capture Copilot sandbox activity at all. Your vulnerability programme never saw this and cannot evidence it; a second flaw from another firm may still be unpatched.

    Ask Clarity
    Try
  5. Kinetic Escalation With Iran Raises Edge Exposure

    Morning Brew reports US Central Command ran a heavy wave of strikes on Iran overnight, retaliating for Iranian attacks on US forces and allies. Iran-nexus clusters have historically answered kinetic exchanges opportunistically, sweeping for known-vulnerable internet-facing appliances and internet-exposed OT rather than burning zero-days on hardened targets. The practical read for a mid-size technology company is that the likeliest breach path this month is a device your team already flagged and deferred.

    Ask Clarity
    Try

Deep Dives

A Year of Earned Trust, Then Two Hours of Propagation

The build layer was compromised through reputation rather than code, which is why every control most teams bought for supply-chain defence returned clean while the payload spread.

CyberScoop reports Amazon's researchers traced the axios, debug and chalk compromises back to a live-fire rehearsal in an obscure package called typo-crypto in March 2025. The operators then waited more than a year before escalating to high-dependency targets. They were not hunting a vulnerability. They were accumulating maintainer reputation until they held legitimate publish permissions.

Three controls failed in sequence. Composition tooling triages by download count and CVSS, so twelve months of activity below the popularity threshold produced no early warning. The publish event looked identical to every other publish from that maintainer, so no anomalous-credential signal fired. Per Cyberpresso, the payloads were multi-stage, platform-specific and conditionally activated, obfuscated deliberately to extend analyst dwell time. Sandbox detonation returns clean. IOCs land after the exposure window closes.

What actually reached the estate

The compromised axios added a dependency named plain-crypto-js. Its post-install script contacted a hardcoded command-and-control host and staged a cross-platform remote-access trojan for Windows, macOS and Linux. Wiz telemetry recorded roughly one in ten cloud environments tainted within about two hours, against axios alone drawing near 100 million weekly pulls. Nobody typed an install command at that speed. Automated dependency resolution in CI/CD did the distribution.

Propagation velocity, not download count, is now the correct blast-radius metric for a supply-chain event.

Where the sources agree, and where the work gets expensive

Cyberpresso and CyberScoop reach the same conclusion. The failing control was maintainer identity hardening, not scanning. Both push the hunt past the dependency graph into the build plane. CI runners hold cloud credentials, npm tokens and signing keys with the thinnest telemetry in the estate. That multiplier is what the operator was buying. CyberScoop recommends extending the hunt window 18 months or more, on account of the March 2025 rehearsal.

One divergence matters operationally. Cyberpresso frames this as patch-and-freeze driven by Amazon Inspector advisories and OSV. CyberScoop frames it as a compromise assessment with no clean closure criterion. Take the second framing. Pinning to known-good versions does not clean poisoned container images already sitting in the registry, and it does not revoke a token a post-install script has already read.

The control that would have caught it

A mandatory 7-to-14 day version-adoption cooldown in an internal registry proxy converts a zero-day supply-chain push into a detectable event before it reaches a build. Paired with npm ci --ignore-scripts as the CI default and integrity-verified lockfile pinning, it is the cheapest structural answer available, and it works against the next hijacked maintainer, whose name is not yet public.

What to do

  1. Diff every lockfile and running node_modules against known-good versions of axios, debug, chalk and typo-crypto, grep repos and container images for plain-crypto-js, then rebuild every artifact produced during the exposure window.

  2. Run a compromise assessment on CI runners and developer endpoints over an 18-month window, hunting post-install script execution, node processes spawning shells or curl, and reads of npm tokens or cloud credential files.

  3. Enforce a 7-14 day version-adoption cooldown plus provenance checks in the internal registry proxy and set --ignore-scripts as the CI default before the end of the quarter.

Rotation Stopped Being Containment

Two state-linked campaigns now hold artefacts that outlive the remediation step your incident tickets treat as closure, which puts your notification clock in the wrong place.

Ulej is an identity-theft tool rather than a mail-theft tool, and the remediation problem follows from that. Per Risky.Biz, the loader arrives through the CSS @import feature of Zimbra's stored XSS flaw. It harvests session tokens, backup 2FA codes, browser-saved passwords and ninety days of mailbox contents. Session tokens bypass authentication. Backup 2FA codes bypass MFA. Browser-saved passwords leave the Zimbra boundary entirely and work anywhere those users reused them.

The dwell figure is the number to brief upward. The flaw was patched in November 2025. The campaign traces to at least July 2025. That is four months of undetected zero-day operation, which means a ticket reading "patched, closed" describes an injection path that is shut against everyone except the operator already holding the credentials.

The OWA development breaks a playbook step

The Hacker News reports the same Russian state-linked set exploiting a Microsoft OWA flaw that preserves mailbox access after credential rotation, with US entities among the targets. That does more than grant access. It converts the most common containment action in the average email-compromise runbook into a false-negative generator. Where the last such incident was closed on password-reset evidence, the correct assumption is that the intruder is still reading mail.

Revoke tokens before you reset passwords; the reset contains nothing an attacker with a live refresh token cares about.

The pattern across sources

Three independent reports converge on the same structural point from three different products. Risky.Biz: stolen tokens survive a Zimbra patch. The Hacker News: mailbox access survives rotation on OWA. Cyberpresso, documenting Noma Security's finding in an unrelated domain, shows that a patched redeploy does not undo poisoned agent memory, because the backdoor sits in state rather than in code. Persistence has migrated into artefacts that patching and rotation were never designed to invalidate.

Platform choice is not the variable. Russian actors rotating from Zimbra to OWA is one sustained mailbox-collection campaign in which the product is interchangeable, so detection content keyed to a single CVE signature expires at the campaign's next migration. Key it to mailbox behaviour instead: access after a rotation event, unusual sync clients, bulk EWS or Graph pulls, newly created forwarding rules.

One consequence sits outside security. If a closed incident is in fact ongoing, the breach-notification clock was mis-set. Privacy counsel goes in before the retro-hunt produces a hit, not after.

What to do

  1. Execute tenant-wide session and refresh-token revocation on OWA and Exchange, then audit mailbox delegates, inbox and forwarding rules, and OAuth app consents created since your last email incident.

  2. Reopen every OWA or Exchange compromise closed in the last 180 days on rotation evidence alone, and treat any Zimbra instance patched after November 2025 as compromised — regenerate backup 2FA codes, force password resets, and retro-hunt 12 months of logs for anomalous CSS @import references.

  3. Ship mailbox-behaviour detections this quarter covering post-rotation access, unfamiliar sync clients, bulk EWS/Graph reads and new forwarding rules, rather than CVE-specific signatures.

Sorting by Severity Is Now Sorting Against the Evidence

The exploitation clock has compressed to roughly a day while the scores your queue depends on are missing, understated, or attached to the wrong asset entirely.

Start with the timeline, because it invalidates the premise of a severity-based queue. Risky.Biz reports that CVE-2026-16723, an unauthenticated remote code execution flaw in Alibaba's Fastjson, moved from FearsOff's disclosure to mass exploitation in roughly one day. Imperva and ThreatBook documented it in the wild. No patch SLA measured in days survives that. Inventory speed is the only variable left, and Fastjson is the hardest inventory question there is. It arrives transitively, through frameworks, SDKs and vendor JARs, in Java services nobody has touched in three years.

The scores are missing where exploitation is confirmed

Per SANS AtRisk, four of the five KEV additions between 21 and 27 July carry a CVSS score of 0. Those are the WordPress Core interpretation-conflict and SQL injection flaws, VeloCloud Orchestrator on-prem, and CVE-2021-27137, a five-year-old DD-WRT stack overflow under active exploitation. Their scored sibling is CVE-2026-16232 in Check Point SmartConsole at CVSS 9.1, an authentication bypass granting full administrative privileges, including the ability to modify security policy. In that scenario the attacker does not evade the controls. The attacker writes them.

Cisco's advisory shows the inverse failure. Cyberpresso reports CVE-2026-20316 at a 5.3 base score, from static credentials in the Secure Firewall Management Center web interface. Cisco manually elevated it to High because it chains to elevated privileges. PSIRT reports it as already exploited. A threshold-driven SLA files an actively exploited bug in the firewall management plane behind routine work. Cisco supplies one IOC: a /var/tmp/license.tmp entry in the logs. Check that first. It determines whether this is patching or incident response.

The target set is the tooling itself

ProductIdentifier / severityAccess gainedBlast radius
ManageEngine ADAudit Plus (<8606)CVE-2026-6516 / 10.0Unauthenticated RCE via agent APIActive Directory-wide visibility, distributed agents
Tenable Security CenterCVE-2026-64878/-64879 / 9.9Command injectionCredentialed scan accounts across the estate
SolarWinds Serv-U~17 CVEs / 9.1 (fixed in 2026-3)MultipleManaged file transfer — historical extortion target
Dell PowerProtect Data Manager (<20.2.0.0)CVE-2026-40712/-46738 / 9.1Privilege elevation via REST APIBackup tier — ransomware precondition
Nozomi SCADAguardianCVE-2026-57106 / 10.0Elevation of privilegeOT and ICS monitoring visibility

Compromising the tools that watch the network yields maximum leverage, and the exploit tooling is commoditised. SANS notes ESAFENET DLP default credentials published in a 2023 nuclei template are under active scanning. Against volume like Oracle's July update addressing 1,449 vulnerabilities and Apple's 187 CVEs, no severity threshold produces a defensible queue. One line of policy does. KEV first, unscored entries included by default.

What to do

  1. Rewrite the remediation SLA to be KEV-first regardless of CVSS this month: 48 hours for internet-facing entries, 7 days internal, unscored items in scope by default.

  2. Run an emergency SBOM and SCA sweep for com.alibaba:fastjson and fastjson2 across repos, artifact registries and running container images including transitive dependencies, and WAF virtual-patch every external Java tier while remediation proceeds.

  3. Apply Cisco FMC hotfixes across the 7.0, 7.2, 7.4, 7.6, 7.7 and 10.0 branches, check logs for /var/tmp/license.tmp first, then rotate every credential, key and certificate stored on FMC.

A Word Document Turned Copilot Into an Exfiltration Channel

The most consequential enterprise data-loss path disclosed this cycle has no identifier your vulnerability programme can track and no telemetry your SOC can query.

Two stages, both reusable against every assistant deployed. Stage one is indirect prompt injection: instructions embedded in a Word document that a user hands to Microsoft 365 Copilot for summarisation. The document does not exploit Word. It exploits Copilot's willingness to read document content as instructions. Stage two is egress. Rubrik researcher Ori Lahav found a flaw that lets the assistant reach the internet from inside its supposedly air-gapped code sandbox. Injection supplies execution, the sandbox flaw supplies egress, and Copilot's own Graph permissions supply the data.

The detection gap is the finding, not the flaw

Per Rubrik's Joe Hladik, the exploit would not look like suspicious activity in Copilot's logs. Microsoft pointed at Purview for Copilot activity and declined to say whether Purview captures the sandbox behaviour Rubrik flagged. Nothing fires. No malware on the endpoint, so EDR sees nothing. No anomalous credential use, so identity analytics sees nothing. No unusual outbound connection from the corporate network, because the traffic originates inside Microsoft's cloud. The stack is watching the wrong side of the boundary.

Microsoft says it is unclear whether any customers were impacted — a statement the telemetry gap makes it structurally unable to support either way.

Rubrik puts scope at any file or email anywhere in the target's Microsoft 365 estate plus connected cloud servers, across all 20 million-plus corporate Copilot customers. There is no CVE, no CVSS and no public KB. Vulnerability programmes never saw it and cannot evidence remediation. A second flaw, from a different firm, is being withheld from publication because its patch status is unclear.

Cross-source corroboration and one caution

The Information reports new Copilot flaws leaking customer secrets independently, with mitigation living in SharePoint permission hygiene and grounding scope rather than a patch cycle. The Hacker News documents a related integrity variant: a Copilot-for-Word injection that rewrites figures in a report and copies its own instructions into the output file, disclosed 144 days after the initial report. Sources diverge on framing. One argues the network is becoming the control plane for AI security, and its own facts refute that. Document-borne injection and poisoned agent state are invisible to network inspection.

Patching is not available, so it is not the lever. The levers are data-reach reduction, capability removal, ingress detection and contractual evidence, in that order. Copilot's blast radius is set by its permission scope, not by the document. Restricted SharePoint Search, the removal of org-wide sharing links, and encrypted sensitivity labels on legal, HR, M&A and source repositories mitigate flaw two and every flaw not yet disclosed. Then hunt delivery: OOXML files with zero-opacity or white-on-white text runs, HTML comments, long base64 blobs and instruction-shaped strings arriving from external senders to high-privilege roles.

What to do

  1. Send a formal written request to your Microsoft account team demanding the KB or CVE reference for the April fix, your tenant's patch date, an explicit yes or no on whether Purview logs Copilot sandbox execution and network egress, and the status of the second reported vulnerability.

  2. Disable Copilot code-interpreter and sandboxed code execution plus third-party agent connectors for all users without a documented, owner-named business need.

  3. Run a Copilot data-reach reduction sprint this quarter: enable Restricted SharePoint Search, remediate org-wide sharing links, and apply encrypting sensitivity labels to legal, HR, M&A and source-code repositories.

The bottom line

The campaigns covered here did not break your technology — they bought or borrowed a trust relationship and then used it exactly as designed, which is why scanners, sandboxes and severity scores all reported normal. That retires the assumption your incident tickets rest on: that patching, rotating or reinstalling ends an intrusion. What survives those steps is the artefact of access — the token, the stored key, the cached image, the assistant's own permission scope — and none of it appears in the remediation you have already signed off. Redefine closure: no case closes until someone named proves the specific artefact of access was invalidated, not merely that the entry path was shut.