CTIPilot
AI-generated · no human review · verify critical claims against the linked source. how it works →
‹Sat · 24 Oct 2026
All daily briefs →
Daily brief · UTC day

Saturday, 24 October 2026

1 verified finding from 1 run · 9 updates to prior coverage · the settled record for this UTC day, in the classic brief order.

CriticalUpdate the PHP runtime on every internet-facing host todayCVE-2026-109618 +1 · updated 25 Oct 03:38Z
Criticality
Kind
Topic
Region
TL;DR · the day in one read
  1. 01Node2Shell: crafted Brotli data runs code in Node.js; update the runtime and the PyPI Brotli packages. Node.js released 22.23.4, 24.22.1 and 26.12.1 on 2026-10-21 to fix CVE-2026-111497, an out-of-bounds write in its bundled Brotli decoder that can lead to remote code execution, and Imperva ran code through it against the official Node.js 24.22.0 image via fetch() and Express 5 or body-parser 2 request bodies. The flaw is in the upstream Brotli library, so the PyPI packages Brotli (fixed in 1.2.1) and brotlicffi (fixed in 1.2.1.0) carry it too; no source reports exploitation. →
NOTABLECVE-2026-111497NATOA1

CVE-2026-111497, Node.js and Google Brotli (Node2Shell): an out-of-bounds write in the Brotli decoder lets crafted compressed data run code, reached through fetch() and Express 5 or body-parser 2 request bodies; fixed in Node.js 22.23.4, 24.22.1 and 26.12.1 and in the PyPI packages Brotli 1.2.1 and brotlicffi 1.2.1.0 (CVSS 4.0 9.2)

Node.js shipped security releases on 2026-10-21 for CVE-2026-111497, an out-of-bounds write in the Brotli decoder it bundles: an invalid block switch was reported as a need for more input instead of a format error, so the streaming decoder kept appending input to an eight-byte internal buffer (Node.js project, 2026-10-21). An attacker who can supply Brotli data that an application decompresses with the node:zlib module can corrupt process memory, which can lead to a crash, disclosure of process memory or remote code execution (Node.js project, 2026-10-21). Node.js rates it high (Node.js project, 2026-10-21), and the Google CNA record scores it CVSS 4.0 9.2 with no authentication and no user interaction (ENISA EUVD, 2026-10-23).

Imperva ran code carried in Brotli data against the official Node.js 24.22.0 Linux arm64 image, both through the built-in fetch() consuming a compressed response and through Express 5.0.0 to 5.3.0 and body-parser 2.0.0 to 2.3.0 request-body parsers (raw() and json()); execution took several attempts, and the fixed 24.22.1 rejected the same input (Imperva, 2026-10-22). A bare Node.js HTTP server does not decode an incoming Brotli body on receipt, so the request path needs those parsers (Imperva, 2026-10-22). Fixes are in Node.js 22.23.4, 24.22.1 and 26.12.1, whose release notes list CVE-2026-111497 as a high-severity Brotli fix (Node.js project, 2026-10-21; Node.js project, 2026-10-21; Node.js project, 2026-10-21); end-of-life lines are always affected when a security release occurs (Node.js project, 2026-10-21). No source reports exploitation.

The decoder is Google's, so the flaw reaches beyond Node.js: Google released Brotli 1.2.1 on 2026-10-21 and lists CVE-2026-111497 in its release as an out-of-bounds write that permits remote code execution (Google Brotli, 2026-10-21), and the CVE record covers Brotli 1.0.3 to 1.2.0, fixed in 1.0.10, 1.1.1 and 1.2.1 (ENISA EUVD, 2026-10-23). OpenSourceMalware found that the PyPI packages Brotli (up to 1.2.0, fixed in 1.2.1 on 2026-10-22) and brotlicffi (up to 1.2.0.2, fixed in 1.2.1.0 on 2026-10-23) compile the same decoder and that neither release's notes mention the flaw (OpenSourceMalware, 2026-10-23); it found no advisory database listing either package when it wrote, and ENISA's record now carries PyPI advisories for them (PYSEC-2026-4322 and PYSEC-2026-4323) dated 2026-10-23, which cite OpenSourceMalware's post as their reference, so the PyPI exposure rests on its source diff (ENISA EUVD, 2026-10-23).

A flaw in the Brotli decoder bundled with Node.js allows malformed compressed input to write past the end of an internal decoder buffer.

Node.js project 2026-10-21

Our standalone proof of concept ran code carried in a Brotli response or request body inside applications using the official Node.js 24.22.0 Linux arm64 image.

Imperva Threat Research 2026-10-22
vulnerability24 Oct 03:33Zmulti-sourceOpen finding →

