The requests nobody sees
Across several client environments I look after, some requests are blocked for security reasons. The service keeps running, users place their orders, and this activity stays out of their sight. It still deserves a place in business decisions: operational security needs an ongoing ability to prevent, patch and verify.
Automated searches for vulnerable systems do not require the company’s name. A programme can work through addresses and try known paths, looking for a forgotten installation or exposed software. An SME can therefore receive these requests without being individually targeted. Waiting until the business becomes an “interesting” target overlooks this routine activity.
Reading the evidence takes care. Cloudflare explains that one HTTP request can generate several security events. Dividing an event count by a request count is therefore insufficient to calculate the proportion of blocked requests. A block can also be a false positive that needs investigation.
A scan looks for an opening. An exploitation attempt tries to use a vulnerability. A demonstrated exploit establishes that a mechanism works under particular conditions. A compromise means a system has actually been breached. The number of attempts received does not let us jump from one category to the next.
The alerts between 1 and 27 October 2026 show how many layers need attention to keep a service secure. “Cascade” describes the alerts arriving one after another, without suggesting a shared exploitation chain.
A month that demands attention across several layers
Application code depends on a runtime, libraries, an operating system and delivery tools. A team watching only its own repository leaves part of that stack unattended.
| Date in October 2026 | Component and problem | Operational consequence |
|---|---|---|
| 1 | Ubuntu USN-8861-1: OpenSSL on Ubuntu 26.04 LTS, possible resource exhaustion through QUIC. | Check relevant uses and install the fixed packages. |
| 13 | Ubuntu USN-8917-1: kernel advisory for Ubuntu 24.04 LTS. | Identify the kernel variant and follow the supplier’s instructions. |
| 21 | Node.js, the Brotli flaw known as Node2Shell: malformed compressed data can corrupt memory and potentially allow code execution. | Examine paths decompressing untrusted data with node:zlib, then update. |
| 21, follow-up on 23 | PHP2Shell: two critical runtime flaws allowing unauthenticated remote code execution. | Update PHP and review the configuration follow-up. |
| 21, report on 23 | LiteLLM 1.107.0: compromised release on PyPI and container registries. | Identify artifacts used and handle exposed environments according to the incident advisory. |
| 23 | Ruby and the GitLab CVEs: memory corruption when compiling certain regular expressions. | Check whether an attacker controls compiled patterns and apply the fixes. |
These entries do not mean every application is exploitable. In Ruby’s case, using developer-written expressions does not meet the exposure condition described. LiteLLM illustrates a malicious dependency distributed through a legitimate channel, rather than a flaw in the Python language.
The PHP follow-up on 23 October concerns an unusual combination of configuration and runtime changes to the session serialiser. The notice on 26 October adds rebuilt Windows packages with fixed Brotli. A runtime version number alone therefore does not identify that package.
An advisory date is not a discovery date either: USN-8917-1 includes a CVE from 2023. Counting those entries as newly discovered October vulnerabilities would misrepresent the evidence.
The volume of published vulnerabilities is growing
The CVE Program assigns shared identifiers to publicly disclosed vulnerabilities. Its official publication statistics allow comparison of matching periods: 23,710 records in the first half of 2025, compared with 35,872 in the first half of 2026, an increase of 51.3%.

