전 세계 PHP 서버를 멈춰 세운 PHP2Shell 취약점

무엇이 문제였고 어떻게 해결해야 하나?
최근 전 세계 웹 서버 운영자들을 긴장시키는 사건이 발생했습니다.
웹사이트 제작에 널리 사용되는 PHP에서 치명적인 보안 취약점 2건이 발견되면서 전 세계적으로 긴급 패치가 진행된 것입니다.
이번 문제는 단순한 PHP 프로그램 오류가 아닙니다.
공격자가 별도의 로그인이나 인증 없이 취약한 PHP 서버에 악성 요청을 보내 서버에서 원하는 명령이나 코드를 실행할 가능성이 있는 원격 코드 실행(RCE) 취약점이라는 점에서 문제가 매우 심각합니다.
실제로 취약점이 공개된 이후 영국과 유럽 여러 국가의 정부기관 및 주요 웹서비스가 예방 차원에서 서비스를 일시적으로 중단하고 긴급 보안 업데이트를 진행했습니다.
1. 도대체 PHP에서 무슨 일이 발생한 것인가?
이번에 공개된 취약점은 크게 두 가지입니다.
- CVE-2026-109618
- CVE-2026-109619
두 취약점 모두 PHP의 핵심 실행 엔진에서 발생한 문제이며, CVSS 4.0 기준 9.2점의 매우 높은 위험도로 평가됐습니다.
특히 문제가 되는 것은 PHP 애플리케이션의 특정 프로그램에서 발생한 오류가 아니라 PHP 자체의 핵심 엔진에서 발생한 취약점이라는 점입니다.
즉,
"우리 홈페이지 프로그램에는 문제가 없으니까 괜찮겠지."
라고 생각하기 어렵다는 것입니다.
웹 서버에서 PHP를 사용하고 있다면 PHP 버전과 서버 구성을 확인해야 합니다.
2. 첫 번째 문제 – 메모리 처리 과정에서 발생한 취약점
첫 번째 취약점인 CVE-2026-109618은 PHP의 메모리 부족(OOM, Out Of Memory) 처리 과정에서 발생합니다.
PHP에는 서버의 메모리가 무한정 사용되지 않도록 memory_limit이라는 제한이 있습니다.
그런데 공격자가 이를 악용해 특정 상황에서 메모리 부족 상태를 발생시키면 PHP가 정상적으로 초기화되지 않은 내부 데이터를 처리하는 상황이 발생할 수 있습니다.
이 과정에서 잘못된 메모리를 해제하거나 처리하게 되면서 **메모리 손상(memory corruption)**이 발생할 수 있습니다.
문제는 여기서 끝나지 않습니다.
공격자가 이 메모리 손상을 원하는 방식으로 유도할 경우 서버에서 임의의 코드를 실행시키는 원격 코드 실행으로 이어질 수 있습니다.
3. 두 번째 문제 – 이미 삭제된 메모리를 다시 사용하는 문제
두 번째 취약점인 CVE-2026-109619도 PHP의 내부 메모리 관리와 관련된 문제입니다.
쉽게 설명하면,
이미 사용이 끝나 삭제된 데이터의 위치를 PHP가 계속 기억하고 있다가 이후 요청에서 잘못 사용하는 상황이 발생할 수 있습니다.
이러한 상태를 일반적으로 Stale Global State 문제라고 설명합니다.
특히 PHP-FPM이나 Apache 등의 환경에서 하나의 작업 프로세스가 여러 요청을 처리하기 때문에 이러한 잘못된 상태가 다음 요청으로 이어질 가능성이 문제가 됩니다.
결국 공격자가 이 취약점을 적절하게 악용하면 서버에서 임의의 코드를 실행할 가능성이 생깁니다.
4. 왜 이렇게 전 세계가 긴급하게 서버를 중단했을까?
이번 사건에서 가장 눈에 띄는 부분이 바로 이것입니다.
취약점이 공개된 이후 일부 정부기관과 기업들이 웹사이트를 아예 인터넷에서 내려버리는 조치를 취했습니다.
이것은 서버가 이미 해킹당했다는 의미가 아닙니다.
오히려 반대입니다.
해킹당하기 전에 서버를 외부 인터넷에서 차단한 것입니다.
취약점이 공개되면 공격자는 보안 패치 내용을 분석해 역으로 공격 방법을 만들어낼 수 있습니다.
따라서
취약점 발견 → 패치 발표 → 공격 코드 개발 → 전 세계 취약 서버 공격
이라는 과정이 매우 빠르게 진행될 가능성이 있습니다.
실제로 이번 PHP 취약점 공개 이후 공격 시도가 급격하게 증가했다는 보안업계 보고도 나왔습니다. Cloudflare는 취약점 공개 직후 수많은 공격 시도를 관찰했고, 이후 공격 시도가 수십만 건에서 수백만 건 규모로 증가했다고 밝혔습니다.
5. PHP를 사용하는 서버라면 무엇을 확인해야 하나?
가장 먼저 해야 할 일은 현재 PHP 버전을 확인하는 것입니다.
Linux 서버라면 다음 명령으로 확인할 수 있습니다.
php -v
또는
php --version
PHP-FPM을 사용하는 서버라면 실제 웹서비스가 사용하는 PHP 버전도 별도로 확인해야 합니다.
단순히 터미널에서 실행되는 PHP 버전만 확인하고 끝내면 안 됩니다.
예를 들어 서버에 PHP 8.4가 여러 개 설치되어 있고 웹 서버는 다른 PHP-FPM을 사용하고 있다면 실제 서비스에서 어떤 버전이 사용되는지를 확인해야 합니다.
6. 이번 취약점을 해결한 PHP 버전
PHP 프로젝트는 이번 취약점에 대응하기 위해 긴급 보안 업데이트를 발표했습니다.
현재 발표된 수정 버전은 다음과 같습니다.
PHP 계열수정 버전
| PHP 8.5 | 8.5.12 |
| PHP 8.4 | 8.4.27 |
| PHP 8.3 | 8.3.36 |
| PHP 8.2 | 8.2.35 |
PHP 공식 보안 공지는 모든 PHP 사용자에게 즉시 업데이트할 것을 권고하고 있습니다.
따라서 현재 서버에서 PHP를 사용하고 있다면 현재 버전을 확인한 후 해당 버전 이상으로 업데이트하는 것이 가장 확실한 해결 방법입니다.
7. PHP 업데이트가 당장 어려운 서버라면?
기업이나 공공기관 서버에서는 PHP 하나만 업데이트한다고 끝나는 경우가 많지 않습니다.
PHP 버전을 올리면 기존 홈페이지 프로그램이나 CMS, 플러그인, 데이터베이스 연결 등에 문제가 발생할 수도 있기 때문입니다.
이런 경우에는 우선 인터넷에 노출된 PHP 서버를 확인하고 위험도를 평가해야 합니다.
영국 국가사이버보안센터(NCSC) 역시 즉시 업데이트가 어려운 경우에는 임시 완화 조치를 적용하고, 그것마저 어려운 경우 인터넷에서 시스템을 분리하는 방안을 고려하도록 권고했습니다.
다만 중요한 점이 하나 있습니다.
임시 조치는 근본적인 해결책이 아닙니다.
결국 최종적으로는 취약점이 해결된 PHP 버전으로 업데이트해야 합니다.
8. 서버 관리자가 특히 확인해야 할 부분
이번 사건을 계기로 PHP 버전만 확인할 것이 아니라 다음 항목을 함께 확인하는 것이 좋습니다.
① PHP 버전
php -v
② PHP-FPM 사용 여부
systemctl status php-fpm
실제 서비스 환경에 따라 서비스 이름은 달라질 수 있습니다.
③ Apache의 mod_php 사용 여부
Apache에서 PHP가 직접 연동되어 있는지 확인해야 합니다.
PHP 공식 보안 공지에서는 특히 mod_php 환경의 위험도가 높다고 설명하고 있습니다.
④ 인터넷에 직접 노출된 서버인지 확인
내부 업무용 서버와 외부에서 직접 접근 가능한 웹 서버는 위험도가 다릅니다.
특히 인터넷에서 직접 접근 가능한 서버부터 우선적으로 점검해야 합니다.
⑤ 로그 확인
PHP 업데이트 전에 이미 공격 시도가 있었는지 확인하는 것도 중요합니다.
단순히 PHP를 업데이트했다고 해서 과거에 침입당했을 가능성까지 자동으로 사라지는 것은 아니기 때문입니다.
9. 이번 사건에서 중요한 것은 'PHP 오류'가 아니라 'PHP 보안 취약점'이라는 점
이번 사건을 처음 접하면 흔히
"PHP에 버그가 있어서 홈페이지가 다운됐다."
라고 생각할 수 있습니다.
하지만 정확하게 표현하면 조금 다릅니다.
이번 문제는 일반적인 프로그램 오류 때문에 서버가 갑자기 다운된 사건이 아니라,
PHP 자체의 보안 취약점을 공격자가 악용할 경우 서버 장악으로 이어질 수 있기 때문에 서버 운영자들이 예방적으로 서비스를 중단하고 보안 패치를 적용한 사건입니다.
이 차이를 이해하는 것이 중요합니다.
10. 왜 이번 사건이 특히 큰 문제였을까?
PHP는 특정 회사에서만 사용하는 프로그램이 아닙니다.
WordPress, Drupal, Joomla, Magento 등 수많은 웹서비스와 시스템에서 PHP가 사용되고 있습니다.
Wiz는 PHP가 전 세계 웹사이트의 약 70%를 뒷받침한다고 설명했고, 이번 취약점은 지난 10여 년간 출시된 PHP 버전에 영향을 줄 수 있다고 분석했습니다.
따라서 한 회사의 특정 프로그램에서 발생한 보안 문제가 아니라 웹 인프라의 상당 부분에 동시에 영향을 줄 수 있는 문제였던 것입니다.
11. 이번 PHP 사태가 우리에게 알려주는 것
이번 사건에서 가장 중요한 교훈은 단순합니다.
"현재 정상적으로 작동하고 있다는 것과 안전하다는 것은 다르다."
웹사이트가 지금까지 아무런 문제 없이 정상적으로 작동했더라도 PHP 자체에 새로운 취약점이 발견되면 상황은 달라질 수 있습니다.
따라서 서버 관리자는 평소에도
- PHP 버전 관리
- OS 보안 업데이트
- 웹 서버 업데이트
- CMS 및 플러그인 업데이트
- 외부 노출 서버 점검
- 서버 로그 모니터링
- 백업 관리
- 침해사고 대응체계
등을 지속적으로 관리해야 합니다.
특히 이번처럼 보안 패치가 공개된 직후 공격이 빠르게 확산될 수 있는 취약점에서는 "나중에 업데이트해야지"라는 대응이 위험할 수 있습니다.
마무리
이번 PHP2Shell 사태는 단순히 PHP 개발자들만의 문제가 아니었습니다.
웹사이트를 운영하는 기업, 공공기관, 쇼핑몰, 홈페이지 관리자 등 PHP를 사용하는 모든 서버 운영자가 직접 영향을 받을 수 있는 보안 문제였습니다.
실제로 일부 기관들은 공격을 받기 전에 웹사이트를 일시적으로 중단했고, 패치와 보안 점검이 끝난 후 서비스를 다시 정상화했습니다.
따라서 PHP 서버를 운영하고 있다면 가장 먼저 할 일은 어렵지 않습니다.
① PHP 버전을 확인하고
② 취약한 버전이라면 보안 패치를 적용하고
③ 이미 공격받은 흔적이 없는지 로그를 확인하고
④ 업데이트가 불가능하다면 외부 접근을 차단하는 것
입니다.
이번 사건은 서버가 정상적으로 돌아가는 것만으로는 충분하지 않다는 사실을 다시 한번 보여준 사례라고 할 수 있습니다.
특히 PHP처럼 전 세계적으로 널리 사용되는 핵심 소프트웨어에서 발생한 취약점은 하나의 서버 문제가 아니라 인터넷 전체의 보안 문제로 확대될 수 있다는 점에서 주의 깊게 살펴볼 필요가 있습니다.
참고 자료
- PHP 공식 보안 공지
- CERT-EU 보안 권고
- 영국 NCSC 보안 권고
- Reuters 및 주요 보안업체의 PHP2Shell 관련 분석
'정보' 카테고리의 다른 글
| 침묵의 살인자, 내 심장이 보내는 경고! (0) | 2026.08.21 |
|---|---|
| 현내리 가마솥 해장국 1기 가맹점주 모집 (0) | 2026.08.04 |
| 서리태 콩국수 만들기, 혈당 관리 식단으로 관심받는 이유 (0) | 2026.07.13 |
| 인터넷 검색 기록 & 크롬 방문 기록 완벽 삭제 가이드 (0) | 2026.07.12 |
| 집에서 직접 요구르트 만드는 방법! 초보자도 실패 없이 만드는 홈메이드 요구르트 레시피 (0) | 2026.07.09 |








































