PHP 긴급 업데이트와 검색·AI 노출: 상장사 2,350곳·병의원 1,527곳 홈페이지 측정

2026년 10월 21일, 웹 프로그래밍 언어 PHP를 만드는 PHP 프로젝트가 치명적인 보안 취약점 2건을 고친 수정판을 냈습니다.[1] 홈페이지 관리라고 하면 보통 사진을 바꾸고 새 글을 올리는 일을 떠올립니다. 그런데 서버 프로그램을 제때 바꾸는 일도 검색과 AI 답변에 홈페이지가 계속 보이게 하는 관리의 한 부분으로 볼 수 있습니다. 고치지 않은 사이트가 침해되면 검색 결과에서 경고가 붙을 수 있고, 고치려고 사이트를 오래 닫으면 검색 색인에서 페이지가 빠질 수 있기 때문입니다.
medad는 수정판이 나온 다음 날 상장사와 병·의원 홈페이지의 첫 화면을 측정했습니다. 이 글은 그 측정 숫자와, 업데이트 기간에 검색·AI 노출을 지키려면 무엇을 순서대로 확인할지를 공식 문서와 함께 정리합니다.
이번 PHP 업데이트는 무엇이고 누가 확인해야 하나요
PHP는 웹 서버에서 홈페이지 화면을 만들어 보내는 프로그래밍 언어입니다. 국내에서 많이 쓰는 그누보드, 워드프레스, XE 같은 홈페이지 제작 도구가 PHP 위에서 움직입니다. 홈페이지를 직접 만들지 않았더라도 제작 업체가 이런 도구로 만들었다면 우리 홈페이지도 PHP로 돌아가고 있을 수 있습니다.
이번에 공개된 취약점 2건은 국제 평가 기준(CVSS 4.0)으로 둘 다 10점 만점에 9.2점을 받았습니다. 로그인 없이 인터넷으로 공격할 수 있는 유형이지만, 공격에 필요한 조건이 까다로운 편이라는 평가도 함께 붙었습니다.[1][2] 고친 버전은 8.2.35, 8.3.36, 8.4.27, 8.5.12입니다.
한국인터넷진흥원(KISA)도 같은 날 업데이트를 권고하면서, PHP 8.1 이하는 공식 보안 지원이 끝났으니 지원되는 버전으로 업그레이드하라고 안내했습니다.[3] PHP 공식 지원 종료 버전표에는 8.1의 지원이 2025년 12월 31일에 끝난 것으로 적혀 있고, 지원표를 보면 8.2도 보안 지원이 2026년 12월 31일에 끝납니다.[4][5] 그러니 8.2를 쓰는 곳도 이번 수정판을 적용하면서 다음 버전으로 옮길 일정을 함께 잡아 두는 편이 좋습니다.
미국 사이버보안·기반시설보안청(CISA)은 권고문을 쓴 시점에 실제 악용을 관찰하지 못했다고 밝히면서도, 바로 업데이트할 수 없거나 8.1 이하를 계속 써야 한다면 수정할 때까지 PHP 기반 시스템을 인터넷에서 내리라고 권했습니다.[6]
영국 국가사이버보안센터(NCSC)는 임시 조치를 빨리 못 하면 오프라인을 «고려»하라고 했고, 유럽연합 CERT-EU는 오프라인 대신 격리(다른 시스템과 연결을 끊어 따로 두는 것)를 권했습니다.[7][8] CERT-EU는 공격 시연 코드가 공개돼 악용 가능성이 높아졌다고도 평가했습니다.[8] 악용 여부에 대한 평가는 기관마다 다르고 시간이 지나며 바뀔 수 있습니다. 기관마다 권고의 세기가 다르다는 점을 기억해 두면, 뒤에서 다룰 «닫을지 말지» 판단에 도움이 됩니다.
medad는 무엇을 어떻게 측정했나요
측정 대상은 두 묶음입니다. 첫째는 한국거래소 상장법인 목록 2,754곳 가운데 홈페이지 주소가 적힌 2,582곳입니다. 둘째는 인스타그램에서 활동하는 병·의원 1,586곳의 홈페이지입니다. 두 묶음 모두 무작위로 뽑은 표본이 아니므로, 숫자는 «이 묶음 안에서»라는 조건을 붙여 읽어야 합니다.
방법은 단순합니다. 2026년 10월 22일, 각 주소의 첫 화면을 한 번씩 요청하고 주소가 다른 주소로 넘어가면 넘어간 뒤의 첫 화면을 기준으로, 서버가 돌려준 응답 정보, 쿠키 이름, 화면 속 주소, 제작 도구의 흔적만 읽었습니다. 취약점을 시험하거나, 로그인하거나, 첫 화면 밖의 다른 경로를 열지는 않았습니다.
응답 정보에 PHP 표시가 있거나, PHP 세션 쿠키가 있거나, 주소가 .php로 끝나거나, PHP 기반 제작 도구의 흔적이 보이면 «PHP 확인»으로 셌습니다. 이런 단서를 숨긴 사이트는 «알 수 없음»으로 빼서 셌기 때문에 아래 비율은 모두 최소값입니다. 첫 화면이 열린 곳은 상장사 2,350곳, 병·의원 1,527곳이었습니다.
결과 1. 병·의원은 절반 넘게, 상장사는 절반 가까이 PHP였습니다
| 묶음 | 첫 화면이 열린 곳 | PHP 확인 | 비율 (95% 신뢰구간) |
|---|---|---|---|
| 병·의원 | 1,527곳 | 882곳 | 57.8% (55.3~60.2%) |
| 상장사 전체 | 2,350곳 | 1,079곳 | 45.9% (43.9~47.9%) |
| 유가증권시장 | 711곳 | 216곳 | 30.4% |
| 코스닥 | 1,546곳 | 814곳 | 52.7% |
| 코넥스 | 93곳 | 49곳 | 52.7% |
병·의원 홈페이지는 열린 곳의 57.8%, 상장사는 45.9%에서 PHP가 확인됐습니다. 상장사 안에서는 유가증권시장이 30.4%로 낮았고 코스닥과 코넥스는 둘 다 52.7%였습니다(코스닥 52.65%, 코넥스 52.69%를 반올림한 값으로 우연히 같습니다).
표의 신뢰구간은 측정한 묶음 안에서 숫자가 흔들릴 수 있는 폭일 뿐, 전체 기업이나 전체 병·의원의 비율을 추정한 값은 아닙니다. 여러 회사가 같은 사이트를 함께 쓰는 경우가 22개 사이트, 45곳 있어서 이를 한 곳으로 묶어 다시 계산해 보았지만 상장사 비율은 46.1%로 거의 같았습니다.
제작 도구로는 그누보드가 가장 많았습니다. 병·의원에서 418곳, 상장사에서 259곳이었고, 그다음은 워드프레스(병·의원 153곳, 상장사 189곳), XE 계열(병·의원 35곳, 상장사 73곳) 순이었습니다. 반대로 병·의원 414곳에서는 PHP 단서 없이 다른 제작 도구나 기술의 흔적이 보였는데, 그중 아임웹이 218곳, Next.js가 127곳으로 많았습니다.
결과 2. 버전을 드러낸 곳 대부분은 공식 수정판이 없는 버전이었습니다
PHP 버전은 서버가 응답 정보에 버전 번호를 적어 둔 곳에서만 알 수 있습니다. 그런 곳이 상장사 222곳, 병·의원 121곳이었습니다.
| 버전 구분 | 상장사 (222곳) | 병·의원 (121곳) |
|---|---|---|
| 이번 수정판까지 반영 | 1곳 | 2곳 |
| 8.2~8.5이지만 이번 수정판 이전 | 15곳 | 12곳 |
| 8.1 이하 | 206곳 (92.8%) | 107곳 (88.4%) |
| 그중 5.x | 111곳 | 45곳 |
| 그중 7.x | 79곳 | 57곳 |
버전을 드러낸 상장사의 92.8%, 병·의원의 88.4%가 8.1 이하였습니다. 8.1 이하는 PHP 프로젝트가 정식 보안 수정판을 더 내지 않는 버전입니다. 가장 많은 것은 상장사의 5.x 111곳으로, 지원이 끝난 지 오래된 버전입니다.
이 숫자를 «취약한 사이트 비율»로 읽으면 안 됩니다. 리눅스 배포판이나 호스팅 업체가 옛 버전에 자체 보안 패치를 넣어 두는 경우가 있어, 버전 번호만으로는 실제로 위험한지 알 수 없습니다. 이 숫자가 말하는 것은 «서버 프로그램 업데이트가 오래 멈춘 흔적이 많다»는 관리 상태입니다.
왜 이것이 검색·AI 노출 문제인가요
서버 업데이트는 보안 담당자의 일처럼 보이지만, 검색과 AI 답변에 홈페이지가 보이는지와 세 가지 길로 이어집니다.
첫째, 고치지 않은 사이트가 침해되면 검색에서 불리해집니다. 구글은 허락 없이 사이트에 심어진 내용을 «해킹된 콘텐츠»로 보고 스팸 정책에서 다루며, 사이트 소유자에게는 Search Console의 보안 문제 보고서로 알립니다.[9][10]
스팸 정책을 어긴 사이트는 순위가 낮아지거나 검색 결과에서 아예 빠질 수 있다고도 적고 있습니다.[9] 보안 문제가 확인된 사이트는 검색 결과나 브라우저에서 방문자에게 경고가 표시될 수 있습니다.[10] 상담이나 예약을 받는 홈페이지라면 경고 한 줄이 방문 자체를 막을 수 있습니다.
둘째, 고치려고 사이트를 오래 닫아도 불리해집니다. 구글 문서에 따르면 서버 오류(5xx)가 이어지면 구글은 그 사이트를 덜 자주 방문하고, 이미 색인된 페이지도 처음에는 남겨 두지만 오류가 계속되면 색인에서 뺍니다.[11] 사이트를 잠시 닫을 때는 «잠시 쉰다»는 뜻의 503 응답을 보내되, 전체를 닫는 기간은 아주 짧게 하라고 안내합니다.[12]
셋째, AI 검색이 닫힌 사이트를 어떻게 다루는지는 공개 자료가 없습니다. OpenAI, Anthropic, Perplexity는 검색 답변용 크롤러의 이름과 차단 방법을 공개하고 있지만, 503 응답이나 일시 중단을 어떻게 처리하는지는 설명하지 않습니다.[13][14][15] 모르는 만큼 닫는 기간을 짧게 잡는 편이 안전합니다.
측정에서는 관리 공백을 보여 주는 숫자가 하나 더 있었습니다. PHP가 확인된 곳 가운데 첫 화면이 https 주소로 넘어가지 않고 http에 머문 곳이 병·의원 882곳 중 308곳(34.9%), 상장사 1,079곳 중 426곳(39.5%)이었습니다.
https로 넘어가지 않는다고 바로 노출이 떨어진다고 말할 수는 없고, 이번 측정에서도 노출 변화는 확인하지 않았습니다. 다만 서버 설정을 오래 손보지 않았다는 신호로 함께 볼 만합니다.
업데이트 때문에 잠시 닫아야 한다면
가장 좋은 순서는 닫지 않고 수정판을 적용하는 것입니다. 호스팅 업체나 제작 업체가 버전을 올려 줄 수 있다면 사이트를 닫을 이유가 줄어듭니다.
8.1 이하를 쓰고 있어 바로 올리기 어렵다면 판단이 필요합니다. 옛 제작 도구는 새 PHP에서 그대로 돌지 않을 수 있어서, 버전을 올리는 일이 곧 홈페이지 일부를 손보는 일이 되기도 합니다. 이때 미국 기관처럼 «고칠 때까지 내린다»를 택할지, 영국·유럽 기관처럼 임시 조치와 격리를 먼저 할지는 업체와 함께 정합니다.
닫기로 했다면 검색 쪽에서 지킬 것은 세 가지입니다. 503 응답과 함께 다시 열 시각을 알리고, 닫는 기간을 며칠 안으로 줄이고, 그보다 길어지면 정상 응답(200)으로 안내 페이지를 띄웁니다.[12] 병·의원이라면 전화 예약처럼 홈페이지 밖의 접수 창구를 미리 공지해 두는 것이 좋습니다.
오늘 확인할 순서
| 순서 | 할 일 | 물어볼 곳 | 확인 기준 |
|---|---|---|---|
| 1 | 서버의 PHP 버전 확인 | 호스팅 업체·제작 업체 | 8.2.35, 8.3.36, 8.4.27, 8.5.12 이상인가 |
| 2 | 8.1 이하라면 업그레이드 일정과 제작 도구 호환 확인 | 제작 업체 | 날짜와 담당자가 정해졌는가 |
| 3 | 닫아야 한다면 503 응답과 재개 시각 설정 | 서버 담당자 | 며칠 안에 다시 여는가 |
| 4 | 다시 연 뒤 Search Console의 오류와 보안 문제 확인 | 홈페이지 관리자 | 새 오류나 보안 경고가 없는가 |
| 5 | 침해 흔적 점검과 상담 | 업체, KISA 118 | 모르는 파일이나 링크가 없는가 |
정리하면, 버전을 묻고, 날짜를 정하고, 닫는다면 짧게 닫는 것이 순서입니다. 이 순서를 지키면 보안 업데이트가 검색과 AI 답변에서 홈페이지가 사라지는 사건으로 번지는 일을 줄일 수 있습니다.
이 측정의 한계
이번 측정은 두 묶음의 홈페이지 첫 화면을 한 번씩 본 기록입니다. 무작위 표본이 아니어서 모든 기업이나 모든 병·의원으로 넓혀 말할 수 없습니다. PHP 단서를 숨긴 사이트는 빠졌기 때문에 실제 비율은 이보다 높을 수 있습니다. 버전 번호는 실제 취약 여부와 같지 않습니다. 업데이트나 일시 중단이 검색·AI 노출을 얼마나 바꾸는지는 이번에 측정하지 않았습니다. 개별 회사와 병·의원의 이름은 공개하지 않습니다.
함께 읽을 글
홈페이지를 아예 다시 만들지 고민 중이라면 AI 시대에 웹사이트를 새로 만들어야 할까에서 다시 만들기 전 점검할 항목을 볼 수 있습니다.
서버가 처음 보내는 화면에 본문이 들어 있는지는 사람에겐 보이는데 AI에겐 빈 페이지에서 확인 방법을 정리했습니다.
참고 자료
- PHP 프로젝트 — 2026-10-21 보안 수정판 공지 (2026-10-22 확인)
- PHP 보안 권고 GHSA-w8hw-w9fx-j79w (2026-10-22 확인)
- KISA 보호나라 — PHP 제품 보안 업데이트 권고 (2026-10-21 게시, 2026-10-22 확인)
- PHP 지원 버전표 (2026-10-22 확인)
- PHP 지원 종료 버전표 (2026-10-22 확인)
- CISA — Critical Vulnerabilities in PHP Require Immediate Patching (2026-10-22 확인)
- 영국 NCSC — Critical security issue affecting PHP (2026-10-22 확인)
- CERT-EU 보안 권고 2026-018 (2026-10-22 확인)
- Google 검색 스팸 정책 — 해킹된 콘텐츠 (2026-10-22 확인)
- Search Console 고객센터 — 보안 문제 보고서 (2026-10-22 확인)
- Google 검색 센터 — HTTP 상태 코드와 네트워크 오류 (2026-10-22 확인)
- Google 검색 센터 — 온라인 사업을 일시 중지할 때 (2026-10-22 확인)
- OpenAI — 크롤러 안내 (2026-10-22 확인)
- Anthropic — 웹 크롤러 안내 (2026-10-22 확인)
- Perplexity — 크롤러 안내 (2026-10-22 확인)
기준일: 2026-10-22. 측정 숫자는 medad가 같은 날 홈페이지 첫 화면을 한 번씩 요청해 얻은 값이며, 악용 여부 같은 기관 발표는 시간이 지나면 바뀔 수 있습니다.
자주 묻는 질문
- 우리 홈페이지가 PHP인지 어떻게 알 수 있나요?
- 가장 확실한 방법은 호스팅 업체나 제작 업체에 서버의 PHP 버전을 묻는 것입니다. 그누보드·워드프레스·XE로 만든 홈페이지라면 PHP일 가능성이 높습니다.
- 버전이 8.1 이하면 바로 해킹된 건가요?
- 아닙니다. 버전 번호는 취약 여부와 같지 않고, 업체가 자체 패치를 넣었을 수도 있습니다. 다만 공식 수정판이 나오지 않는 버전이니 업그레이드 일정을 정하는 편이 좋습니다.
- 업데이트하느라 하루 이틀 닫으면 검색에서 사라지나요?
- 구글 문서는 급히 닫아야 할 때 1~2일 정도 503 응답과 재개 시각을 쓰고, 전체 중단은 길어야 며칠로 하라고 안내합니다. 몇 주만 닫아도 색인에 해로울 수 있다고 적고 있습니다.
- ChatGPT 같은 AI 검색도 같은 방식으로 다루나요?
- 알려지지 않았습니다. 주요 AI 회사의 크롤러 문서에는 503이나 일시 중단 처리 설명이 없습니다. 그래서 닫는 기간을 짧게 잡는 편이 안전합니다.