The CISO POST All field notes
Security operations · FIELD MEMO 009

PHP and eMudhra exposed the same startup problem: can you find what you depend on?

Two unrelated critical security events became one operating test: whether a growing company can identify exposure, assign a decision, and prove what it did next.

A critical PHP release and the emergency distrust of eMudhra certificates arrived within days of each other. One concerned remote code execution in a widely used runtime. The other concerned broken trust in part of the public certificate ecosystem. The technologies were different, but the management question was the same: can your company quickly identify where it is exposed, decide what must change, and retain evidence of the decision?

Two incidents, not one combined attack

On October 21, the PHP project released fixes for two critical vulnerabilities, CVE-2026-109618 and CVE-2026-109619. PHP said the issues could permit unauthenticated remote code execution and urged every installation serving web requests to update immediately. The project identified the highest demonstrated risk in Apache mod_php, where an attack could occur before application code runs.

Separately, eMudhra disclosed that private keys associated with eight intermediate certificate authorities were recoverable because a script error had produced cryptographically weak keys. The affected intermediates were revoked. eMudhra says they had not issued publicly trusted end-entity certificates and that its investigation found no compromise of infrastructure or customer data.

These facts matter because good incident response begins by resisting two bad instincts: combining unrelated headlines into one imagined attack, or dismissing an event because the company does not buy directly from the named vendor.

The founder testYou do not need to understand every exploit. You do need to know who can find the exposure, make the decision, and prove the response.

Ask about exposure before debating severity

The first question is not whether the internet thinks an incident is catastrophic. It is whether the affected technology or trust relationship exists in your environment.

For PHP, that means more than asking whether the main product is written in PHP. Look for customer portals, marketing sites, legacy administration tools, internal utilities, acquired products, container images, managed hosting, and vendor applications. Establish the PHP version, how it serves web requests, who supplies its packages, and whether the environment is internet-accessible.

For the eMudhra event, the exposure question is broader than whether your company purchased an eMudhra certificate. Certificate trust is distributed through operating systems, browsers, language runtimes, containers, appliances, developer tooling, and embedded software. A team needs to know which of those layers it operates and which are maintained by a provider.

The practical lesson is not that founders should inspect certificate chains themselves. It is that somebody must be able to trace a public advisory to the company’s real systems without beginning from a blank spreadsheet.

Give the response a single accountable owner

During a critical advisory, responsibility often fragments. Engineering patches application servers. IT updates employee devices. A cloud provider manages part of the stack. Security asks for evidence. Customer-facing teams wait for an answer.

Assign one response owner even when several teams perform the work. That person should keep a short decision record covering:

This is not bureaucracy. It prevents five partial investigations from producing no company-level conclusion.

  • what the advisory says and which sources were treated as authoritative;
  • which products, services, versions, and trust stores were checked;
  • which assets were affected, unaffected, or still unknown;
  • what was patched, replaced, isolated, or accepted temporarily;
  • which vendor confirmations remain outstanding; and
  • whether any customer or contractual notification threshold was reached.

For PHP, patching is the primary control

The PHP project’s direction is unambiguous: update installations serving web requests to PHP 8.5.12, 8.4.27, 8.3.36, or 8.2.35, or obtain the appropriate patched package from the operating-system or long-term-support vendor. PHP 8.1 and older are no longer supported by the project, so an older installation requires a supported vendor backport or an upgrade plan.

Do not let a web-application firewall, low traffic, or a belief that the application has no sensitive data become a substitute for patching. Remote code execution changes the question from what data the application intentionally handles to what the compromised process can reach.

After updating, verify the running version rather than the version in a manifest or ticket. Rebuild long-lived container images, replace running instances, and check background pools or secondary environments that may not follow the primary deployment path.

For eMudhra, update the layers that decide trust

The eMudhra response is not a conventional server patch. Browser, operating-system, language-runtime, networking, and product vendors have been updating their trust decisions. The action for a startup is to identify which components maintain independent certificate stores or ship their own trust bundles, then apply the relevant vendor updates.

Pay particular attention to old base images, appliances, embedded browsers, command-line clients, long-lived developer environments, and software that is updated less frequently than employee laptops. Modern browsers may receive distrust updates quickly while a container or appliance remains unchanged.

If a managed provider owns the layer, ask for a specific confirmation: whether the affected trust anchors or intermediate certificates were present, what remediation was applied, and when the change reached your environment. “We use a major cloud” is not itself an exposure assessment.

Communicate what you verified, not what you hope

Customers may ask whether either event affected your company. Avoid an immediate blanket “no” unless the relevant environments have been checked.

A credible response is bounded and time-stamped: which services were reviewed, which versions were found, what updates were applied, what remains under investigation, and whether there is evidence of exploitation or data exposure. If the assessment is still underway, say so and provide the next update time.

This is where operational discipline becomes customer assurance. A concise record of inventory, decision, change, validation, and evidence is more trustworthy than confident language produced before the facts are known.

The 24-hour operating checklist

When the next serious ecosystem advisory arrives, a growing company should be able to complete a first response without creating a crisis room for every headline.

The final step matters. If the team could not answer whether PHP or a certificate trust store existed in an important service, the incident revealed an inventory gap even if no vulnerable system was ultimately found.

  • Confirm the facts using the maintainer, affected vendor, or another primary source.
  • Name one accountable response owner and a technical lead.
  • Search asset, dependency, container, hosting, and vendor records for plausible exposure.
  • Ask providers for product-specific status when they operate the affected layer.
  • Patch or distrust where official guidance is clear; document temporary exceptions.
  • Verify the change in running systems rather than relying on deployment intent.
  • Preserve the advisory, scope, decision, evidence, and customer communication.
  • Schedule a follow-up for unknown assets and inventories that failed the test.
The most valuable security inventory is not the longest one. It is the one your team can use when a serious advisory lands on an ordinary workday.
FIELD MEMO 009

Useful now, not someday.