cotton
Cotton / ResourcesPHP REMEDIATION · AWS CHECKLIST

The PHP update is available.
How do you prove the exposure is closed?

Cotton is being designed to let an authorized administrator review and approve a patch plan, have Green carry out the rollout, and receive separate checks of the security and application outcomes.

Your team has an urgent PHP update to deploy. Before closing the finding, you need to establish which workloads were affected, what changed, whether those workloads now serve traffic with the fix, and whether the application still works.

For an AWS SaaS platform, that evidence may cross security, application and infrastructure teams. Use this checklist to agree on the closure conditions before rollout and carry the unresolved work to a named owner.

Cotton’s intended experience makes that update easier: an authorized administrator approves a precise plan, Green executes the supported rollout, and a separately governed verifier checks the result. The checklist below shows the controls that experience needs.

What PHP released on 21 October 2026

PHP disclosed fixes for CVE-2026-109618 and CVE-2026-109619, two critical vulnerabilities that can allow unauthenticated remote code execution. The fixed upstream releases are 8.5.12, 8.4.27, 8.3.36 and 8.2.35. PHP urges users to update immediately. Official PHP advisory.

The advisory covers PHP installations serving web requests and identifies Apache with mod_php as the highest risk. Exploitation depends on runtime and application conditions; installations are not equally exploitable. The PHP Foundation describes the release and disclosure history.

Distribution and LTS vendors may supply backported fixes. Confirm your exact package against its vendor’s advisory rather than relying only on the upstream version number. PHP’s temporary mitigations reduce particular attack paths; they do not fix the underlying vulnerabilities or make an installation safe. Use the current upstream and vendor instructions for the supported update path. PHP update and mitigation guidance.

1. Find the PHP that actually serves requests

Build a workload list across the accounts, Regions and environments in scope. Include the application owner, instance or container identity, runtime source, package or image revision, and evidence time. Reconcile scanner findings with deployment inventory so an unscanned workload stays visible as a gap.

Distinguish three observations:

  • Built: the approved image or package contains the vendor fix.
  • Installed: that artifact is present on the intended workload.
  • Serving: the process handling application requests uses the fixed runtime.

A shell version check alone may describe a different PHP installation from the web service. Collect evidence through approved operational tooling and connect it to the actual serving process. Keep diagnostic output private.

Cover running replicas, scheduled workloads and replacement capacity. Update the source used for future deployments and scaling, then verify a newly started workload too. Record anything you cannot inspect, with its owner and next check.

2. Prioritize with reachability and permissions

For each affected workload, ask who can reach its PHP request handlers, which customer journeys depend on it, and what data or cloud operations its identity can access. Include internal paths and direct origins alongside the public front door.

Use this context to sequence urgent work and review temporary containment. A private subnet or filtering rule is context, not evidence that PHP is patched. Record containment separately, with an owner, expiry and remaining exposure. If a workload role is broader than necessary, prepare a separate permission review with its own approval and application checks.

3. Approve the exact update and recovery plan

Name the service owner and administrator authorized to approve the change. The proposal should identify the exact action, target workloads, package or immutable image, relevant configuration changes, current-state preconditions, rollout stages and acceptance checks.

Keep administrator approval separate from execution. Before dispatch, the execution boundary must recheck the action, target, artifact, conditions and approval validity. Reject revoked or expired approval and changed or stale proposals; obtain renewed review before proceeding.

Agree what happens if the update breaks a required workflow. A rollback must not silently restore a known vulnerable runtime. Review a fixed recovery candidate or separately authorized containment, including service impact and outstanding risk. Record uncertain or partial deployment effects before retrying.

4. Let Green execute the approved plan

In Cotton’s target workflow, Green would apply the supported update through a scoped deployment integration. The administrator reviews the concrete plan; Green handles its approved stages and records the effects.

Execution needs separately granted permissions limited to the intended actions and resources. Read access and an approved plan alone cannot supply those permissions. Start with the agreed rollout stage, inspect its results, then continue only while the approved conditions hold.

Stop progression on a service regression, failed precondition or uncertain effect. Reconcile partial state and request review for any recovery action outside the approved plan. Green’s completion report goes to the verifier; it does not establish closure.

5. Require security evidence and real application checks

