
백엔드
php2shell 취약점의 동작 원리와 원격 코드 실행(RCE) 방어 전략: PHP부터 React·Next.js(React2Shell)까지의 대응 방안
두줄요약
PHP2Shell의 OOM·Use-After-Free 기반 RCE 흐름과 React2Shell 공격 표면을 설명했습니다. 패치, Next-Action 차단, Nginx·WAF 필터링 전략을 제시합니다.
구조와 흐름
- PHP 멀티파트 폼 데이터 처리 중 OOM과 비상 탈출을 유발하는 PHP2Shell 공격 사슬
- 정리되지 않은 전역 포인터의 다음 요청 재참조와 조작 데이터 배치에 따른 RCE 획득
- Next-Action 헤더와 직렬화 데이터를 해석하는 React 서버 컴포넌트 입구를 노리는 React2Shell
원인 분석
- 개발자 비즈니스 로직 이전의 PHP 엔진·프레임워크 파서 공격 표면
- 기술 스택을 구분하지 않고 PHP·Next.js·환경 파일·클라우드 키 경로를 동시에 탐색하는 자동화 스캐너
해결 방법
- PHP 엔진과 React·Next.js의 보안 패치 버전 유지 및 업데이트 후 런타임 재시작
- 서버 액션 미사용 환경에서 프록시 또는 Next.js 미들웨어의 Next-Action 요청 차단
- Nginx·WAF의 정찰 경로 차단과 Rate Limit 적용
주의할 점
- Next.js 내부 React 포함 구조로 인한 의존성 스캐너의 취약 버전 미탐지 가능성
- PHP 미사용 서비스에도 무차별 스캐닝 패킷 유입 가능성



