← 블로그 목록KDSYS 홈
긴급 취약 자산 탐지runZero 보안 위협 신속 대응 정보

PHP 치명적 원격 코드 실행 취약점

CVE-2026-109618 · CVE-2026-109619 ("php2shell") — runZero로 영향 자산 찾기
원문 게시: 2026년 10월 20일 (runZero Blog, 10월 21일 업데이트) | 케이디시스 배포: 2026년 10월 23일

한눈에 보기

취약점CVE-2026-109618, CVE-2026-109619 (통칭 "php2shell")
심각도CVSS 9.2 (Critical) — 두 취약점 모두
영향인증 없이 원격에서 PHP 프로세스 권한으로 임의 코드 실행 → 웹 애플리케이션과 서버 전체 장악 가능
영향 버전PHP 8.2.35 미만, 8.3.36 미만, 8.4.27 미만, 8.5.12 미만 / 8.1 이하는 지원 종료로 취약한 것으로 간주
영향 구성웹 요청을 처리하는 모든 PHP — PHP-FPM, Apache mod_php, php-cgi(CGI 모드), FrankenPHP, LiteSpeed
조치PHP 보안 업데이트 적용 (유일한 완전한 조치)
runZero 쿼리vendor:=PHP AND product:=PHP (Software 인벤토리)

1. 취약점 개요

PHP 프로젝트가 2026년 10월 21일 보안 업데이트를 발표했습니다. 두 취약점 모두 인증이 필요 없는 원격 코드 실행 취약점입니다.

CVE내용
CVE-2026-109618PHP가 메모리 부족(out-of-memory) 오류를 만나면 longjmp()로 현재 처리를 빠져나가는데, 이때 요청 데이터가 일부만 초기화된 상태로 남을 수 있습니다. 이후 정리 단계에서 잘못된 데이터를 읽으면서 원격 코드 실행으로 이어질 수 있습니다. 조작된 multipart 요청으로 유발할 수 있으며, Apache mod_php에서는 애플리케이션 코드가 실행되기 전에 발생할 수 있습니다.
CVE-2026-109619PHP의 전역 상태가 요청이 소유한 메모리를 가리키는데, 메모리 해제 전에 이 상태가 초기화되지 않으면 같은 워커가 처리하는 다음 요청이 남아 있는 상태를 사용할 수 있습니다. 이 역시 인증 없는 원격 코드 실행으로 이어집니다.

2. PHP란?

PHP는 웹 서버에서 동작하는 대표적인 서버 측 스크립트 언어입니다. CMS, 전자상거래 플랫폼, 웹 프레임워크 등 많은 웹 애플리케이션이 PHP 위에서 동작하므로, 직접 PHP를 설치하지 않았더라도 이런 애플리케이션을 통해 취약한 런타임이 노출될 수 있습니다.

3. 영향

공격에 성공하면 인증되지 않은 원격 공격자가 PHP 프로세스 권한으로 임의의 코드를 실행할 수 있습니다. 이는 해당 웹 애플리케이션뿐 아니라 그 아래 서버 전체의 장악으로 이어질 수 있습니다. 특히 인터넷에 노출된 웹 서버를 우선 점검해야 합니다.

4. 업데이트 및 완화 조치

1) 보안 업데이트 (권장)

PHP 버전 계열조치 버전
8.28.2.35 이상
8.38.3.36 이상
8.48.4.27 이상
8.58.5.12 이상
8.1 이하지원 버전으로 이전하거나, 배포판·LTS 벤더의 백포트 패치 적용

리눅스 배포판과 LTS 벤더는 사전에 패치를 받았으므로 각 벤더의 패키지 채널을 확인합니다. 소스로 빌드하는 경우를 위해 PHP 보안팀이 7.4, 8.0, 8.1용 최소 소스 백포트도 제공했습니다.

2) 임시 완화 조치 (업데이트 전까지)

주의.아래 설정은 특정 공격 경로의 노출을 줄일 뿐, 설치를 안전하게 만들지는 않습니다. 업데이트가 유일한 완전한 조치입니다.
대상완화 조치
CVE-2026-109618애플리케이션이 덮어쓸 수 없도록 memory_limit=-1 설정 / post_max_size를 낮게 설정 / 웹 서버·프록시에서 요청 크기, multipart 파트 수, 헤더, 중첩 한도 제한
CVE-2026-109619session.upload_progress.enabled=0 설정 / PHP 8.5는 fatal_error_backtraces=0 설정 / 모든 워커 재시작 / 요청 초기화 전에 진단 메시지를 내는 잘못되었거나 폐기된 요청별 설정 제거

자세한 내용은 PHP 보안 권고와 GitHub Security Advisories(GHSA-w8hw-w9fx-j79w, GHSA-6wmf-4rv5-p3rp)를 참고하세요.

5. runZero로 영향 자산 찾기

runZero의 Software 인벤토리에서 아래 쿼리로 잠재적으로 취약한 PHP가 설치된 시스템을 찾을 수 있습니다.

vendor:=PHP AND product:=PHP
  1. 메인 메뉴 [Inventory] → [Software]를 클릭합니다.
  2. 검색창에 위 쿼리를 입력하고 [Search]를 클릭합니다.
  3. Version 열에서 조치 버전(8.2.35 / 8.3.36 / 8.4.27 / 8.5.12) 미만인 항목과 8.1 이하 항목을 확인합니다.
  4. Address, Port 열로 해당 PHP가 서비스 중인 위치를 확인하고, 인터넷에 노출된 자산부터 우선 조치합니다.
  5. 결과를 [Export]로 내려받아 담당자에게 전달하거나, [Share]로 외부 공유 리포트를 만들어 조치 현황을 공유합니다.
Tip.버전 정보가 보이지 않는 항목은 스캔에서 버전을 확인하지 못한 경우입니다. 해당 서버의 패키지 버전을 직접 확인하거나, EDR·취약점 스캐너 연동 데이터로 보완하세요. 조치 후 다시 스캔하면 결과에서 업데이트된 버전을 확인할 수 있습니다.

6. 참고 자료

기술지원 문의

담당자전화번호이메일
김대원010-2267-0053peterkim@kdsys.co.kr
케이디시스 주식회사 www.KDSys.co.kr © 케이디시스 주식회사