CUTSIGNcutting for sign — daily OSINT threat read
AI-generated verdict card, published automatically by the pipeline on day one because the brief rated the story P1. Version 1, as of 2026-11-02; hype score 2 (below the usual publish bar: early read from few sources, revised as the story develops). Written by a model from the stored public sources and not reviewed by a person; re-issued in place when the evidence changes (the URL stays). The detection-coverage table below is checked automatically from public sources and re-checked daily. All cards

WordPress Core update race condition draws exploit attempts; fixed in 7.1.4, no compromises reported

Patch now + HuntP1confidence: mediumP1 +2P1: card on day one (score below the publish bar; revised as the story develops)

A race condition in WordPress Core's full-package update process can allow unauthenticated RCE through predictable, web-accessible staging directories. Confirm every WordPress site is on 7.1.4 or a backported fixed release today, and hunt web logs for requests to staged setup-config.php paths.

Triage: Unauthenticated RCE in WordPress Core with active, widespread exploit attempts against internet-facing sites [S1]. It is held at P1 despite high attack complexity and no confirmed compromises.

The core claims come from Defiant/Wordfence via reputable secondary reporting [S1][S2]. No primary vendor advisory or CVE was provided, and attempt counts differ between sources.

What happened

Timeline

2026-10-28WordPress 7.1.4 released with the fix, backported through the 4.7 branch S1
2026-10Reporting of exploit attempts against staged installer paths S2
2026-11-02Wordfence reports more than 18,500 requests in 21 hours against staged setup-config.php paths; no confirmed compromises S1

Detect

Requests to setup-config.php outside the standard installer path · Web server / WAF access log

index=* (uri_path="*setup-config.php*" OR uri="*setup-config.php*") NOT uri_path="/wp-admin/setup-config.php" | stats count min(_time) as first_seen max(_time) as last_seen values(status) as status values(http_method) as methods by src_ip, uri_path, host | sort - count
FROM logs-* | WHERE (url.path LIKE "*setup-config.php*" OR url.original LIKE "*setup-config.php*") AND (url.path IS NULL OR url.path != "/wp-admin/setup-config.php") | STATS count = COUNT(*), first_seen = MIN(@timestamp), last_seen = MAX(@timestamp), status = VALUES(http.response.status_code), methods = VALUES(http.request.method) BY source.ip, url.path, host.name | SORT count DESC

A hit means: A client requested an installer script at a non-standard, likely staged, path. This matches the attempt pattern Wordfence observed [S1]. On its own it is an attempt, not a compromise.

Successful POSTs to staged setup-config.php paths · Web server / WAF access log

index=* (uri_path="*setup-config.php*" OR uri="*setup-config.php*") NOT uri_path="/wp-admin/setup-config.php" http_method=POST status>=200 status<300 | table _time host src_ip uri_path status bytes http_user_agent
FROM logs-* | WHERE (url.path LIKE "*setup-config.php*" OR url.original LIKE "*setup-config.php*") AND (url.path IS NULL OR url.path != "/wp-admin/setup-config.php") AND http.request.method == "POST" AND http.response.status_code >= 200 AND http.response.status_code < 300 | KEEP @timestamp, host.name, source.ip, url.path, http.response.status_code, http.response.bytes, user_agent.original

A hit means: The staged installer accepted a submitted request, possibly during an update window. Treat it as a possible successful exploit and verify immediately.

Verify

Scope

Affected

Only if

Not affected if

Fixed in: WordPress 7.1.4 and backported releases through the 4.7 branch

Enumerate

Contain

Eradicate

Recover

Re-enter the loop when

Debrief

Detection coverage — checked automatically

CategorySourceStatus
VendorImpacted vendor / CERT advisorynothing found — no vendor or CERT page among the thread sources; secondary reporting only
GovernmentCISA KEVnot checkable — no CVE: the catalog is keyed by CVE
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 blogpublished — Stopping PHP2SHELL: How SentinelOne Protects Customers From This Attack Technique (names the campaign in the title; the feed text carries no CVE id)
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 1183 newest items
WAF / edgeCloudflare WAF managed-ruleset changelognothing found — no post names it among the feed's 139 newest items
Cloud / containerWiz blognothing found — no post names it among the feed's 717 newest items
IDS / researchCisco Talos blogpublished — I had plans for that second · Two critical RCEs in PHP core (names the campaign in the title; the feed text carries no CVE id)
Detection contentElastic detection rulespublished — 3 files name WordPress: rules/linux/persistence_webserver_php_file_creation_in_wordpress_plugin_dir.toml, rules/_deprecated/defense_evasion_code_injection_conhost.toml, rules/macos/privilege_escalation_user_added_to_admin_group.toml
Detection contentElastic Security Labspublished — php2shell: Assessing Elastic detection coverage relevant to CVE-2026-109618 and CVE-2026-109619 (names the campaign in the title; the feed text carries no CVE id)
Detection contentSigmaHQ rulespublished — 17 files name WordPress: deprecated/windows/win_susp_vssadmin_ntds_activity.yml, deprecated/windows/proc_creation_win_susp_squirrel_lolbin.yml, rules/windows/file/file_event/file_event_win_iso_file_mount.yml, rules/web/proxy_generic/proxy_ua_frameworks.yml
Detection contentSplunk ESCUpublished — 10 files name WordPress: stories/wordpress_vulnerabilities.yml, detections/web/wordpress_bricks_builder_plugin_rce.yml, stories/xworm.yml, stories/clop_ransomware.yml
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 754 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 — “Next Exploit Opportunities”: How a Threat Actor Used AI to Help Plan and Execute Multiple Types of Cybercrime Activities (names the campaign in the title; the feed text carries no CVE id)

Checked automatically 2026-11-10 04:09Z from public sources: 7 published, 11 nothing found, 1 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 (4)
WAF / web application firewallWhether a rule blocks requests to staged setup-config.php paths and PHP execution in update staging directories.
Vulnerability scannerWhether WordPress Core version checks flag versions before 7.1.4 and unpatched backport branches.
SIEMWhether web access logs from all WordPress hosts, including third-party hosted, are ingested with uri_path and status fields.
EDR / file integrity monitoringWhether web server hosts alert on new PHP files or Core file changes outside update windows.

Exposure queries — generated automatically

shodan · alias · card

http.component:"WordPress"

open · Banner spelling suggested by the model from the card text (WordPress Core is the affected product; NVD has no CPE, so the card's product name is used as a web application componen); counted against Shodan before it was shown.

1,665,338services internet-wide on Shodan · 2026-11-10▲ 1,085,264 on 2026-11-02 (+580,074 +53%) · 1,614,854 on 2026-11-09 (+50,484 +3%)

Internet-wide count, trend

QueryFirstLatestChange
http.component:"WordPress"1,085,264 2026-11-021,665,338 2026-11-10+580,074 (+53%) over 9 days

Shodan's count of matching services on the whole internet, one point a day; the scope (your ranges) is never part of it. A count moves with Shodan's crawl as much as with patching, so read the direction, not the digit.

No CVE in this campaign: nothing an internet scanner keys on. Scope by product in your own tool.

Banner spellings: a model read 1 from the NVD names and this card's text (former and marketing names, console titles); 1 matched something on Shodan and is 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-11-10 04:09Z 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; a dismissed draft unpublishes it.

One mail per new card, after you confirm by link; an unsubscribe link in every mail. The address is used for nothing else.