02Updates to prior coverage9 items

NOTABLEupdatedNATOB2

ARTEX: Microsoft reports Storm-0940, a China-state aligned actor, running an open-source multi-agent LLM penetration-testing framework against hundreds of organizations, with privileged cloud access in under three hours in some cases, and Expel sees the same infrastructure abuse Okta self-service registration

First published 2026-10-22 · open finding →

Improvementrun 2026-10-24T0255Z-intelbodyevidencesourcessourcing_note

Wiz Research independently reports an ARTEX-using actor overlapping with Storm-0940 against software vendors in October, and adds log signatures that mark the agent: source-map-then-route sequences, unsigned-JWT SSO probes and one-second-cadence spray bursts with a user agent per burst.

Wiz Research reports an actor using ARTEX-associated tooling, overlapping with Storm-0940, against IT and software vendors throughout October 2026, focused on Okta, Entra and Cognito and on Microsoft 365 integrations, with most attempts failing (Wiz, 2026-10-22). It describes the log signatures of the agent: source-map and OpenAPI downloads followed minutes later by calls to internal routes that appear only in those files, fabricated OAuth callback values, unsigned JWTs tried against more than 60 SSO route variants in two minutes, account-recovery and sign-up calls, and password-spray bursts of 20 to 60 minutes against Entra and Okta with a unique user agent per burst and a median gap of one second between attempts (Wiz, 2026-10-22). Wiz says chaining, automatic adaptation to rate limits and blocks, and tests against heavily scrutinised Microsoft OAuth flows separate the agent from a human operator (Wiz, 2026-10-22).

HIGHCVE-2026-73570exploitedupdatedNATOA1

CVE-2026-73570, Zimbra Collaboration: a pre-auth command injection patched without a CVE in July is exploited, with probing before disclosure and root escalation, secret theft and cluster-wide movement observed

First published 2026-08-20 · open finding →

Improvementrun 2026-10-24T0255Z-intelbodyevidencesourcessourcing_note

Elastic Security Labs reproduced the chain and found that several public proofs of concept never trigger it, so a failed test does not show a host is patched; its process-lineage detection for the Swatchdog notification path is added to the detection guidance.

Elastic Security Labs reproduced the exploit chain in its lab and describes it stage by stage: an SMTP client sends a recipient address with an unclosed angle bracket, Postfix logs it to /var/log/zimbra.log as an illegal-address warning, Zimbra's bundled Swatchdog daemon matches a log line of the form "Service status change: <host> <service> changed from stopped to running", and the notification routine places the service field into a Perl backtick string that /bin/sh runs, giving code execution as the zimbra user, who can read every mailbox and send as any local identity (Elastic Security Labs, 2026-10-23). Its practical finding is that several public proofs of concept write a payload that Swatchdog never matches, so a failed test looks like a patched server; Elastic's own proof of concept proves execution with an out-of-band callback that changes nothing on disk, and it says upgrading to 10.1.20 or later is the only complete fix (Elastic Security Labs, 2026-10-23).

Its detection is a process sequence on one host within 30 seconds, a shell started by the Perl Swatchdog script with snmptrap in its command line followed by any child of that shell other than snmptrap; on a healthy host the notification shell starts only snmptrap, so any other child is the discriminator (Elastic Security Labs, 2026-10-23). Where exploitation is found, Elastic lists standard indicators of remote code execution, phishing mail originating from the server, compromise of local databases, signing keys and LDAP exports, and less direct surfaces beyond the mail store (Elastic Security Labs, 2026-10-23).

NOTABLECVE-2026-107656 +1updatedNATOA2

Fortinet FortiSandbox GUI authentication bypass (CVE-2026-107656, CVSS 9.6) and FortiSIEM 7.5.0 unauthenticated path traversal to code execution (CVE-2026-106173, CVSS 9.4): both critical, fixed 2026-10-13, neither reported exploited

First published 2026-10-23 · open finding →

Improvementrun 2026-10-24T0255Z-intelbodycvesevidenceheadlinesourcessourcing_notesummarytags

Horizon3.ai published a deep dive and a proof of concept for the FortiSIEM flaw CVE-2026-106173 on 2026-10-20; the fix and the unexploited status are unchanged.

A public proof of concept exists for the FortiSIEM 7.5.0 flaw: Horizon3.ai published a deep dive and the exploit for CVE-2026-106173 on 2026-10-20 (Horizon3.ai, 2026-10-20; The Hacker News, 2026-10-20). The fixed build, 7.5.1, and the port restriction are unchanged, and Fortinet's advisory still says the flaw is not known to be exploited (Fortinet PSIRT FG-IR-26-180, 2026-10-13).

