ThinkPHP의 PHP2Shell 해결에는 PHP 실행 환경 패치가 필요합니다. 앱 버전은 호환성 장애를 찾는 단서이며, 악용 가능성이나 두 CVE의 수정 여부를 증명하지 못합니다.
ThinkPHP - PHP2Shell 해결을 위한 PHP 호환성
| 릴리스 예시 | 선언된 PHP 요구 사항 | 선언과 일치하는 패치 후보 | 원본 출처 |
|---|---|---|---|
| v5.0.25 | >=5.4.0 | repo.packagist.org ↗643c58ed1bd2 | |
| v5.1.42 | >=5.6.0 | repo.packagist.org ↗ecf1a90d397d | |
| v6.0.16 | >=7.2.5 | repo.packagist.org ↗d3904e51e279 | |
| v6.1.5 | >=7.2.5 | repo.packagist.org ↗57d1950a1844 | |
| v8.0.4 | >=8.0.0 | repo.packagist.org ↗846432655a82 |
후보는 이 선언을 지원 대상 분기의 최초 PHP2Shell 수정 버전과 비교한 결과입니다. 테스트된 호환성, 공급업체 지원이나 전체 의존성 일치를 보장하지 않습니다. PHP2Shell 해결을 위한 PHP 호환성 ↗
PHP2Shell 수정 범위 확인
파일 및 패키지 식별
topthink/framework
composer.lockthinkphp/base.phpapp/
ThinkPHP - PHP2Shell 패치의 호환성 장애 해결
ThinkPHP 5.0, 5.1, 6, 8과 별도 ORM·템플릿 패키지를 구분하세요. 복사 설치는 lock이 없을 수 있습니다. 라우팅, 미들웨어, 기존 behaviors와 사용자 태그를 조사하고 운영 thinkphp 폴더만 덮어쓰지 마세요.
의존성과 자체 코드
공식 업그레이드 문서 ↗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 --lockedThinkPHP - PHP2Shell 패치 검증
실제 사이트를 처리하는 PHP에서 두 패치를 확인하세요. 이전 Web 프로세스, 큐 작업자와 모든 복제본을 교체하거나 재시작해야 합니다. 홈페이지 표시나 CLI 버전 변경만으로는 부족합니다.
3. 전체 재시작 및 검증 ↗