10 월 21 일 밤, 총리는 X(트위터)에서 '대박급'이라고 적었고, 다음 날 아침에는 사용 중인 서비스에서 긴급 유지보수 통보가 잇따라 도착했습니다. 이는 PHP 취약점, 즉 'PHP2Shell'이라는 별칭으로 알려진 문제 때문입니다.
정직하게 말하자면, 처음 보도를 읽었을 때 내 생각은 "아, 모두 알고 있는 용어로 쓰여 있구나"였습니다. IT 패스포트 시험을 준비하며 암기했던 용어들이 뉴스 속 그대로 살아 움직이고 있었습니다. 시험을 위해 외운 단어들로 현실을 읽는 도구가 된 순간이었습니다.
따라서 이번에는 IT 패스포트와 기본 정보 시험에서 나온 용어 15 가지를 활용해 이 사건을 처음부터 끝까지 다시 읽어보겠습니다. 대부분 IT 패스포트 범위 내의 내용이지만, CVE 나 PoC 와 같이 일부는 기본 정보 이후에 등장하는 용어들입니다. 자격증 공부 중인 분들에게는 복습 자료로, 그렇지 않은 분들에게는 '뉴스 번역'으로 활용해 주시면 좋겠습니다.
■먼저 어떤 일이 일어났는지, 3 줄로
웹사이트 약 70% 가 사용하는 언어인 PHP 에 로그인 없이 외부에서 서버를 탈취할 수 있는 취약점이 2 개 발견되었습니다. 수정 버전은 10 월 21 일 밤에 공개되었습니다. 하지만 수정을 적용하기 전에 공격이 시작되어 각 기업이 예방 차원에서 사이트를 중단했습니다.
이제 본론입니다.
■용어 1~5: 무엇을 발견했는가
'취약성'은 소프트웨어에 남아 있어 공격에 활용될 수 있는 결함을 의미합니다. 이번에는 PHP 자체의 문제였습니다. WordPress 나 EC 사이트의 문제라기보다 그 기반 자체의 문제이므로, 앱을 아무리 업데이트해도 해결되지 않습니다.
「CVE」는 취약점에 할당된 세계 공통 번호입니다. 이번에는 CVE-2026-109618 과 CVE-2026-109619 두 가지입니다. 번호가 있기 때문에 전 세계 사람들이 동일한 대상에 대해 소통할 수 있습니다.
「CVSS」는 심각도를 점수로 나타낸 것입니다. 이번에는 만점 10 점 중 9.2 점입니다. IT 패스포트에서는 단순히 "숫자가 클수록 심각하다"고만 기억하면 충분하지만, 9 점대라면 "지금 바로 조치하라"는 영역입니다.
RCE(리모트 코드 실행)란 공격자가 원격지에서 서버 상에서 원하는 프로그램을 실행할 수 있는 상태를 말합니다. 사이트 변조, 데이터 유출, 다른 공격의 발판이 될 수 있으며, 가능한 일이 거의 무제한이기 때문에 취약점 중에서도 가장 위험한 범주에 속합니다.
인증은 본인 확인을 의미하지만, 이번 포인트는 '인증되지 않은 상태'입니다. 로그인하지 않은 사용자가 조작된 요청을 하나만 보낼 때만 공격이 성립합니다. PHP 공식 공지에서도 특히 Apache 의 mod_php 방식에서는 '앱 코드가 실행되기 전에 공격이 성립한다는 증명'이 있다고 명시되어 있습니다.
■용어 6~10: 왜 이렇게 당황했을까
「패치」는 결함을 수정하는 프로그램입니다. 이번에는 PHP 8.5.12, 8.4.27, 8.3.36, 8.2.35 버전으로 공개되었습니다. 더 오래된 버전은 아직 수정되지 않았습니다.
「EOL(지원 종료)」。개발자가 수정 버전을 더 이상 배포하지 않는 상태입니다. PHP 8.1 이전에는 이미 지원 종료 상태였으며, 원칙적으로는 수정 버전이 제공되지 않습니다. 이번에는 문제가 너무 심각하여 7.4 에서 8.1 까지 최소한의 소스 수정만 준비되었지만, 5 세기 또는 7.3 이전에는 수정 버전이 없습니다. 여러 조사 기관에 따르면, 전 세계에 수정 버전이 영원히 제공되지 않는 서버가 100 만 대 규모로 남아있는 것으로 나타났습니다.
'제로데이'란 수정 버전을 배포하지 않은 상태에서 공격을 당하는 것을 의미합니다. 아마존은 수정 버전을 공개한 4 일 전인 10 월 17 일에 공격 시도를 관측했다고 발표했습니다. 이 정보는 10 월 20 일 인터넷 포럼에 유출되었으며, 클라우드플레어는 공개 전 10 시간 동안 수천 건, 공개 후 2 시간 동안 수십만 건의 공격을 기록했습니다. 이번 사태의 두려움은 수정 버전이 나올 때까지 전 세계가 무방비 상태였다는 점에 있습니다.
PoC(실증 코드)는 취약점이 실제로 작동함을 보여주는 코드입니다. 이 코드가 유포되면 기술이 없는 공격자도 이를 모방할 수 있게 됩니다. 이번에는 공개 직후부터 여러 개의 PoC 가 유포되었으며, 그중에는 'PoC 로 명명한 말웨어'도 섞여 있다는 보고가 있었습니다. 호기심에 다운로드하지 않는 것은 IT 패스포트 범위 이상의 실무 교훈입니다.
WAF(웹 애플리케이션 방화벽) 는 웹사이트 앞에 설치하는 방화벽입니다. 클라우드플레어는 공개 전 임시 규칙을 배포했습니다. 다만 공식 입장에서는 "WAF 와 완화 조치는 완전한 우회로 이어지지 않으며, 유일한 안전책은 업데이트다"라고 명시했습니다. WAF 는 시간을 벌기 위한 도구일 뿐, 치료는 아닙니다.
■용어 11~15: 현장에서는 어떻게 판단했는가
이 부분이 가장 흥미로운 점입니다. IT 패스포트의'위험 대응 4 분류'는 각 기업의 행동에 그대로 적용됩니다.
'리스크 회피'는 리스크의 근본 원인을 제거하는 대응책입니다. 이번에는 '사이트 정지'가 이에 해당했습니다. 국가 사이버 통제실도 '수정이 어렵다면 일시 정지가 효과적이다'라고 발표했습니다. 동영상 사이트, 일러스트投稿 사이트, 스마트폰 게임, 온라인 쇼핑몰 제작 서비스까지 예방적으로 정지된 것은 회피를 선택했기 때문입니다.
'리스크 감소'란 피해 발생 확률과 규모를 낮추기 위한 대응을 의미합니다. 공식이 발표한 완화 조치에는 세션 업로드 진행 상태 기능을 0 으로 설정하거나, 메모리 제한을 무제한으로 설정하고, 최대 포스트 데이터 크기를 줄이는 등의 설정 변경이 해당됩니다. 공식이 특정 공격 경로를 차단한다고 해도 그것이 안전을 보장하지는 않는다는 점을 강조하고 있는 것이 바로 리스크 감소 조치의 한계입니다.
'리스크 이전'은 타인에게 부담을 넘기는 대응 방식입니다. 렌탈 서버를 사용하는 사람들은 사쿠라 인터넷처럼 사업자가 긴급 유지보수 과정에서 수정 버전을 제공해 주었습니다. 아무런 조치 없이도 이들을 위해 리스크 이전의 혜택을 누릴 수 있었습니다.
'리스크 수용'은 아무 조치 없이 기다리는 대응입니다. '중요한 정보는 공개 사이트에는 두지 않았으므로 아침까지 기다린다'고 판단한 조직은 수용을 선택한 것입니다. 이것이 옳은지 아닌지는 다음 기고에서 제 직장의 실제 사례를 바탕으로 살펴봅니다.
「비즈니스 연속성 계획 (BCP)'. 중단되었을 때 어떻게 이어갈지에 대한 계획입니다. 아티스트의 팬클럽 사이트가 중단되어 전자 티켓이 발급되지 못하자, 대안 절차가 안내되었습니다. 티켓 선구매 마감일을 연장한 사례도 있습니다. 사이트를 중단하는 결정은 대안 수단을 함께 마련하는 경우에만 성립합니다.
■일부만 고급 독자용: '해방된 메모리'라는 용어
IT 패스포트의 범위를 벗어났지만, 원인을 한 마디로 요약하면 공식 설명에서 두 취약점 모두 '해제된 메모리를 나중에 사용한다'는 유형의 결함이라고 명시하고 있습니다. 영어로는 Use After Free라고 합니다.
자신의 비유로 예를 들어보면, 체크아웃한 호텔의 객실을 청소하지 않고 다음 고객이 '이전 고객의 짐'을 자신의 것으로 착각하는 상황입니다. 첫 번째는 메모리 부족으로 인해 청소가 중단되는 경로이고, 두 번째는 이전 요청의 상태가 다음 요청에 남는 경로입니다. 따라서 완화책이 '메모리 상한선을 해제하고', '세션 관련 기능을 끄는' 것이 된 것입니다. 설정의 의미가 원인과 연결되면 갑자기 이해가 갑니다.
시험 용어는 뉴스 읽는 도구입니다.
15 개의 용어를 나열해 보았을 때 느낀 점은 IT 패스포트의 지식이 '얕다'는 것이 아니라 '넓다'는 점입니다. 깊이가 없더라도 일어나고 있는 일들의 전체적인 그림을 자신의 말로 설명할 수 있습니다. 이것만으로도 회사 내에서 "우리这边은 괜찮다"고 물었을 때, 답변의 골격을 잡을 수 있습니다.
기본 정보나 응용 정보를 공부 중인 분들에게는 이번 사례를 오후 문제의 자재로 읽어보시는 것도 좋습니다. 저는 응용 정보를 다시 도전 중이므로, 이 사건을 오후 정보 보안 문제 형태로 재구성해 스스로 풀어보려고 합니다.
■참고한 정보원
이 글의 사실 관계는 아래 내용을 참고하여 작성했습니다. 숫자나 인용문의 원본을 확인하고 싶은 분은 여기에서 확인하실 수 있습니다.
PHP 공식 보안 업데이트 (2026 년 10 월 21 일): https://www.php.net/archive/2026.php#2026-10-21-5
GitHub 보안 조언 GHSA-w8hw-w9fx-j79w (CVE-2026-109618): https://github.com/php/php-src/security/advisories/GHSA-w8hw-w9fx-j79w
ITmedia NEWS「PHP 에『긴급』등급의 취약점 2 개」(2026 년 10 월 21 일): https://www.itmedia.co.jp/news/article/2610/21/2000002446/
인터넷워치「많은 사이트가 예방적으로 공개를 중단하고, 고시 총리가 대응을 촉구함」(2026 년 10 월 22 일): https://internet.watch.impress.co.jp/docs/news/2150203.html
SecurityWeek「PHP2Shell 취약점 악용이 패치 출시 일주일 전부터 시작되었음」(2026 년 10 월 22 일, 출처: Amazon, Cloudflare, Censys 관측 데이터): https://www.securityweek.com/php2shell-exploitation-started-days-before-patches/
GMO Flatt 보안 블로그「PHP 의 중대한 취약점『php2shell』에 대한 개요 및 대응 방안」(Use After Free 설명 출처): https://blog.flatt.tech/entry/php2shell
ITパスポート 자격을 취득하기 전에는, 자격의 전체적인 구조를 'IT 자격 추천 순서: 갑자기 응용정보 자격을 취득한 동료는 1 년을 헛걸음했다'라는 글에 참고하세요. 용어 암기에 어려움을 겪고 계신 분은, 'ITパス포트 약어가 기억되지 않아 30 시간 동안 680 점까지 점수를 올린 저'라는 글과 함께 읽으시면 기억에 잘 남을 것입니다.
관심 있는 분은 팔로우해 주시면 알림을 받으실 수 있습니다. 15 개의 용어 중 뉴스에서 가장 "아, 이게구나"라고 생각하신 것이 있다면, 마음에 드는 틈을 타 알려주세요.
출처: note 원문
번역: Qwen 3.5(.48) 초벌 + 교정 21청크
원문 보기 | 출처: note.com