Cyberkern
Patch management

Patch management: Why known vulnerabilities stay unresolved

A vulnerability has been reported and an update is available, yet a system remains exposed. The PHP case shows where handovers matter. Two studies and a blank working register help you review your own process.

Editorial: CyberkernSources checked: Published:

Known to whom?

Researchers may have reported a flaw privately while businesses have no public advisory. Later, a vendor may release an update that the affected organization has not deployed. These situations require different responses.

Patch management connects decisions: which systems are affected, who can change them, which fix applies and whether it is running. Neither an open-CVE count nor a critical severity rating replaces an inventory linked to specific services.

A useful status identifies the next missing piece of evidence. “Vendor investigating”, “package approved” and “running instance not yet verified” tell an operator more than a single undifferentiated “in progress”.

PHP2Shell: What the timeline establishes

The PHP case illustrates several of these states. This selection separates earlier indications, private coordination and public releases. Calif's dates come from its retrospective account; the PHP Foundation also records the 11 August report.

There are 71 elapsed calendar days between Calif's first report on 11 August and the releases on 21 October, calculated by subtracting the dates and excluding the start day. That does not measure inactivity or 71 days of public knowledge. It also says nothing about when a particular hosting provider or customer activated the fix. [1] [2] [3] [4]

PHP2Shell: fixed versions and hosting checklist

Swipe or scroll sideways to read the table.

Selected documented events: distinct states rather than one waiting period
DateDocumented stateWhat it does not establish
2024Early indications of the OOM problem; no concrete attack path established thenNo proof of a publicly available PHP2Shell attack at that time
11 August 2026Calif privately reports its first vulnerability to PHPNot a public warning to every operator
15 August 2026PHP confirms the supplied demonstration, according to CalifNot a completed update delivered and deployed everywhere
21 October 2026Corrected releases for the original two CVEs become availableNo proof of the patch state of every running instance
23 October 2026Additional advisory for a particular session configurationNot a general withdrawal of the original two fixes

Why confirmation does not immediately produce an update

The PHP Foundation describes trade-offs involving compatibility, performance, new availability risks and extension changes. It also cites limited specialist capacity and a decision process it characterizes as a structural failure, with reforms under way. Following early disclosure, the release was brought forward by one day while distributors were still preparing installable packages.

This is not a general excuse for delay. An escalation should identify the missing step: reproduction, a technical decision, verification or package delivery. Each needs an owner and a review date. Calling everything “waiting for the patch” hides the bottleneck. [1]

What two studies show—and what they do not

Research on patching helps examine how work gets done. It does not provide a current worldwide rate of unprotected businesses. Publication year, collection period and the unit being counted therefore belong beside each number. [5] [6]

Swipe or scroll sideways to read the table.

Historical research with defined limits
Study and dataObservationLimit of the finding
ten Napel et al., 2025: one Dutch government agency; tickets from August 2015 to November 2022; 92 main tickets analyzed37 main tickets classified as patched: median time from ticket creation to closure of 13.2 daysA single-organization study of selected urgent advisories. Ticket closure is not measured verification of the active runtime or a recommended deadline.
Jenkins et al., 2024: online survey of 220 system administrators, 24 August–7 September 202180 of 220 reported access to a dedicated test environment; 107 used staged deploymentSelf-reports from a non-random sample; multiple selections allowed. No dedicated environment does not mean no testing. Not a worldwide rate for 2026.

Review the handovers in your own process

Our working structure starts with the system, not the update catalog. An advisory becomes actionable when it is connected to a service and a responsible role. If information is missing, applicability stays unresolved; it should not quietly become a low-risk finding.

Agree the target state, functional checks and recovery path next. If the fix cannot yet be deployed, a temporary measure needs a rationale and a review date. It should not become permanent by default. After the change, verify the actual instance, including any required restarts or newly deployed containers.

NIST treats patching as preventive maintenance. Its guidance calls for verifying installation and effectiveness and continuing to check, including after restoration or reset. A later restore can reintroduce an older state. [7]

Three handovers to a verified operational state
  1. Establish applicability

    Connect the advisory to the actual system. Record exposure, evidence and ownership.

  2. Implement the change

    Agree the target package, approval and recovery path. Give temporary protection a review date.

  3. Verify effectiveness

    Check the running instance and important functions. Keep unresolved items explicitly open.

Verify before closing

An available release, a successful installation and a closed ticket provide separate pieces of evidence. What matters is the state actually active in the affected service.

Cyberkern's own working structure. This illustrates a review process, not a success rate or fixed deadline derived from the studies.

Hosting, internal IT and the application: Who owns each part?

“It is in the cloud” does not identify an owner. As a specific example, AWS distinguishes its infrastructure from the customer-maintained guest operating system and installed applications on EC2. More abstracted services divide responsibilities differently. Do not transfer that example to your hosting contract without checking.

For each service, establish who evaluates vendor advisories, maintains the base system, tests the application and confirms completion. The business owner helps determine which functions must remain available. The technical operator identifies the change and its evidence. If a supplier owns the work, attach its specific response to the record; a general status page may leave the relevant questions unanswered. [8]

A blank register for your next real case

The patch register is Cyberkern's own working aid, not a protocol validated by the studies. One row connects a system, vendor advisory, owner, action and closure evidence. Use roles or teams rather than personal contact details. Do not include passwords, keys or confidential log contents.

The CSV contains column headings only. Document outstanding points as carefully as completed work. A planned installation is not ready to close. Reassess protection after a rollback; an earlier verification should not silently be treated as evidence of the current state.

Download the blank patch register as CSV

  • System and applicability recorded with supporting evidence.
  • Responsible technical role or supplier and decision path identified.
  • Target package or configuration change and recovery path agreed.
  • Temporary measure recorded with a deadline and next review.
  • Active state and important business functions checked after the change.
  • Closure evidence attached, or an unresolved item left open with its next action.

Better questions for the next status review

Ask which publicly reachable systems have unresolved applicability, which temporary measures are overdue for review and where evidence of active remediation is missing. Track time to ownership, activation and final verification separately, rather than relying on closed-ticket counts.

An external security assessment can identify visible systems and anomalies. Internal package state and possible earlier compromise require additional evidence. Updating does not replace incident investigation. For an initial enquiry, describe the services and your question; sensitive records can follow through an agreed channel.

Prioritize vulnerabilities by exposure and urgency

Map the external attack surface

Sources

  1. PHP Foundation · Security release and disclosure background (21 October 2026)
  2. Calif Research · PHP2Shell discovery and disclosure timeline
  3. PHP · Critical remote code execution vulnerabilities (21 October 2026)
  4. PHP · Session upload progress advisory (23 October 2026)
  5. ten Napel, van Eeten & Parkin · Speedrunning the Maze (IEEE S&P 2025)
  6. Jenkins et al. · Not as easy as just update (CHI 2024)
  7. NIST SP 800-40 Rev. 4 · Guide to Enterprise Patch Management Planning (2022)
  8. AWS · Shared Responsibility Model
Related assessment

Security Assessment

Explore the service scope

Contact

Please do not send credentials or confidential information.

* Required field