변경 전 증거 보존
발견 시간, 도메인, 인스턴스, 런타임, 증상과 마지막 신뢰 상태를 기록하세요. 원본 로그와 시간대, 클라우드 감사, 승인된 스냅샷을 보존하고 접근을 제한해 해시를 남기세요. 쿠키, 토큰과 고객 데이터를 공개 스캐너에 보내지 마세요. 보존 전 로그나 의심 파일을 삭제하지 마세요.
의심되거나 확인된 침입 차단
활성 공격이 의심되면 필요한 증거를 보존하며 공개 접근을 제한하거나 로드밸런서에서 인스턴스를 빼세요. 호스팅 업체나 대응팀을 참여시키세요. 전체 PHP를 파악하고 두 CVE를 패치하며 작업자를 교체하고 주변도 조사하세요. WAF와 임시 설정은 기존 접근, 탈취 자격 증명이나 지속성을 제거하지 않습니다. 차단을 미루지 마세요.
신뢰 상태에서 복구
침입 확인 후 웹셸만 삭제하지 말고 신뢰 이미지와 검증 데이터로 재구축하세요. 계정/지속성을 제거하고 깨끗한 기기에서 비밀을 교체하며 차단 후 세션을 무효화하세요. Web 런타임, 전체 복제본과 기능을 확인하고 연결/인증을 감시하세요. 범위와 통지 의무는 대응팀과 기록하세요.
일차 출처 및 추가 자료
PHP security team원문 읽기 ↗CVE-2026-109618원문 읽기 ↗CVE-2026-109619원문 읽기 ↗연구 해설과 실용 가이드
PHP2Shell 도구
공개 사이트를 확인하고 로컬 설정과 로그를 검토하거나 공개 대응 도구를 찾으세요. 각 결과는 근거와 한계를 설명합니다.
01PHP2Shell 쉽게 이해하기
PHP는 WordPress, Laravel과 플러그인을 실행하는 엔진입니다. 플러그인 업데이트는 PHP를 업데이트하지 않습니다. 두 메모리 결함은 비정상 요청 정리를 정보 유출이나 코드 실행으로 바꿀 수 있습니다. 공개 확인은 단서만 제공하며 실제 Web 런타임과 패치는 관리자가 확인해야 합니다.
02공격 시도인가, 침입 성공인가?
이상 multipart나 WAF 경고는 시도일 수 있습니다. OOM, SIGSEGV/SIGABRT와 HTTP 500 급증에는 정상 장애 원인도 있습니다. 예기치 않은 PHP 자식 프로세스, 외부 연결, 파일 변경과 계정은 조사해야 합니다. 메모리 유출은 웹셸이나 파일을 남기지 않을 수 있어 깨끗한 파일 검사로 배제할 수 없습니다.
03변경 전 증거 보존
발견 시간, 도메인, 인스턴스, 런타임, 증상과 마지막 신뢰 상태를 기록하세요. 원본 로그와 시간대, 클라우드 감사, 승인된 스냅샷을 보존하고 접근을 제한해 해시를 남기세요. 쿠키, 토큰과 고객 데이터를 공개 스캐너에 보내지 마세요. 보존 전 로그나 의심 파일을 삭제하지 마세요.
04Wiz와 Calif 정확히 읽기
연구는 요청을 넘어 남는 오류를 설명합니다. CVE-2026-109618은 mod_php RCE를 실증했고 FPM은 소스 분석상 영향으로, 이 CVE의 완전한 FPM 공격 실증은 없습니다. CVE-2026-109619는 앱 의존 FPM upload-progress 경로를 별도로 확인합니다. SAPI별 근거는 각 GHSA에서 확인하세요.
05Cloudflare: 응답도 중요함
Cloudflare는 요청과 원본 응답을 결합해 유출 전 의심 응답을 차단하는 방법을 설명합니다. 셸이 없어도 의미가 있습니다. 과거 배포 시간이 내 계정 보호를 보장하지 않으므로 규칙, 경로, 예외와 이벤트를 확인하세요. 직접 원본과 프록시 밖 호스트도 패치해야 합니다.