Chart redrawn from the first- and second-quarter totals. Source accessed on 27 October 2026, with no projection for the following months.
These publications measure documented vulnerabilities, rather than attacks or compromises. Their number also depends on the programme’s coverage and reporting activity. The increase alone therefore does not demonstrate that software is becoming less secure. It reinforces a practical requirement: being able to identify what affects the business and act on the alerts that matter.
Response time becomes decisive
In its observations published on 21 October, AWS dates a PHP2Shell attempt against its MadPot sensors to 17 October, before disclosure on 21 October. Following the patches’ release, new exploits were used against its sensors almost immediately. AWS says it is unclear whether these attempts would have succeeded on real systems.
That timeline changes where an investigation starts. Looking only at activity after the advisory can miss earlier events. Patching closes an opportunity for the future, but does not establish what has already happened.
Anthropic’s assessment on 8 October addresses another part of the process: exploitation costs are falling while verification, disclosure and remediation remain slow and dependent on people. This is an AI provider’s assessment. It does not demonstrate that every observed attempt uses AI, or that every discovery will become a successful attack.
The implication for a team is practical. An alert arriving on Friday is useful only if someone can identify affected services, decide what to do and deliver the change. A security mailing list without an owner or deployment access does not provide that ability. Time spent locating the server or supplier passes while the service remains exposed.
Five capabilities to fund and keep working
A one-off audit provides a picture and priorities. It can uncover a dangerous situation and justify urgent work. The next question concerns what happens after the findings are presented: who handles the next alert, with what resources and what evidence of resolution? Application and operational security covers precisely this continuity between software and its operation.
Know what is running and who owns it
The technical lead must be able to connect a service to its owner, deployed versions and dependencies. The inventory includes servers, containers, purchased services, scheduled jobs and build tools. A dependency file in Git records an intention. The team also needs to know which artifact is actually running in production.
Useful evidence is a dated inventory linked to deployments, with a sample that can be checked against running services. When an advisory arrives, the team should find affected instances without investigating the entire company. If a supplier manages them, its responsibilities and emergency contact must be available.
Reduce exposure and privileges
The operations owner, working with application owners, reviews what needs to remain accessible and which permissions each service requires. An unused administration interface can be closed. A token used to read a repository does not need permission to modify the whole organisation.
The article on access that outlives its tools shows why this review must cover abandoned uses too. The evidence should confirm that an access right or exposure has been removed, and explain what remains authorised and why. An instruction to revoke access leaves the work unfinished until its implementation is checked.
Turn monitoring into decisions
A named person receives supplier advisories and dependency alerts. The technical lead then prioritises according to the version, exploitable path, accessible data and actual exposure. Severity scores help with triage, without replacing these checks.
Every significant alert should leave a recorded decision: affected or unaffected, the supporting evidence, the measure chosen, who acts and when to review it. Uncertainty stays open with an owner. Filing something as “unaffected” because information is missing removes the follow-up without reducing the risk. Management needs to know who decides when urgent remediation interrupts product plans.
Patch all the way to the deployed service
Developers prepare and test the change, operations delivers it, and a designated owner verifies the result. Depending on the organisation, the same people may hold these roles. They must still cover the whole chain, including old processes that remain active and instances a deployment has not replaced.
Evidence brings together the fixed version or package, completed deployment, necessary restarts and checks on the service afterwards. A functional test establishes that users can still work. A version or configuration check establishes the intended fix. A green pipeline alone does not demonstrate both outcomes in production.
Detect intrusions and be able to recover
Operations or the security supplier needs actionable signals: unusual account creation, unexpected processes, file changes or suspicious access to secrets, depending on the system. Someone must be able to examine them and initiate a response. Logs need retention that supports the planned investigation, and protection against disappearing with the server.
Management also agrees what the business must be able to restore, how quickly and with how much acceptable data loss. Evidence is a dated restoration exercise, with measured duration and checks on recovered data and functions. An exercise report should show who isolates the system, preserves evidence and revokes compromised secrets. A backup nobody has tested reading leaves those answers unknown.
Rebuilding after a WordPress compromise shows how these checks translate into incident recovery.
Updates have a cost, and so does waiting
Fear of breaking production is legitimate. An update can disrupt payments, a partner integration or an overnight process. The business needs to reserve maintenance time and provide a test environment sufficiently close to the real service. Demanding immediate patches while filling every available slot with new features makes that commitment difficult to keep.
The answer is prioritisation. An exploitable path on a public service calls for a faster decision than a component absent from production. When a patch cannot be delivered immediately, temporarily closing a function or restricting access can reduce exposure. Its scope, consequences and end date must be explicit. A temporary measure should not vanish from tracking when public attention moves on.
Preparing a rollback protects availability, but returning to a vulnerable version reopens the problem. The team therefore needs a way to retain a restriction or suspend the affected function if deployment fails. Agree that trade-off with the business before the intervention wherever possible.
A web application firewall can filter some attempts while this work takes place. It does not update the runtime, revoke an already stolen secret or necessarily cover an outbound download or build tool. Its dashboard describes part of the defence, within a scope that needs to be understood.
Three questions that need answers
A business leader does not need to read every advisory or choose software versions personally. They need answers that can be checked.
- Are we affected? Which services, versions and entry paths support the answer? What remains unknown?
- Who can intervene, and how quickly? Who decides, who deploys, who provides cover during absences and which work will be deferred?
- How do we verify the fix and investigate any earlier intrusion? What evidence confirms the running service is patched, which records cover the exposure period and who examines them?
Where those answers are missing, a technical and organisational diagnostic can establish the gaps and prioritise initial work. That work will then need an owner, time and follow-up. October’s alerts make a lasting requirement visible: the business must be able to respond to the next one while its customers continue using the service.
