For ThinkPHP, PHP2Shell remediation requires patching the PHP runtime. The application version helps identify compatibility blockers; it cannot establish exploitability or prove that either CVE is fixed.

ThinkPHP - PHP compatibility for the PHP2Shell fix

Candidates match only this declaration against the first PHP2Shell fixes on supported branches. They do not establish tested compatibility, vendor support or a complete dependency match. PHP compatibility for the PHP2Shell fix ↗

Identify the PHP2Shell repair scope

Files and package identity

topthink/framework

  • composer.lock
  • thinkphp/base.php
  • app/

ThinkPHP - Remove blockers to patch PHP2Shell

ThinkPHP 5.0, 5.1, 6 and 8 are different migration projects. Identify topthink/framework and the separately installed ORM and template packages; copied framework directories may have no lock file. Review routing, middleware, old behaviors and custom tags. Do not replace only the thinkphp directory in production or treat a minimum PHP declaration as proof of PHP 8 compatibility.

Dependencies and custom code to review

  • topthink/think-orm
  • topthink/think-view
  • topthink/think-template
  • route/
  • app/middleware/
  • extend/
  • think-queue
Official upgrade documentation ↗

Check site functions after the PHP2Shell fix

Inventory before fixing PHP2Shell

Use an authorized working copy.

Command example
php -v
php --ini
composer --no-plugins show --locked topthink/framework
composer --no-plugins check-platform-reqs --lock
composer --no-plugins prohibits php 8.3.36 --locked

ThinkPHP - PHP2Shell patch verification

Verify both CVE fixes in the PHP actually serving this site. Replace or restart old Web workers, queue workers and replicas. A working homepage or a newer CLI binary is insufficient evidence.

3. Restart and verify every instance ↗

Official upgrade documentation

ThinkPHPOriginal source ↗PHP security teamOriginal source ↗CVE-2026-109618Original source ↗CVE-2026-109619Original source ↗PHP2Shell repair - solve PHP upgrade errors↗

Related applications

← Back to application guides