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

Collabora richdocumentscode command injection (CVE-2026-110447) exploited to plant web shells on Nextcloud

Patch now + Hunt / IRP2confidence: mediumP2 +1deep read +1day 2 of the story +13 publishers +1primary source +1material development on watch +2

Unauthenticated command injection in Nextcloud's built-in CODE server app (richdocumentscode) before 26.4.303 is reported exploited since September 10 to drop PHP web shells. Today, find any Nextcloud with richdocumentscode, update or disable the app, and hunt access logs back to September 10.

Triage: Unauthenticated RCE is reported exploited, but only on Nextcloud hosts running the richdocumentscode app. Raise to P1 if such a host is found, especially an internet-exposed one [S1][S3].

Exploitation is reported by two news outlets [S1][S3] and an affected-admin GitHub issue [S2]. None of the supplied sources is a vendor advisory or CERT bulletin.

What happened

Timeline

2026-09-10Earliest attack activity reported by affected admins S1
undatedAffected admin reports the compromise and shx*.php web shells in a richdocumentscode GitHub issue S2
2026-10-15The Hacker News reports exploitation; fix is in 26.4.303 S1
2026-10-16BleepingComputer adds that the flaw is reachable only while the built-in CODE server is stopped S3

Detect

Injection attempts against richdocumentscode proxy.php · Web server access log

index=* "/apps/richdocumentscode/proxy.php" ("%24%28" OR "$(" OR "IFS" OR "%2e%2e" OR "base64") earliest=09/01/2026:00:00:00 | stats count min(_time) as first max(_time) as last values(status) as status by host src http_user_agent

A hit means: A request matching the reported exploit pattern reached the app. On its own this shows an attempt; a 200 response or a follow-on shx*.php request points to success [S1].

Requests to generated web shells · Web server access log

index=* "/apps/richdocumentscode/" ".php" | regex _raw="/apps/richdocumentscode/sh[a-z]?[0-9a-f]{4,6}\.php" | stats count min(_time) as first values(status) as status by host src

A hit means: Someone requested a shx*.php file in the app folder, the reported web shell naming. A 200 response means a shell likely exists and was used [S1][S2].

Known indicators · Proxy, DNS, firewall, web and EDR logs

index=* ("89.38.98.50" OR "139.28.18.122" OR "webhook.site" OR "4b9fbd0663fbfd6028fc216ed18e0d6ef3ae498a7fdc97083e4b0ce3cec40562" OR "shxa35d0.php" OR "shxd33ce.php" OR "shx13a86.php" OR "shx5cf91.php" OR "shxf4645.php" OR "shx56367.php" OR "shrf4645.php") | stats count min(_time) as first by host src dest

A hit means: Contact with or presence of an indicator listed in reporting. webhook.site is a public service, so a server-originated connection to it is the meaningful case [S2].

sudo attempts by the web server account · Linux auth log

index=* sudo ("www-data" OR "apache" OR "nginx") ("authentication failure" OR "NOT in sudoers" OR "incorrect password" OR "COMMAND=") | stats count min(_time) as first by host user

A hit means: The web server account tried to escalate privileges, the signal one victim first noticed [S2].

Verify

Scope

Affected

Only if

Not affected if

Fixed in: richdocumentscode 26.4.303 [S1]

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://github.com/CollaboraOnline/richdocumentscode/issues/354
GovernmentCISA KEV · CVE-2026-110447published — listed 2026-10-23, federal due 2026-10-26
ReferenceNVD · CVE-2026-110447published — published 2026-10-14, CVSS 4.0 9.2
VM scannersQualys · CVE-2026-110447nothing found — no ThreatPROTECT or Security Blog post names it; the QID knowledge base needs a login
VM scannersRapid7 · CVE-2026-110447published — InsightVM coverage stated
VM scannersTenable · CVE-2026-110447nothing found — no plugin names the CVE yet
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-2026-110447published — tracker entry
Linux distro errataRed Hat · CVE-2026-110447nothing 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-2026-110447nothing found — no open rule names it (exploit, web_server, web_specific_apps sets)
Detection contentElastic detection rulesnothing found — no rule file names CVE-2026-110447
Detection contentElastic Security Labsnothing found — no post names it among the feed's 102 newest items
Detection contentSigmaHQ rulesnothing found — no rule file names CVE-2026-110447
Detection contentSplunk ESCUnothing found — no rule file names CVE-2026-110447
CommunityNuclei template · CVE-2026-110447published — template in nuclei-templates (main)
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 42nothing found — no post names it among the feed's 15 newest items

Checked automatically 2026-10-31 22:22Z from public sources: 6 published, 21 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)
EDR / Linux endpointCheck whether sh or base64 spawned by the PHP or web server process is alerted on Nextcloud hosts, and whether those hosts have an agent at all.
WAF / reverse proxyCheck whether rules inspect URL paths for $(, ${IFS} and %2e%2e on Nextcloud apps paths.
File integrity monitoringCheck whether Nextcloud apps directories are monitored for new PHP files.
Vulnerability managementCheck whether scanners inventory Nextcloud app versions, not just the core version.
SIEMCheck whether Nextcloud web access logs and auth logs are ingested and retained back to September 10.

Exposure queries — generated automatically

shodan · cve · CVE-2026-110447

vuln:CVE-2026-110447

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 · collabora:collabora_online_-_built-in_code_server

cpe:"cpe:/a:collabora:collabora_online_-_built-in_code_server"

open · Every Collabora Online - Built-in Code Server service Shodan fingerprinted, any version (CPE 2.2 form of cpe:2.3:a:collabora:collabora_online_-_built-in_code_server). Affected per NVD: < 26.4.303.

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

shodan · product · collabora:collabora_online_-_built-in_code_server

product:"Collabora Online - Built-in Code Server"

open · Banner product name, NVD's spelling; adjust if Shodan's differs. Affected per NVD: < 26.4.303.

0match this spelling on Shodan · 2026-10-31 — a text search for "Collabora Online - Built-in Code" matches nothing on Shodan

censys · product · collabora:collabora_online_-_built-in_code_server

host.services: (software.product = "Collabora Online - Built-in Code Server")

Censys Platform host search, software as fingerprinted at layer 7. Affected per NVD: < 26.4.303.

shodan · alias · collabora:collabora_online_-_built-in_code_server

http.html:"Collabora Online Development Edition"

open · Banner spelling suggested by the model from the card text (branding text on CODE server pages); counted against Shodan before it was shown.

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

Banner spellings: a model read 4 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-10-31 22:22Z 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.