PHP 세 번째 취약점, 21일 패치로 안 막히는 조건과 지금 할 일

약 9분 읽기

PHP 개발팀이 23일(현지시간) 세션 처리 과정에서 생기는 원격 코드 실행(RCE) 취약점을 새로 공개했다. 파이낸셜뉴스에 따르면 이 결함은 21일 배포된 8.5.12, 8.4.27, 8.3.36, 8.2.35 버전의 보안 업데이트로는 해결되지 않는다.

다만 발생 조건은 좁다. 파일 업로드 진행 상황 추적 기능을 앞선 취약점 대응 때 이미 꺼 둔 서버라면 추가 조치가 필요 없다는 것이 PHP 개발팀 설명이다.

앞서 확인된 두 취약점에 긴급 패치를 설치한 운영자도 이번 건은 따로 따져 봐야 한다. 이 글은 ‘패치했으니 끝’, ‘모든 PHP 서버가 위험하다’ 같은 통념을 보도 내용에 비춰 점검한다. 이어서 서버 상황별 점검 순서와 아직 공개되지 않은 정보를 정리한다.

파이낸셜뉴스와 네이트에 실린 기사는 모두 ‘25일 한국인터넷진흥원(KISA)에 따르면’이라는 문장으로 이 내용을 전했다. 개발팀 공개일 23일은 현지시간 기준이고, KISA 추가 공지가 나온 날짜는 기사에 따로 적혀 있지 않다.

‘21일 패치를 깔았으니 끝’이라는 통념은 반만 맞다

첫 번째 통념은 21일 업데이트를 설치했으니 PHP 보안 문제가 정리됐다는 생각이다. 파이낸셜뉴스는 앞서 확인된 두 가지 취약점에 대응하는 긴급 보안 패치를 설치했더라도 특정 환경에서는 영향을 받을 수 있다고 전했다.

반대 방향의 통념도 있다. 세 번째 취약점이 나왔으니 모든 PHP 서버가 다시 위험해졌다는 생각인데, PHP 개발팀은 문제가 되는 설정 조합이 실제 운영 환경에서 드물게 나타난다고 설명했다.

통념보도로 확인된 내용출처
21일 업데이트만 설치하면 된다21일 배포 버전의 보안 업데이트로는 이번 취약점이 해결되지 않는다파이낸셜뉴스
모든 PHP 서버가 새로 위험해졌다특정 설정 조합에서만 발생할 수 있고, 개발팀은 그 조합이 드물다고 설명했다파이낸셜뉴스
곧 또 긴급 패치가 나온다개발팀은 긴급 패치 대신 다음 정기 업데이트에서 수정하기로 했다네이트 뉴스
드물다니 설정을 볼 필요도 없다KISA는 정식 업데이트 전까지 추적 기능을 끄고 모든 작업 프로세스를 재시작하라고 권고했다파이낸셜뉴스

이 글의 해석으로 정리하면, 이번 취약점은 새 패치를 기다리는 문제라기보다 업로드 진행 상황 추적 기능이 지금 켜져 있는지를 확인하는 문제에 가깝다. 앞선 대응 과정에서 이 기능을 이미 꺼 두었다면 추가 조치 없이 기존 설정을 유지하면 된다.

취약점은 세 조건이 한꺼번에 맞을 때만 열린다

세션 저장 방식 설정, 실행 중 방식 변경, 업로드 진행 상황 추적 기능 활성화가 모두 겹쳐야 발생할 수 있는 구조를 나타낸 개념 일러스트
본문 내용을 정리한 개념도 · AI 생성

파이낸셜뉴스가 전한 PHP 개발팀 설명으로는, 아래 조건이 모두 갖춰진 경우에만 취약점이 발생할 수 있다.

  1. 서버의 세션 데이터 저장 방식이 ‘php_binary’ 또는 ‘php_serialize’로 설정돼 있다.
  2. 프로그램 실행 도중 이 방식을 ‘php’ 방식으로 변경한다.
  3. 파일 업로드 진행 상황 추적 기능이 활성화돼 있다.

첫째와 둘째 조건은 고정된 설정 하나가 아니라, 처음 정한 방식을 실행 중에 바꾸는 동작이다. 네이트 뉴스에 실린 기사는 개발팀이 ‘특정 설정과 프로그램 코드가 결합된 드문 환경’에서만 악용할 수 있어 실제 악용 가능성은 낮다고 설명했다고 전했다.

실행 중 세션 저장 방식 변경업로드 진행 상황 추적 기능보도된 영향
‘php_binary’·‘php_serialize’에서 ‘php’로 바꾼다켜져 있다취약점이 발생할 수 있다
바꾸지 않는다켜져 있다이번 취약점의 영향을 받지 않는다
바꾼다앞선 대응 때 이미 껐다추가 조치가 필요하지 않다