Collect fresh runtime and fleet evidence after deployment. Retain the vendor advisory, artifact identity, serving-workload observations and any scanner reassessment, including what each source actually inspected. A successful pipeline run establishes that a deployment step completed; closure needs the resulting state.

Test the customer work that must survive: login, an upload or import, an API transaction, a scheduled job, or another journey affected by your change. Establish a working baseline and compare the result after rollout. A health endpoint alone may miss the operation your customer needs.

Any adversarial check needs explicit targets, methods and stop conditions. A failed exploit attempt cannot prove that a runtime is fixed. Give a separately governed verifier access to inspectable evidence and authority to withhold closure. Missing security evidence, an unknown replica or a failing required service check leaves the outcome unresolved.

Patching and investigating prior compromise are separate jobs

A fixed runtime does not establish whether an attacker previously gained access. If there are indicators or exposure concerns, assign a separate incident investigation, preserve relevant evidence and track that decision alongside remediation.

An AWS example: the image is fixed, one task is still unknown

Synthetic example of the intended Cotton workflow. A customer portal runs PHP in an ECS service behind a load balancer. Its task role reads customer documents from S3. An administrator approves a supported image update and its exact rollout plan. Green executes the controlled rollout; a separately governed verifier checks the serving runtimes, login and document retrieval.

Swipe or scroll sideways to compare all columns.

What the reviewer can conclude from each observation
ObservationDecision
Image matches the vendor fix; administrator approves the exact plan.Green can execute within granted permissions once approval and preconditions are rechecked.
Two tasks have fresh serving-runtime evidence; a third has none.Coverage is incomplete. Keep closure blocked and assign the missing observation.
Every in-scope task, including a fresh replacement, shows the fixed runtime; required application checks pass.The authorized reviewer can close the scoped vulnerability finding with those evidence references.

If document retrieval fails, investigate the service regression before closure. If the role also has unnecessary access, track that separately. Neither the PHP update nor a passing retrieval test establishes least privilege.

Keep the evidence in one closure record

Adapt the scope, approval, execution and outcome fields to your PHP rollout. Attach the fleet evidence and record unresolved checks.

Where Cotton’s intended workflow fits

Cotton is being built to connect investigation, approved execution and outcome evidence. Blue would combine supplied runtime findings with AWS reachability, permissions and ownership. Red would test an agreed adversarial path within explicit limits. Green would prepare and execute supported updates after administrator approval. Separately governed verification would assess security and service results before closure.

This is the target experience. Cotton currently provides concepts and synthetic demonstrations; live AWS connections and PHP update integrations are not available yet. Proposed AWS configuration reads do not inspect installed PHP packages or grant patching access. This workflow requires runtime evidence, supported update integrations, scoped execution permissions and validation.

Explore the same evidence pattern in the worked cloud-remediation case. Use the evaluation checklist to challenge approval, execution and missing-evidence behavior.

Sources and scope

Advisories reviewed 22 October 2026. The linked PHP sources support the release facts above. The checklist and fictional AWS example are Cotton’s workflow guidance. Recheck vendor instructions when preparing your actual update.

DESIGN PARTNER PROGRAM

Bring one difficult remediation handoff

How does your team move from an urgent finding to an approved change and evidence of the result? Share a sanitized workflow, the checks you need and the handoff that takes the most effort. Help shape Cotton around that work.

Explore a design partnership
Analytics privacy details

Google Analytics receives limited page and consent measurements without analytics cookies before you choose and after you reject optional cookies. Accepting enables analytics cookies plus scrolling, selected link and download clicks, demo interactions and confirmed inquiry submissions. Clicks do not establish that a download completed or a demo action succeeded. Google receives visit, browser, device and network information; cookieless does not mean no data is sent. The website works if you reject optional cookies.

We do not send inquiry contents or account identifiers through our analytics code. Advertising consent stays off. Page addresses omit arbitrary query parameters and fragments; campaign labels may be included to understand traffic sources.

Your choice is saved in this browser for 180 days. Analytics cookies expire after 180 days and can be renewed by later visits. Rejecting optional cookies in Cookie settings clears analytics cookies and stops our detailed events; limited cookieless measurement continues. Changing this choice does not delete information already sent to Google. This browser choice is separate from consent to contact you about an inquiry.

Read how Google uses information from sites that use its services and Google’s privacy policy.