![행복을 담는 달항아리 그림 인테리어 캔버스 액자, 04 [엄선]천상운집달항아리](https://img4a.coupangcdn.com/image/affiliate/banner/b785405f87b6fbb8f95608abf17f47b6@2x.jpg)











































![[정품] 프라임 파인 마가목 추출물 본초 마가목 분말 100% 식약청 인증 해썹, 1개, 120정](https://img3c.coupangcdn.com/image/affiliate/banner/cbaf0f7706ce7ac917761be6d9d3d62d@2x.jpg)









![[대머리맨] 테이블리프트 전동 유압식 구르마 상하차 접이식 65cm / 200kg, 1개, 140cm 300kg](https://image3.coupangcdn.com/image/affiliate/banner/0fc1c4000ed2b2fb11c0b019d5512a57@2x.jpg)



![[서울소풍] 덕수궁 야경투어 / 바른역사해설사 동행](https://img1a.coupangcdn.com/image/affiliate/banner/286cbeb287c774264d7e15ab45f07a65@2x.jpg)






![[국내매장판] 나이키 맨즈 줌 보메로 18 로드 남성 런닝화 + 데일리양말 증정](https://image3.coupangcdn.com/image/affiliate/banner/546b86d6fe535eb44d389da03efb0fef@2x.jpg)























![[하루30박스만] 당일수확 국내산 알밤 군밤용 단밤, 2박스, 1kg](https://img1c.coupangcdn.com/image/affiliate/banner/e6c7d60d7b9e8a6681a23034fa406ccf@2x.jpg)