표에서 보듯 세 조건 중 하나만 빠져도 보도된 발생 조건은 성립하지 않는다는 것이 이 글의 해석이다. 세션 저장 방식을 실행 중에 바꾸는지는 애플리케이션 코드의 동작이어서, 서버 설정 화면만으로는 판단하기 어려울 수 있다는 점도 해석이다.

보도에 쓰인 표현은 ‘세션 데이터 저장 방식’과 ‘파일 업로드 진행 상황 추적 기능’이다. 실제 설정 항목의 이름과 값은 PHP 개발팀이 공개하기로 한 정식 보안 권고문에서 대조하는 편이 정확하다.

운영자는 추적 기능 상태부터 확인하면 된다

추적 기능 상태에 따라 갈리는 운영자 점검 흐름을 나타낸 개념 일러스트
본문 내용을 정리한 개념도 · AI 생성

파이낸셜뉴스에 따르면 KISA는 추가 보안 공지에서 서버 운영자들에게 정식 보안 업데이트가 배포되기 전까지 파일 업로드 진행 상황 추적 기능을 비활성화하고 모든 작업 프로세스를 재시작할 것을 권고했다. 네이트 뉴스 기사는 해당 설정을 사용하는 경우 기능을 끈 뒤 모든 PHP 작업 프로세스(워커)를 재시작해야 한다고 적었다.

보도된 권고와 조건을 확인 순서로 옮기면 다음과 같다. 순서는 이 글이 정리한 것이다.

  1. 서버 설정에서 파일 업로드 진행 상황 추적 기능이 켜져 있는지 본다.
  2. 앞선 PHP2Shell 취약점 대응 때 이미 꺼 두었다면, 추가 조치 없이 그 설정을 유지한다.
  3. 켜져 있다면 기능을 끄고 모든 PHP 작업 프로세스(워커)를 재시작한다.
  4. 당장 끄기 어려운 사정이 있다면, 애플리케이션이 실행 도중 세션 데이터 처리 방식을 바꾸는지 개발 담당자에게 확인한다.
  5. PHP 개발팀의 정식 보안 권고문과 다음 정기 업데이트가 나오면 영향 버전과 수정 버전을 확인해 적용한다.

4번은 두 안내의 무게가 다른 지점이다. 실행 도중 세션 처리 방식을 바꾸지 않는 애플리케이션은 추적 기능을 유지해도 영향을 받지 않는다고 파이낸셜뉴스는 전했지만, KISA 권고는 정식 업데이트 전까지 기능을 끄는 쪽이다.

KISA 권고는 기능 비활성화와 모든 작업 프로세스 재시작을 한 묶음으로 제시했다. 설정만 바꾸고 재시작을 빠뜨리지 않도록 점검 기록에 두 단계를 따로 적어 두는 것이 이 글의 제안이다.

관련 글: PHP 취약점 2건에 정부 ‘주의’ 경보…버전별 업데이트 기준 · PHP 취약점에 사이버위기 ‘주의’…운영자와 이용자가 할 일

긴급 패치 대신 정기 업데이트를 택했다

파이낸셜뉴스는 PHP 개발팀이 별도의 긴급 보안 패치를 배포하는 대신 다음 정기 업데이트에서 취약점을 수정하고 정식 보안 권고문을 공개하기로 했다고 전했다. 기사에서 이 결정은 발생 환경이 제한적이고 추가 조치가 필요 없는 경우가 있다는 설명에 ‘이에’라는 말로 이어져 나온다.

그 사이에는 공백이 남는다는 것이 이 글의 해석이다. 파이낸셜뉴스에 따르면 현재까지 영향을 받는 구체적인 PHP 버전과 수정 버전은 공개되지 않았고, 보도에 제시된 대응은 KISA가 권고한 임시 조치다.

지금까지 보도된 흐름을 날짜순으로 놓으면 다음과 같다. 날짜는 기사에 적힌 일자 그대로다.

  • 21일: 8.5.12, 8.4.27, 8.3.36, 8.2.35 버전 보안 업데이트 배포
  • 21일: PHP2Shell 취약점(파이낸셜뉴스 표기 CVE-2026-109619) 공개
  • 23일(현지시간): PHP 개발팀, 세션 처리 RCE 취약점(파이낸셜뉴스 표기 CVE-2026-115560) 공개
  • 23일: 국회 과학기술정보방송통신위원회 종합감사에서 공공기관 PHP 취약점 대응 현황 언급
  • 25일: KISA를 인용한 보도
  • 날짜가 기사에 없음: 다음 정기 업데이트와 정식 보안 권고문

개발팀 공개일은 현지시간 기준이어서, 같은 23일로 적힌 국정감사와 어느 쪽이 먼저였는지는 기사만으로 가릴 수 없다.

주요 기업은 긴급 조치에 나섰고, 중소기업은 대응 여력이 우려된다

