Six hours before the patch was released, someone was already hacking it, how should we prevent that round of PHP remote execution?

📅 2026-11-01 👁️ 0

Six hours before the patch was released, someone was already hacking, it is the most memorable fact in this round of PHP remote code execution vulnerability: the fix fell on October 21, 2026, while the attack attempts appeared six hours earlier than the patch. The seriousness of the vulnerability lies in the fact that attackers can run their own code on the web server without logging in, and WordPress carries 39.6% of the world's websites. The longer the waiting window, the larger the exposed area. The real defense is not at the moment of the patch release, but whether you can complete the three steps of 'confirmation hit—temporary suppression—upgrade verification' within a few hours.

Why are the six hours before the patch even more dangerous?

Exploit code often circulates before and after the patch is released: manufacturers provide repair instructions, which is equivalent to publicly disclosing the triggering conditions. Attackers can reverse the differences in the patch into requests, allowing them to test their hands on sites that have not been upgraded. There are three characteristics in these six hours:

  • The defense side does not have a downloadable version yet, and can only rely on configuration and rules to hold on;
  • The requests appearing in the logs are from unknown sources and are often ignored as spider noise;
  • The application release window of shared hosts and maintenance stations is fixed at night, and the six hours fall outside the window.

Therefore, the criteria for judgment is not 'whether the patch has been released', but 'whether the exploitation conditions have been publicly disclosed.' Public disclosure is considered as in-the-wild risk.

First confirm three things for sites running PHP.

The first is the running version. List the PHP version of the web server, the program itself, and the extension modules it carries one by one, and there is no basis for discussion and repair if the versions do not match. The second is the entry surface. Most remote executions go through unauthenticated entries: form processing, file upload, template rendering, and external interfaces. List the anonymous accessible paths, which is more effective than checking each page one by one. The third is historical traces. Screen the access logs before the patch according to the suspicious parameter form, focusing on abnormally long query strings, encoded expressions, and execution records in the upload directory.

What is the difference between temporary relief and complete repair?

The method. What can it suppress? What can it not suppress? Suggested retention time
Close the execution permission of the anonymous writable upload directory Existing write-type exploitation chains Remote execution from other entry points Long-term retention
Intercept according to request features on the gateway side Known form of detection traffic Deformed load and internal initiated requests Up to the completion of the upgrade
Pause the risk module Trigger conditions brought by the module Business functions interrupted simultaneously Several hours to a low-peak window
Upgrade to the fixed version The trigger condition itself Sessions and backdoors already implanted Still need to be checked after completion

The value of temporary mitigation is to buy time, not to solve the problem. Rule blocking should leave a rollback switch, otherwise no one can take over when the business is blocked by mistake.

Check which places need to be verified after the upgrade

After the upgrade is completed, at least four categories need to be verified: whether the login credentials and JWT session need to be forcefully re-issued; whether the list query and sorting parameters can still be used to generate SQL injection; whether the output filtering of cross-site scripting XSS covers the newly added fields; and whether the sensitive word filtering and content review rules have expired after the version change. The source IPs, abnormal scheduled tasks, and modified template files that have appeared in the logs need to be aligned item by item. If it cannot be confirmed to be innocent, reset the administrator password and rotate the signature keys of each site, which is faster than repeatedly checking.

How are similar high-risk issues in AnQiCMS repaired

The two items repaired in v3.6.6 (2026-10-08) are of the same approach: no 'construction space'. The list sorting parameter previously allowed a limited degree of SQL function expressions, the validation only looked at whether the first and last characters were quotes, which could be combined into a time blind note; now it has changed to a strict identifier whitelist, only accepting column names,表名.列名With ascending and descending order keywords, the rest are all discarded and fall back to default sorting. The original multi-site jump login used the password hash as the signature material, the random string can be repeatedly generated, and the ticket does not expire;Now it is replaced with a one-time ticket issued by the server, valid for 120 seconds, and it becomes invalid after one use, along with account status check and IP error locking.Upgrade prompts require the rotation of site signature keys and the modification of the administrator password - this is the same experience as 'Session must be checked after patching'. At the daily level, built-in JWT authentication, sensitive word filtering, content review, and anti-interference code for collection prevention narrow the scope that can be triggered anonymously, and backups (including static files) determine whether it is possible to roll back after an issue occurs.

Common questions

