ThinkPHP의 PHP2Shell 해결에는 PHP 실행 환경 패치가 필요합니다. 앱 버전은 호환성 장애를 찾는 단서이며, 악용 가능성이나 두 CVE의 수정 여부를 증명하지 못합니다.

ThinkPHP - PHP2Shell 해결을 위한 PHP 호환성

릴리스 예시선언된 PHP 요구 사항선언과 일치하는 패치 후보원본 출처
v5.0.25>=5.4.0repo.packagist.org ↗643c58ed1bd2
v5.1.42>=5.6.0repo.packagist.org ↗ecf1a90d397d
v6.0.16>=7.2.5repo.packagist.org ↗d3904e51e279
v6.1.5>=7.2.5repo.packagist.org ↗57d1950a1844
v8.0.4>=8.0.0repo.packagist.org ↗846432655a82

후보는 이 선언을 지원 대상 분기의 최초 PHP2Shell 수정 버전과 비교한 결과입니다. 테스트된 호환성, 공급업체 지원이나 전체 의존성 일치를 보장하지 않습니다. PHP2Shell 해결을 위한 PHP 호환성 ↗

PHP2Shell 수정 범위 확인

파일 및 패키지 식별

topthink/framework

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

ThinkPHP - PHP2Shell 패치의 호환성 장애 해결

ThinkPHP 5.0, 5.1, 6, 8과 별도 ORM·템플릿 패키지를 구분하세요. 복사 설치는 lock이 없을 수 있습니다. 라우팅, 미들웨어, 기존 behaviors와 사용자 태그를 조사하고 운영 thinkphp 폴더만 덮어쓰지 마세요.

의존성과 자체 코드

  • topthink/think-orm
  • topthink/think-view
  • topthink/think-template
  • route/
  • app/middleware/
  • extend/
  • think-queue
공식 업그레이드 문서 ↗

PHP2Shell 수정 후 서비스 기능 검증

PHP2Shell 수정 전 읽기 전용 점검

승인된 작업 사본에서 사용하세요.

명령 예시
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 패치 검증

실제 사이트를 처리하는 PHP에서 두 패치를 확인하세요. 이전 Web 프로세스, 큐 작업자와 모든 복제본을 교체하거나 재시작해야 합니다. 홈페이지 표시나 CLI 버전 변경만으로는 부족합니다.

3. 전체 재시작 및 검증 ↗

공식 업그레이드 문서

ThinkPHP원본 출처 ↗PHP security team원본 출처 ↗CVE-2026-109618원본 출처 ↗CVE-2026-109619원본 출처 ↗PHP2Shell 해결 중 PHP 업그레이드 오류 처리↗

관련 앱

← 앱 가이드로 돌아가기