NOTABLECVE-2026-110264updatedNATOA2

CVE-2026-110264, GitLab CE/EE: an unauthenticated code-execution flaw in the Org-mode renderer's regular-expression handling, fixed in 19.5.1, 19.4.3 and 19.3.6 and backported to four older lines (CVSS 10.0)

First published 2026-10-22 · open finding →

Updaterun 2026-10-24T0255Z-intelaffected_productsbodycvesevidencesourcessourcing_notesummaryentities

Ruby released 4.0.9, 3.4.12 and 3.3.13 on 2026-10-23 with fixes for the regular-expression engine bugs behind four GitLab flaws, this one included; any Ruby application that compiles attacker-controlled patterns is exposed to them, and Ruby has requested no CVE identifiers of its own.

The Ruby project published an advisory on 2026-10-23 and released Ruby 4.0.9, 3.4.12 and 3.3.13 with fixes for the bugs in its Onigmo regular-expression engine behind four GitLab flaws: CVE-2026-89078 (a double free when parsing a pattern fails after an alternation), CVE-2026-93577 and CVE-2026-97229 (an integer overflow in the size of a compiled pattern) and CVE-2026-110264 (an overflow of internal IDs in a pattern with many repeats) (Ruby, 2026-10-23). Ruby's table gives the first release of each series that carries each fix: the fix for CVE-2026-110264 first appears in 4.0.9, so 4.0.8 is not enough, and 3.4.12 and 3.3.13 carry all of them; GitLab fixed its own servers by patching the Ruby it ships (Ruby, 2026-10-23).

The advisory widens the exposure beyond GitLab to any Ruby application that compiles a regular expression from a string an attacker controls, says Regexp.timeout does not protect against these bugs and that limiting pattern length does not reliably protect, and says Ruby has not requested CVE identifiers of its own and that operators should track the issues under GitLab's identifiers (Ruby, 2026-10-23).

HIGHupdatedNATOB1

TeamUpdraft breach: stolen UpdraftCentral connection keys are used to push backdoor plugins to connected WordPress sites, with no flaw in UpdraftPlus and no CVE; deleting the keys is the fix

First published 2026-10-21 · open finding →

Updaterun 2026-10-24T0255Z-intelactionsbodyevidencesourcessourcing_notesummary

TeamUpdraft says the attacker entered its site with a compromised key and suspects AI-accelerated tooling, and asks users to check the sites listed in their UpdraftCentral account; Nethemba saw the stolen keys used again on 2026-10-21 after 1.26.13 shipped and reads UpdraftPlus Premium as leaving the account password stored in the site database and backups.

TeamUpdraft's updates of 2026-10-21 and 2026-10-22 say the attacker used a compromised key to access its site, that there is no evidence the attacker still has access, and that the speed of the exploits and the initially faulty backdoor plugins suggest AI was used to accelerate the attack, which is the vendor's inference and comes with no evidence (TeamUpdraft, 2026-10-19). It asks users to look at the sites listed under their UpdraftCentral account for any they did not knowingly connect since 2026-10-19, says it is seeing a pattern of unexpected Editor roles, and stresses that UpdraftPlus Premium users should check for unexpected plugins and new administrators even if they never used UpdraftCentral (TeamUpdraft, 2026-10-19).

Nethemba reports that the attacker kept going after the fix: on 2026-10-20 it tried the secret triggers of already removed backdoors on at least six sites of four administrators, and on the morning of 2026-10-21 it sent UpdraftCentral commands to two of Nethemba's sites after 1.26.13 had been released, blocked by Nethemba's own blocking plugin, with the keys no longer existing (Nethemba, 2026-10-19). A site that has a stolen key and neither updated nor deleted it by hand therefore stays exposed, and a removed backdoor is still probed. Nethemba also reads the code of UpdraftPlus Premium as storing the teamupdraft.com account password in the site database as entered and deleting it only after add-ons are claimed with a token, so it can stay in the database and in backups; a reader found it on all three of their premium sites and in backups going back to 2022, and Nethemba on one of its three, while the vendor says it is removed after the first connection and Nethemba has not found the samples it analysed reading it (Nethemba, 2026-10-19).

HIGHupdatedNATOA2

PK Softech, software supplier of Swiss pension funds: malware and a data outflow at Publica, with the City of Zurich fund PKZH saying its insured persons' test data was stolen, the Bernese funds BPK and BLVK and Pensionskasse Post also reporting the supplier incident, and the Federal Prosecutor's Office investigating

First published 2026-10-09 · open finding →

Updaterun 2026-10-24T0255Z-intelactionsbodyevidencesourcessourcing_notesummary