Should the service be stopped first when there is no official patch?First, check if the entry is anonymously accessible. If it is an entry such as upload, template rendering, or external interface, temporarily closing is safer than holding on; if only secondary functions after login are hit, you can first restrict the access range and wait for the fixed version.

Is it enough to just upgrade?Not enough. What the upgrade eliminates is the triggering condition, and all established sessions, scheduled tasks written, and template files modified need to be checked separately. If there is any doubt, reset the credentials.

How can you judge whether you have been hit?Compare the access logs before the patch time window with the file modification time, focusing on the execution records in the upload directory, abnormal length query parameters, and accounts with excessive permissions in the database.

Related articles

After the AI overview appeared, there were only thirty-six clicks out of a thousand exposures, does SEO still have meaning?

A measurement in late October 2026 shows that when the AI overview appears, the natural click rate decreases by about 58.6%, and the clicks per thousand impressions drop from 87 to 36. A decrease in clicks does not mean SEO failure, but rather the indicator needs to be changed: sitemap and link push ensure that the page is discovered, anchor text and keyword library help the search party locate the topic, and the measurement criteria should shift from clicks to being extracted and cited.

2026-11-01

How much difference in visibility will there be in the AI answer if the content contains or does not contain data?

Paragraphs with statistical data are easier for models to extract and cite, and the difference range given by related research is between 30% and 40%. This article explains which numbers are worth writing in the text, the conclusion sentence, and whether the numbers should be placed at the beginning or end of the paragraph, as well as how to use AI writing, AI TDK, and automatic tags to complete self-contained structures.

2026-11-01

Does the AI crawler have dozens of user agents, and should training and search classes be separated?

The list of user agents for AI crawlers indeed has dozens, but it is more practical to divide them into training, retrieval, and user-initiated types according to their use: the training type can be tightened as a whole, and the retrieval type and user-initiated type should be relaxed. robots.txt controls access, llms.txt controls which navigation to read, and the two have different divisions of labor. After the change, the actual user agents visiting should be checked against the log.

2026-11-01

Who manages the server for self-built background and hosting platform, and where is the difference in maintenance working hours?

The difference in server division between self-built CMS backend and hosting platform is concentrated in the three steps of patching, backup acceptance, and upgrade rollback. This article compares each item with the patch frequency and labor cost range given by the operation and maintenance cost study, explaining that hosting does not mean zero labor and self-building does not mean all manual, and provides a method for calculating maintenance hours into annual costs.

2026-11-01

35 module announcements in a day, the site should first check which extensions are installed.

Only Drupal's ecosystem released thirty-five extension module security announcements on October 28, 2026, including critical remote code execution. The density of announcements is concentrated in extensions rather than the core, so the troubleshooting sequence should be to identify which extensions are actually installed on the site, then compare the affected version ranges item by item, and finally leave a rollback backup before taking action. This article provides a three-step implementation list and explains what AnQiCMS's sensitive word filtering, content review, and backup recovery undertake in emergencies.

2026-11-01

The vulnerability library has accumulated over 55,000 entries, how often should the plugin risk be checked?

The public vulnerability library for WordPress has accumulated over 58,000 records on the day of retrieval, the vast majority of entries come from plugins rather than the core. The inspection frequency should not be one-size-fits-all: marketing websites, e-commerce websites, and customer acquisition websites with forms should be checked weekly, while content sites can be checked monthly. This article gives a fixed list of items to check during each inspection, and explains how AnQiCMS uses content audit, anti-crawling interference codes, and backup recovery to directly eliminate some manual inspection items.

2026-11-01

The remote execution fix for the form module is in 6.2.12, how to arrange the upgrade window

Drupal form module Webform issued a critical remote code execution announcement on September 23, 2026, affecting versions less than 6.2.12 and greater than or equal to 6.3.0 but less than 6.3.1. The order of priority for upgrading is: first determine if it is within the range, then schedule time based on low traffic, and finally verify that the form and submitted data are intact. This article provides a three-step checklist and explains how to coordinate reCAPTCHA verification code on the AnQiCMS form side with backup recovery.

2026-11-01

How much does it cost to maintain a self-built content system for more than a year, and how should this account be calculated?

There is a cost estimation for self-built open-source content systems, which gives a range: self-built requires about 45% to 48% more maintenance time than outsourcing, and just for security patches, it may consume 312 to over 1300 developer hours in a year. When calculating the cost, break down the working hours into three parts: security patches, backup drills, and upgrade regression, and then compare the impact on the baseline with low-resource deployment to determine whether the time spent is worth it.

2026-11-01