한국일보는 국내 주요 기업들이 긴급 보안 조치에 나섰다고 전했다. 기업별 내용은 다음과 같다.

기업보도된 조치출처
삼성전자기존 취약점에 대한 보안 패치를 적용한 웹사이트만 운영, 관련 보안 작업은 대부분 마쳤다고 밝힘한국일보
SK그룹외부 인터넷과 연결된 시스템을 우선 점검하고 패치 적용, 집중 모니터링 진행 중한국일보
LG전자긴급 패치를 적용하고 고객 접점 서버와 웹사이트를 전수조사한국일보

표의 조치가 세 번째 취약점까지 겨냥한 것인지는 나눠 읽어야 한다. 삼성전자 대목은 ‘기존 취약점’에 대한 패치라고 적었고, SK그룹과 LG전자 대목에는 ‘패치를 적용’, ‘긴급 패치를 적용’이라고 쓰였다.

한국일보는 삼성전자 대응을 전한 문장 바로 뒤에 현재까지 확인된 해킹 피해 사례는 없다고 적었다. 네이트에 실린 같은 제목의 기사는 부제를 ‘삼성·SK·LG 긴급 대응…피해 사례 없어’로 달았다. 어느 범위의 피해 사례를 가리키는지는 본문 문장만으로 단정하기 어렵다.

반면 한국일보는 인력과 관리 역량이 부족한 중소기업과 협력사가 PHP 보안 결함을 악용한 해킹 공격에 신속히 대응하기 어렵다는 우려가 나온다고 전했다. 기사에 ‘우려’로 실린 내용이며, 실제 피해가 보고됐다는 뜻은 아니다.

이번 취약점에 대해 보도된 임시 조치는 버전 교체가 아니라 설정 변경과 프로세스 재시작이다. 전담 인력이 적은 곳이라면 이 설정 하나를 먼저 확인하는 것이 현실적인 출발점이 될 수 있다는 것이 이 글의 판단이다. 기능을 끌 때 운영 중인 서비스에 생기는 영향은 보도에서 다뤄지지 않았으므로 직접 확인해야 한다.

공공기관 패치 완료율은 아직 파악되지 않았다

네이트 뉴스에 실린 기사에 따르면 23일 국회 과학기술정보방송통신위원회 종합감사에서 이상중 KISA 원장은 공공기관의 PHP 보안 취약점 대응 현황에 대해 “패치 완료율은 아직 파악되지 않았다”고 밝혔다. 기사는 현행 규정상 KISA가 직접 기관의 시스템을 점검할 권한이 없다는 취지로 이를 설명했다.

배경훈 부총리 겸 과학기술정보통신부 장관은 “PHP 문제를 넘어 근본 대책을 수립할 필요가 있다”며 “범부처 차원의 종합대책을 마련해 국회에 보고하겠다”고 말했다고 같은 기사는 전했다.

이 대목은 성격이 다른 내용이 섞여 있어 나눠 볼 필요가 있다.

  • 보도된 사실: 23일 종합감사에서 공공기관의 PHP 취약점 대응 현황이 다뤄졌다.
  • 당사자 발언: KISA 원장은 패치 완료율을 아직 파악하지 못했다고 했고, 장관은 근본 대책이 필요하다고 말했다.
  • 아직 일어나지 않은 일: 범부처 종합대책 마련과 국회 보고는 계획으로 밝힌 단계이며, 기사에 보고 시점은 나오지 않는다.

공공기관이 운영하는 서버라면 상급 기관이 현황을 일괄 파악하고 있다고 기대하기보다, 각 기관이 설정을 직접 확인해야 하는 상황으로 읽힌다. 이는 이 글의 해석이다.

영향 버전과 정식 권고문은 보도 시점까지 나오지 않았다

다음 발표에서 확인할 항목을 정리하면 아래와 같다. 각 항목은 보도 시점 기준으로 비어 있는 부분이다.

  • 영향 버전·수정 버전: 개발팀이 공개하기로 한 정식 보안 권고문에서 확인할 수 있을지 지켜본다.
  • 정기 업데이트 날짜: 기사에 적혀 있지 않다.
  • 설정 항목의 정확한 이름: 보도에는 기능 설명으로 적혀 있어, 실제 항목명은 권고문으로 대조한다.
  • 임시 조치 이후: KISA 권고는 ‘정식 보안 업데이트가 배포되기 전까지’라는 기간을 달았다. 업데이트 뒤 추적 기능을 다시 켜도 되는지는 후속 안내를 봐야 한다.
  • 범부처 종합대책: 장관이 예고한 국회 보고가 실제로 이뤄지는지 확인한다.
  • 실제 악용 여부: 세 번째 취약점이 실제 공격에 쓰였는지는 확인되지 않았다.

참고 자료

블로그 네클이 함께 운영하는 무료 서비스

접속 - | 오늘 - | 어제 - | 전체 -
위로 스크롤