The Ticino cantonal fund IPCT says in a letter of 2026-10-23 that data of about 1,800 of its insured persons (about 1,700 who left in 2024 and 2025, with exit-benefit amounts and IBANs, and about 80 on disability pensions) sat on the attacked supplier server for two ongoing projects; it has no certain evidence the data were taken but finds it plausible, and it writes to all insured because it cannot exclude more.

The Ticino cantonal pension fund IPCT has put numbers on its exposure in a letter of 2026-10-23 to its roughly 17,000 active insured and 10,000 pensioners (IPCT, 2026-10-23). PK Softech told it in the late afternoon of 2026-10-14 that the authorities had established that personal data were taken from the supplier's servers, without saying which funds the data belonged to, and the fund's checks to date found among the documents on the attacked server data of about 1,800 persons, held there for two ongoing projects of spot checks and recalculations (IPCT, 2026-10-23). About 1,700 are persons who left the fund through resignation or death in 2024 and 2025: surname, first name, postal address, date of birth, AHV number and insured number, the exit-benefit amount and the receiving fund with its bank account (IBAN), and the personal IBAN for about 50 who were paid out directly, with no e-mail address or telephone number (IPCT, 2026-10-23). About 80 are insured persons on a disability pension whose passive pension data was being updated: name, date of birth, AHV number, insured number, passive insured salary, passive retirement assets, degree and start of invalidity, with no contact data (IPCT, 2026-10-23).

The fund says it has no certain evidence that these data were taken but that it appears plausible, that savings capital and pensions of all insured are untouched, that the cantonal administration's IT centre hosting the fund's infrastructure was not breached, and that it filed a criminal complaint against unknown persons and was recognised as private plaintiff, while the Federal Prosecutor's Office and the federal police investigate (IPCT, 2026-10-23; Ticinonline, 2026-10-23). It decided to send the letter to all insured because its information is partial, the analyses are still evolving and it may never have certainty, and it asks them to watch for unexpected e-mails, calls and messages over the coming weeks and never to disclose passwords, access data or personal data unless sure of the requester (IPCT, 2026-10-23). The letter names PK Softech's other customers as Publica, large cantonal public funds such as Bern and Zurich and company funds such as Migros and Post, for hundreds of thousands of insured persons in total (IPCT, 2026-10-23).

NOTABLEupdatedNATOB1

LiteLLM 1.107.0: the PyPI wheels and the official Docker images carried a credential stealer and a dormant remote-code loader that Python starts at every launch, published through the maintainers' own release workflow with stolen developer tokens

First published 2026-10-22 · open finding →

Updaterun 2026-10-24T0255Z-intelbodyevidencesourcessourcing_notesummarytechniques

The maintainers' root-cause post of 2026-10-23 replaces the earlier log-leak hypothesis: a master key committed to a public repository on 2026-05-27 and never revoked gave the attacker an organization owner's GitHub CLI token on 2026-10-10, eleven days before the release, and Socket independently found secret-stealing workflows running that day.

The maintainers published a root-cause post on 2026-10-23 that supersedes the earlier hypothesis that the tokens were read from the logs of an internet-exposed internal deployment: their request logs show the first token came from a different service, an experimental agent platform whose master key had been committed to a public repository on 2026-05-27 and never revoked (LiteLLM, 2026-10-23). The attacker used the key on 2026-10-10 to obtain an organization owner's GitHub CLI token, so access began eleven days before the release, and the same day throwaway branches in two repositories ran workflows that posted CI secrets to an external capture endpoint and were deleted minutes later, yielding the tokens of two further maintainers (LiteLLM, 2026-10-23).

Socket found the same activity independently from the repository's Actions performance metrics, including a second run on 2026-10-12 that took 14 further secrets, and says it has not established how the attacker first obtained access (Socket, 2026-10-23). On 2026-10-21 three credentials did different jobs: the owner's token overrode branch protection and later force-pushed the history clean, a second maintainer's token approved the production gate and a third maintainer's token deleted the run records, after the maintainers had relaxed the release rule earlier that week so that any two engineers could trigger and approve a release (LiteLLM, 2026-10-23). The maintainers say they are revoking every token tied to every internal system and vendor platform, and that the attacker's activity on other systems focused on upstream inference API tokens (LiteLLM, 2026-10-23).

NOTABLECVE-2026-109618 +1updatedNATOA2

CVE-2026-109618 / CVE-2026-109619, Palo Alto Networks PAN-OS and Panorama: the PHP2Shell flaws affect every release, reaching PAN-OS through its management web interface; PAN-OS hotfixes are scheduled for 2026-10-26 to 2026-10-30

First published 2026-10-22 · open finding →

