CUTSIGNcutting for sign — daily OSINT threat read
AI-generated draft, unreviewed. Version 3, written by a model from the stored public sources on 2026-10-28; hype score 0. 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 2.

KEV lists Magento PolyShell and Brotli Node2Shell as exploited; in-the-wild Node.js exploit reported

Patch now + HuntP1confidence: highre-issue of card nodejs-oct-2026

CISA lists Magento PolyShell (CVE-2026-48356) and the Brotli decoder flaw (CVE-2026-111497) as exploited, and an in-the-wild Node.js exploit is now reported. Today, patch Node.js and other Brotli-embedding services and apply APSB26-73. Then hunt Magento stores and Node.js hosts, because patching does not clean a host that is already compromised.

Triage: CISA lists both CVEs as actively exploited [S1]. Brotli is embedded in Node.js and other runtimes, and an in-the-wild Node.js exploit is now reported.

CISA KEV, a primary source, confirms active exploitation of both CVEs [S1]. Campaign details come from Sansec research as reported by The Hacker News and SecurityWeek [S2][S3][S4]. The in-the-wild Node.js exploit and the wider product list come from sources that are named in the change feed but have no URL in this source set.

Changed since version 2

What happened

Timeline

2025-07Magento loader campaign activity begins, per Sansec as reported S3
2026-09-16Rogue admin account added on an observed store S5
2026-09-24GSocket backdoor installed on the same store S5
2026-10-21Node.js security releases fix CVE-2026-111497 (per published card nodejs-oct-2026; no source in this set)
2026-10-24Honeypot report of confirmed RCE published S5
2026-10-26ELLIO reports the first in-the-wild Node2Shell exploitation: a 23 MB Brotli request with an original ROP chain targeting Node.js v24.22.0 x86-64 (per change feed; ELLIO report not in source set)
2026-10-27953-store Magento campaign reported publicly S3
2026-10-27CISA adds CVE-2026-48356 and CVE-2026-111497 to KEV S1
2026-10-28PHP rebuilds Windows packages 8.5.12-1, 8.4.27-1, 8.3.36-1 and 8.2.35-1 with Brotli 1.2.1 (per change feed; source not in set)
2026-11-10KEV federal remediation due date for both CVEs S1

Detect

Node.js process spawning a shell · EDR process events / Sysmon for Linux

index=* (ParentImage="*/node" OR ParentImage="*/nodejs") (Image="*/sh" OR Image="*/bash" OR Image="*/dash") | stats count min(_time) as first max(_time) as last values(CommandLine) as cmd by host, ParentImage, Image

A hit means: A node process started a shell. This matches the reported Node2Shell outcome on vulnerable builds. Check it against build tooling, and treat hits on Node.js 24.22.0 x86-64 hosts first.

Traffic from the reported Node2Shell exploit source · Web server, load balancer, WAF or firewall logs

index=* "94.154.43.7" | stats count min(_time) as first max(_time) as last by host, sourcetype

A hit means: The reported exploit source reached your edge. Check whether the target service decodes Brotli and runs an unpatched build.

Traffic to Magento loader domains · Proxy, DNS, firewall or CSP violation reports

index=* ("manulfie.click" OR "neswnsssn.click" OR "lanhd6549tdhse.top" OR "additionalver.com" OR "deepveindrilling.com") | stats count min(_time) as first max(_time) as last by host, sourcetype

A hit means: A browser or server contacted a reported loader domain. If the hit is in a CSP report, a storefront page is likely serving the loader.

Requests to the PolyShell upload path · Web server access log / file integrity monitoring

index=* "pub/media/custom_options/quote/" | stats count values(status) as status min(_time) as first by host, clientip, uri

A hit means: Possible webshell upload or access in the directory where PNG-disguised webshells were reported.

Verify

Scope

Affected

Only if

Not affected if

Fixed in: Adobe APSB26-73 (PolyShell). Node.js 22.23.4, 24.22.1, 26.12.1; Brotli v1.2.1; PHP Windows packages 8.5.12-1, 8.4.27-1, 8.3.36-1, 8.2.35-1 (per published card, change feed and exposure data; confirm with vendors). The sources do not state the SessionReaper fix version.

Enumerate

Contain

Eradicate

Recover

Re-enter the loop when

Debrief

Detection coverage, to check

Vulnerability managementCheck whether scans identify vulnerable Node.js, Brotli and PHP Windows builds, including in containers, and missing APSB26-73 and SessionReaper fixes.
Software composition / container scanningCheck whether scans report the bundled Brotli version for images and dependencies such as Python brotli/brotlicffi, Bun and .NET.
EDR on Linux serversCheck whether shells spawned by node or PHP processes, and GSocket processes, are visible and alerted on.
Web application firewallCheck whether rules cover PolyShell, SessionReaper and oversized Brotli-encoded exploit requests.
File integrity monitoringCheck whether pub/media/custom_options/quote/ and the Magento web root are monitored.
Client-side / CSP monitoringCheck whether CSP reporting is enabled on storefronts and feeds the SIEM.

The model never claims coverage; the automated check fills this table from public sources once it has run.

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.