yon11b

[최신 보안사고] PHP2Shell 취약점 발견!! (feat. AI의 발견) 본문

보안/주간 리포트

[최신 보안사고] PHP2Shell 취약점 발견!! (feat. AI의 발견)

yon11b 2026. 10. 24. 17:37
반응형

취약점 요약

로그인 없이 외부에서 보낸 요청만으로 서버에서 원하는 명령을 실행할 수 있는 원격 코드 실행 취약점

 

취약점 발견 경위

Wiz Research가 AI를 활용해 PHP에 10년 이상 남아 있던 복잡한 취약점을 실제 원격 공격으로 구현

 

PHP 공식 대응

2026년 10월 21일 패치 버전 공지

 

CVE 설명

CVE-2026-109618

메모리 부족으로 PHP 실행이 중단됐을 때 불완전한 요청 데이터가 정상 정보로 처리되는 취약점이다.

 

CVE-2026-109619

메모리에서 해제된 내부 요청 정보를 다음 요청에서 다시 사용하면서 발생하는 취약점이다.
(Use After Free)

 

영향 버전

PHP 8.2.35 미만, 8.3.36 미만, 8.4.27 미만, 8.5.12 미만

 

심각도

치명적(Critical), CVSS 4.0 기준 9.2

 

영향 범위

공격에 성공하면?

서버 장악, 민감한 데이터 탈취, 웹사이트 변조가 가능
원격 코드 실행 없이도 PHP 프로세스 메모리에서 비밀번호, 인증 토큰, API 키를 읽는 공격이 별도로 가능
노출되는 메모리에는 다른 요청이나 서버 자체에 속한 인증서 등도 들어 있을 수 있음

 

위험성이 가장 큰 방식?

apache + PHP인 mod_php 방식이 위험성이 가장 크다.

이 환경에서는 공격자가 인증되지 않은 요청 한 번만 보내도 웹 애플리케이션이 실행되기 전에 악성 코드를 작동시킬 수 있기 때문이다.

 

대응

PHP 관리팀은 취약점을 해결한 수정 버전으로 8.5.12와 8.4.27, 8.3.36, 8.2.35를 공개했다

본래 PHP 8.1 이하 버전은 공식 보안 업데이트 지원이 종료됐지만 이번 사안의 심각성을 고려해 PHP 보안팀은 7.4와 8.0, 8.1 버전에 적용할 수 있는 최소한의 소스 패치를 별도로 공개했다.

 

즉각적인 업데이트가 어려운 환경을 위한 임시 대응책도 제시됐다. CVE-2026-109618에는 ‘memory_limit’을 -1로 설정하고 ‘post_max_size’를 줄이는 방법이 권고됐다.

  • memory_limit=-1: PHP의 요청별 메모리 제한을 없애 공격자가 조절하기 쉬운 OOM 경로를 줄인다. 하지만 실제 메모리 할당 실패는 여전히 가능하므로 완전한 방어가 아니다.
  • session.upload_progress.enabled=0: 요청 파싱 전에 적용되는 설정에 넣고 모든 PHP 작업 프로세스를 재시작해야 한다. 확인된 세션 관련 경로를 차단하는 조치이며 다른 변종 전체를 해결하지는 않는다.

(PHP팀의 10월 23일 추가 공지)

CVE-2026-109619에는 ‘session.upload_progress.enabled’를 0으로 변경한 뒤 모든 작업 프로세스를 재시작하는 조치가 안내됐다.

 

참고

https://news.hada.io/topic?id=35761

https://asec.ahnlab.com/ko/95943/

https://www.skshieldus.com/security-insights/trends/daily-php2shell-update-check

https://www.boannews.com/news/articleView.html?idxno=146621

728x90