Updaterun 2026-10-24T0255Z-intelaffected_productsbodycvesentitiesevidenceheadlinesourcessummarytitle

Palo Alto Networks' advisory now lists the WildFire appliances WF-500 and WF-500-B as unaffected, a correction its timeline dates 2026-10-23, has no separate Panorama row while a note keeps Panorama in scope, and extends the Threat Prevention coverage; the PAN-OS hotfix dates of 2026-10-26 to 2026-10-30 and the exploitation statement are unchanged.

Palo Alto Networks' advisory now lists the WildFire appliances WF-500 and WF-500-B, which an earlier revision of 2026-10-23 had listed as affected, as unaffected, a correction its timeline dates 2026-10-23, and the table no longer distinguishes Panorama while a note says the issue applies to PAN-OS software on PA-Series and VM-Series firewalls and on Panorama (virtual and M-Series) and the mitigation text covers PAN-OS and Panorama together (Palo Alto Networks, 2026-10-24). The estimated hotfix dates for PAN-OS, 2026-10-26 to 2026-10-30, the CVSS-B scores of 8.7 and 7.1, and the statement that Palo Alto Networks is not aware of malicious exploitation against its products are unchanged; on 2026-10-24 the advisory added updated threat-signature and content-version details, and the Threat Prevention coverage now lists twenty further Threat IDs, from 97643 to 97678 (Palo Alto Networks, 2026-10-24).

CRITICALCVE-2026-109618 +1updatedNATOA1

CVE-2026-109618 / CVE-2026-109619, PHP (PHP2Shell): two unauthenticated remote-code-execution flaws in the runtime, fixed on 2026-10-21 in 8.5.12, 8.4.27, 8.3.36 and 8.2.35, with attack traffic already observed and no upstream release for 8.1 and older (CVSS 4.0 9.2)

First published 2026-10-21 · open finding →

Updaterun 2026-10-24T0255Z-intelactionsbodyevidencesourcessourcing_notesummarytechniques

Unit 42 reports a confirmed intrusion of a European government entity with agentic post-exploitation, from its own telemetry and without naming the victim or the flaw that gave the foothold, while CrowdStrike, Sophos and Wordfence report no successful exploitation; PHP adds an informational advisory for a third code-execution path, CVE-2026-115560, that the October releases do not fix, and advises session.upload_progress.enabled=0 until its next regular release. VulnCheck's exploit now covers PHP 8.5.10 and 8.5.11 as well as 8.4.10 to 8.4.26, and Cisco, Splunk and Palo Alto Networks revised their product statuses.

Palo Alto Networks' Unit 42 updated its brief on 2026-10-23 to report a confirmed intrusion: attackers using agentic AI attack platforms for post-exploitation against a government entity in Europe reached password hashes and multi-factor authentication secrets within two hours of the initial exploitation, set up an NTLM-relay tunnel into Active Directory and attempted Domain Admin escalation (Unit 42, 2026-10-23). Unit 42 reads the markers as those of an agentic attacker: each command batch is wrapped in section-header delimiters such as ==SHELLUSER== and ==PASSWD==, the tasks are short and serially spaced, and the attacker pivots quickly after failures (Unit 42, 2026-10-23). The account rests on Unit 42's own telemetry; it names no victim and does not say which flaw gave the foothold (Unit 42, 2026-10-23).

It sits against reports of no successful exploitation. CrowdStrike has not observed any in the wild or in its honeypots and expects a reliable exploit only against a specific deployment profile, such as a fixed Docker image (CrowdStrike, 2026-10-23); Wordfence knows of no compromise among the more than 74,000 attempts its firewall intercepted (Wordfence, 2026-10-22); and Sophos corrected on 2026-10-22 its earlier report of successful exploitation to scanning and a small number of failed attempts, one of them a blocked attempt to deliver a likely Mirai-derived botnet variant (Sophos, 2026-10-22). VulnCheck's exploit now covers PHP 8.4.10 to 8.4.26 and 8.5.10 and 8.5.11 on AMD64 and ARM64 with default settings and display_errors off under mod_php, and WordPress on default Docker installs, as of 5:30 PM ET on 2026-10-23 (VulnCheck, 2026-10-21). Neither flaw is in CISA's KEV catalog as of version 2026.10.23 (CISA KEV, 2026-10-23).

PHP posted an informational advisory on 2026-10-23 for a third code-execution path, CVE-2026-115560, that the October releases do not fix: it needs an application that sets session.serialize_handler to php_binary or php_serialize, switches it to php with ini_set() before session_start(), and leaves session upload progress enabled (PHP, 2026-10-23). PHP calls it an unlikely vector, issues no emergency release, suggests session.upload_progress.enabled=0 until the next regular bugfix release, says a host that applied that setting from the 2026-10-21 advisory should keep it, and will publish the full advisory with the next release (PHP, 2026-10-23). PHP has not stated affected versions or a severity score, and no exploitation is reported (The Hacker News, 2026-10-23).

