How should the runtime dependency ledger be built on the same announcement where PHP and Node.js released urgent updates on the same day?
In the same announcement, PHP and Node.js released emergency updates on the same day, and such events truly expose the problem of records: many teams cannot say which runtime version each of their sites is running, and therefore cannot determine which services are affected.The announced list of fixes is verifiable—the PHP side provides 8.5.12, 8.4.27, 8.3.36, 8.2.35 and other security fix versions, and the Node.js side released 22.23.4, 24.22.1, 26.12.1 to fix the CVE-2026-111497 remote code execution vulnerability.The process of placing these two lines of numbers onto their own machine is the process of establishing a runtime dependency ledger.
What did you read in the announcement released on the same day?
A notice covers two types of runtime and explains three things. First, the patch rhythm is no longer released according to the technical stack, and multiple runtimes may need to be updated at the same time window; second, the panel only synchronizes the installable version, and the version bound to the site still needs to be switched one by one; third, the exposure surface of the runtime is not only for its own site, but also for other applications on the same machine sharing the same interpreter
The four columns that need to be recorded in the ledger
| Column | What to record | Inspection action |
|---|---|---|
| What was installed | The actual runtime and version used by each site or service, and the container deployment records the image tag | Compare by version range after each notice |
| Who maintains | Responsible person, backup contact, range of accounts that can log in to the machine | Clear invalid accounts once a quarter |
| Patch window | Allowed downtime, verification list, switching order | Consider it completed after running critical paths within the window |
| Rollback point | Location and time of the most recent available backup, previous version image | Only write 'rollback possible' after a recovery drill |
The last two columns are the easiest to miss. No matter how complete the version records are, without agreed-upon windows and rollback points, the announcement on the day will still become an emergency decision: whoever shouts in the group gets to cut, and if it goes wrong, no one can retreat
How to determine patch window and rollback point
It is recommended to fix the sequence: first make a rollback backup, then cut a version in the test site, run through the critical path (login, content list, form submission, payment or order process), confirm there are no exceptions before moving production. AnQiCMS's backup and recovery covers data and static files, the recovery point is available, and the risk of version switching is controllable; it is necessary to confirm that the backup task on the panel side is still being executed on time, and the backup generated without verification is equivalent to nothing in the event.
The window width is determined by the severity of the announcement. CVSS is calculated on an hourly basis for severe runtime vulnerabilities; routine security updates can be incorporated into the weekly fixed maintenance slot. Write this into the ledger instead of keeping it in mind, so it won't become ineffective when personnel change.
How can the site without Go runtime be so few lines?
AnQiCMS is developed based on GoLang, the technology stack includes GoLang, Iris framework, and GORM, the delivery form is a compiled executable file or Docker image anqicms/anqicms, and it listens on port 8001 by default.This means that there is no need for patch lines for the PHP interpreter and Node.js runtime in the ledger, runtime updates are completed through version upgrades, or the background upgrade process or replacing the image can be done.Less one line does not mean it is convenient: The application version itself is a line in the ledger, and it needs to be managed according to the same window and rollback rules, and after the release of version 3.6.6 and similar fix versions, it still needs to be confirmed according to the announcement whether the upgrade has been made.
How do you send an alarm to a person?
The ledger must have a reach path, otherwise it is just a document. AnQiCMS provides email reminders in the system settings, which can be configured by scenario to receive objects, sending version update reminders, messages, and order notifications to the designated email address; similarly, for PHP security alerts on the panel, it is necessary to verify whether the receiving channel is effective in the long run. In practice, two things are enough to remember: the name of the alarm recipient, and the date of the last successful delivery. Recipients who have not been verified for more than a quarter are treated as invalid.
Common questions
Do the ledgers need to be separated if multiple sites share a single PHP version?Record stations separately, merge the runtime. This way, when announcements come, you can immediately see which stations are covered by the same version, and you can also verify each station individually when cutting versions.
Do you need to record the runtime separately for containerized deployment?Yes, what is recorded is the image tag, not the host version. The hardening on the host panel will not automatically update the runtime inside the container.
How often should the ledger be reviewed?A full review is conducted once every quarter, and changes are made immediately after each runtime or application version is released; during the review, it is convenient to remove disabled sites to avoid misleading judgments caused by residual operations.