Vendor statuses moved. Cisco's advisory, revised on 2026-10-23, now describes a workaround for Expressway in its bug record, keeps the fixed release 15.5.21 undated, lists Ultra-Reliable Wireless Backhaul with a fix in 27.1.1 (February 2027), exploitable there only by an authenticated administrator and with a workaround described, and lists Duo Access Gateway with fixed release 3.2.0 (Cisco PSIRT, 2026-10-23). Splunk now lists only Smartlook as under investigation (Splunk, 2026-10-23). Palo Alto Networks' advisory now lists WF-500 and WF-500-B as unaffected, a correction its timeline dates 2026-10-23, its table no longer distinguishes Panorama, and a note says the issue applies to PAN-OS software on PA-Series and VM-Series firewalls and on Panorama; the PAN-OS hotfix dates of 2026-10-26 to 2026-10-30 are unchanged (Palo Alto Networks, 2026-10-24).

Sources: PHP (php.net news archive, Upcoming Critical PHP Security Release) · CERT-EU (Security Advisory 2026-018) · Sansec · Wordfence · PHP (php.net news archive, Security advisory: Critical remote code execution vulnerabilities, update now) · PHP (GitHub security advisory, CVE-2026-109618) · PHP (GitHub security advisory, CVE-2026-109619) · PHP Foundation · Cloudflare · watchTowr (vulnerability FAQ) · VulnCheck · Security.nl · CISA Known Exploited Vulnerabilities catalog (version 2026.10.23) · Palo Alto Networks PSIRT (advisory) · Palo Alto Networks Unit 42 (threat brief, updated 2026-10-23) · PHP (php.net news archive, Informational advisory: Session upload progress) · The Hacker News · CrowdStrike · Sophos (PHP2Shell advisory, correction of 2026-10-22) · Wordfence (attacks continue, no known compromises) · SANS Internet Storm Center (diary 33452) · BACS (Federal Office for Cybersecurity, warning) · ENISA (joint statement with the European Commission, CERT-EU, Europol EC3 and the CSIRTs network) · Canton of Basel-Stadt (communiqué, via nau.ch) · nau.ch (Keystone-SDA) · RTS · Publica (status page, status as of 2026-10-21) · Inside IT · SRF · watson.ch (Keystone-SDA) · UKAuthority · The Register · Red Hat (CVE page) · Fortinet PSIRT (FG-IR-26-186) · Splunk (SVD-2026-1013) · WatchGuard PSIRT (WGSA-2026-0032) · NetScaler Product Security (Citrix Tech Zone) · Cisco PSIRT (cisco-sa-php-october26-Jj384Daq) · Tenable (TNS-2026-30, Security Center patch SC-202610.2) · Tenable (TNS-2026-31, Enclave Security patch SC-202610.2) · Siemens ProductCERT (SSA-566512) · ReliaQuest Threat Research

03Action items7 items

Verification & coverage notes1 run

2026-10-24T0255Z-intel · Sonnet 5.5 · window 26 h · 1 entry published

Verification & coverage notes

Window: gap 24.0 h from 2026-10-23T0256Z-intel, window 26 h, developing-story window 72 h. The container clock agreed with the network date (skew 0 s) and the first fetch of origin/main was current. A Saturday-morning fire in the fourth day of the PHP2Shell story: the new signal is a first vendor-reported intrusion through it, a third PHP code-execution path, one new runtime flaw (Node2Shell) and several second-day corrections to entries the store already carries. The 26 h window held no new critical.

Container restart: at about 03:27Z the container was restarted while S1 was finalising; S1's findings file was already complete on disk (nine items, a 28-row source ledger, ended_at still PENDING in its header) and was taken as S1's return, with S1.ended_at written from the file's last write time (03:26:46Z). No continuation was needed because the ledger answers every slice record. S2, S3 and S4 returned normally. One reading note: the WebFetch summary of Socket's page reported that its share links carry a prefilled prompt asking an assistant to remember the domain; it was ignored.

KEV sweep (work/2026-10-24T0255Z-intel/kev-window.txt, catalogue 2026.10.23): two additions inside the window, CVE-2026-110447 (Collabora CODE server) and CVE-2026-114625 (Arista VeloCloud Orchestrator), both COVERED and already exploited in their entries; no RANSOMWARE row. Neither PHP2Shell CVE and not CVE-2026-115560 is KEV-listed.

Backlog (state/coverage_backlog.md): no row was open at the start. One row added and held: ARX Group SA, a leak-site claim against a Swiss engineering consultancy for federal infrastructure projects, held to 2026-11-07 on a named condition (ARX, a federal client or Swiss press confirms), because PD-6 bars publishing a leak-site claim alone.

Published (1 new): cve-2026-111497-node2shell-brotli-decoder-rce-nodejs-pypi (notable, vulnerability; multi-source: the Node.js project and Google Brotli release with Imperva's independent exploit validation, OpenSourceMalware for the PyPI packages and ENISA's record for the CVSS; it clears PD-11(b) on its own mechanics: unauthenticated code execution through a decoder reached by two ordinary Node.js request and response paths, a public independent demonstration and a patch that ships no CVE for the Python packages; not exploited, so not high).

Updated (9, through the changelog): six update records and three improvement records, none a second entry. update: the PHP2Shell entry (Unit 42's confirmed-intrusion claim set against CrowdStrike, Sophos, Wordfence and SANS ISC, the new informational advisory CVE-2026-115560, vendor status moves; one new action; priority stays critical), the PAN-OS entry (WF-500 now unaffected after a correction the advisory timeline dates 2026-10-23, and the table no longer distinguishes Panorama; 2026-10-24 added threat-signature details), the LiteLLM entry (the maintainers' root-cause post replaces the earlier log-leak hypothesis; Socket's independent reconstruction), the Publica/PK Softech entry (the Ticino fund IPCT's letter of 2026-10-23: about 1,800 persons, data fields, no certain evidence of theft), the TeamUpdraft entry (vendor-stated entry vector, attacker activity after 1.26.13, account password stored by UpdraftPlus Premium) and the GitLab CVE-2026-110264 entry (Ruby's upstream fix versions and the exposure of other Ruby applications). improvement: FortiSIEM CVE-2026-106173 (Horizon3's public proof of concept of 2026-10-20 was missing), Zimbra CVE-2026-73570 (Elastic's reproduction: failed public proofs of concept do not show a patched host; process-lineage detection) and ARTEX (Wiz's independent telemetry and log signatures). Entity registry: tool:node2shell registered by hand and five product entities synced (product:node-js, product:google-brotli, product:python-brotli-pypi, product:brotlicffi-pypi, product:ruby).

Corrections inside the updates worth the operator's eye: the LiteLLM entry carried the maintainers' superseded hypothesis, which its own source now calls inaccurate, and the old evidence quote was replaced; the Node2Shell entry states that OpenSourceMalware's "no advisory database lists the PyPI packages" is superseded by two PYSEC advisories in ENISA's record dated 2026-10-23, so dependency scanners keyed on those identifiers can flag them.

Borderline drops: borderline-drop: Linux ksmbd ZDI-CAN-33774 and ZDI-CAN-33549 — two CVSS 9.0 reports posted to a public kernel list with no mainline fix and no CVE; a niche module, no exploitation, revisit when the CVEs or fixes land; borderline-drop: Pillow 13.0.0 EPS filename argument injection CVE-2026-112900 and siblings — library-cycle fixes, conditional on Ghostscript and attacker-controlled filenames, no exploitation; borderline-drop: Splunk Enterprise CVE-2026-76268 — the advisory of 2026-10-07 is outside the window and Horizon3's write-up of 2026-10-22 fell inside the previous fire's window, where nothing covered it; dropped deliberately on the merits: the Patroni REST API is reachable from the cluster network, no exploitation is reported, the proof of concept is an unverified repository claim and the upgrade (10.4.3, 10.2.7) or the sidecar workaround sits in the regular cycle; reconsider if exploitation is reported; borderline-drop: Oracle E-Business Suite CVE-2026-101767 (Horizon3 write-up) — a row of the October CPU already covered by the CPU entry, not exploited, patch-cycle; borderline-drop: Aokigahara infostealer (Check Point, Symantec) — no delivery vector and no constituency nexus; AI-tool credential theft is an incremental infostealer feature; borderline-drop: SOCRadar INC and The Gentlemen AI workbench — one vendor's reading of attacker-held records with unverified counts, techniques and CVEs already covered by other entries; borderline-drop: Railway platform compromise — no constituency nexus found, the transferable lesson (secrets held in platform variables, AI-key hunting) is carried by the LiteLLM entry; borderline-drop: Caisse des Dépôts PEP's and Ircantec — public-employer portal accounts taken over by social engineering, but no mechanism, no data scope and a contested seller claim (incident floor); borderline-drop: Medienwerkstatt Sulgen TG and Landkreis Oberspreewald-Lausitz — private firm with business-contact data only; a precautionary county shutdown with no confirmed attack (incident floor); borderline-drop: ConnectWise Cloud Backup restoration timetable — no change to what a partner does (connections stay disabled until instructed); borderline-drop: eMudhra leaves the TLS business — the open item is a certificate replacement the entry already asks for. S1 also dropped, with reasons in its findings file, the PaperCut September bulletin rows, the October Patch Tuesday QUIC and OpenSSH for Windows rows, CGM CLININET, rsyslog dynaFile, EDK2 PXE, Laravel TokenGuard, the Atlassian October bulletin, the Zimbra and Okta Access Gateway authenticated chains and Wasmtime; S2 dropped the EFK Microsoft 365 audit (third sighting), the St. Gallen SKIPD strategy, BIT cloud capacity and the BACS consumer material.

Single-source items and carve-outs: the PAN-OS, GitLab and FortiSIEM-sandbox statements rest on first-party vendor pages for their own products; the IPCT figures are the fund's own letter, relayed by Ticinonline; the ARTEX and Zimbra additions are single research sources (Wiz, Elastic) that say what they saw in their own telemetry or lab; Unit 42's confirmed-intrusion claim is single-vendor and is reported as such beside four contrary assessments.

Coverage gaps: connectwise-trust-center (403 on every transport, fourth consecutive run; the status page supplied the restoration plan and is the working route), ec-digital-strategy-newsroom (403 everywhere; now a documented unreachable host in the health tool), databreaches-net (no cheap transport), ibm-support-security-bulletins (no listing transport), community.citrix.com (403, so the revision status of Citrix's PHP guidance could not be checked), lore.kernel.org (proof-of-work challenge) and the rapid7-research feed (error). Not reached by any sub-agent and left to the audit: SAP Security Patch Day of 2026-10-13, which no earlier fire covered either.

Candidate sources: four added (nodejs-security-releases, ruby-lang-news, imperva-threat-research, tio-ch-attacco-informatico); S1's note that PHP, Node.js and Ruby runtime advisories were found two days late through CERT relays supports reading the project security feeds of the main server runtimes every fire. rsi-info-ticino is proposed and not added until its listing is probed; trendmicro-research was moved to the TrendAI blog instead of adding a duplicate. Four sources promoted to active by the promotion rule (arista-security-advisories, hpe-networking-psirt, splunk-advisories, watchguard-psirt).

Source health: the sweep flagged four records, all resolved in this fire: ec-digital-strategy-newsroom added to the documented unreachable hosts in tools/source_health.py (13 of 13 tool tests pass), ssd-disclosure given a health_cmd for its dated posts API, dfirreport and venarix given a 120-day staleness limit for their publisher cadence. The second sweep ended with no unsolved record.

Self-identification: this fire's main agent is Sonnet 5.5 (claude-sonnet-5-5) per the harness model line; the four research sub-agents reported Sonnet 5.5 (claude-sonnet-5-5) in their own return headers.

Verification loop: three cti-verification passes, all NEEDS_FIXES, with truth plus editorial counts of 12, 5 and 2, and every claim in each pass's scope answered against the ledger (306, 315 and 253 claims). Iteration 1 found a mis-assigned footnote on Cisco's Duo and URWB rows, the Panorama and WF-500 table wording and dating on the Palo Alto advisory (its timeline dates the WF-500 correction to 2026-10-23, not 2026-10-24), a fourth Threat Prevention condition, a tense error on the IPCT letter, a Fortinet citation that did not carry the not-exploited clause, Nethemba's blocking plugin as a second blocker, an unhedged Publica sentence, Unit 42's missing foothold qualifier and a missing Exposure line on the Publica entry; all were fixed. Iteration 2 found the Panorama fix incomplete (the advisory's mitigation text names Panorama), a Patchstack time zone, a stale run-record sentence and two missing citations; all were fixed. Iteration 3 found two low-confidence wording defects (TeamUpdraft's key-cutoff sentence after the vendor's own page changed, and a Fortinet clause that attributed cron to a second file) and two advisories; it exited under the low-residual rule (truth plus editorial of 2, no F1 or F4), and all four were fixed after the pass without a further independent read, so verification_residual_count records the final pass's 2. Declined advisories: the Fortinet record type (improvement stays, the proof of concept predates the entry) and the Publica entry's length (consolidation is the audit's job). The Splunk CVE-2026-76268 drop was logged as a deliberate drop after the first pass flagged it as a missed angle; passes 2 and 3 found no missed angle.

Publish note for the audit: the Publica/PK Softech entry now carries eleven changelog sections and about 71 KB; the verifier suggests consolidating its per-fund statements and splitting its first action.