PHP 생태계에서 발견된 임의 명령 주입 취약점, 빠른 업데이트 필요

2024-06-10 18:27
  • 카카오톡
  • 네이버 블로그
  • url
PHP의 오래된 취약점을 되살리는 방법이 발견됐다. 다행히 연구원들이 먼저 발견했기에 대책이 마련될 수 있었다. 하지만 그 대책이 나오면서 취약점이 같이 공개되자 공격이 시작됐다는 것이다.

[보안뉴스 문정후 기자] 보안 업체 데브코어(DEVCORE)가 널리 사용되는 프로그래밍 언어인 PHP에서 아규먼트(argument)를 임의로 주입하게 해 주는 취약점을 발견했다. 익스플로잇 난이도가 낮으며 피해자에게 미치는 영향력이 크기 때문에 초고위험도로 분류됐다. 데브코어는 PHP 공식 관리자들에게 이 내용을 은밀히 전달했고, PHP 측에서는 6월 6일부터 공식 패치를 배포하기 시작했다.


[이미지 = gettyimagesbank]

데브코어가 자사 블로그를 통해 밝힌 바에 따르면 이 취약점은 CVE-2024-4577으로, PHP CGI에서 발견된 것이며, 12년 전에 발견되고 패치된 취약점인 CVE-2012-1823에 대한 보호 장치를 우회할 수 있게 해 준다고 한다. 그 결과 공격자는 피해자의 PHP 서버들에서 임의의 코드를 실행시킬 수 있게 된다. 윈도 생태계에서만 공격이 가능한 것으로 파악됐다. PHP 모든 버전에 영향을 준다.

데브코어는 이번 취약점이 윈도 OS에 있는 베스트핏(Best-Fit) 기능과 관련이 깊다고 설명했다. 베스트핏은 윈도 환경에서의 인코딩 처리 방식 중 하나며, 블로그에 의하면 “PHP 팀이 윈도에서의 인코딩 전환 방식을 간과했고, 이 때문에 기존 취약점(CVE-2012-1823)에 대한 보호 장치를 우회하는 게 가능해진다”고 한다.

특히 윈도 OS의 언어 설정이 전통 중국어(Traditional Chinese), 간체 중국어(Simplified Chinese), 일본어로 되어 있을 경우 공격자는 원격 서버에 직접 임의 코드를 실행할 수 있는 것으로 나타났다. 데브코어는 “한국어, 영어, 서유럽어로 지정되어 있는 경우, PHP가 너무 광범위하게 사용되고 있어 모든 공격 시나리오를 다 상정하고 실험할 수 없었다”며 “어떤 언어권이든 PHP 최신 버전으로 업데이트하는 게 안전하다”고 권장했다.

PHP 최신 버전은 다음과 같다.
1) PHP 8.3 계열은 8.3.8
2) PHP 8.2 계열은 8.2.20
3) PHP 8.1 계열은 8.1.29
4) PHP 8.0, 7, 5 계열은 지원 종료라 패치 없음

패치가 불가능한 경우를 위해서도 데브코어는 임시 조치를 추천해 두었다. 다만 이 방법은 말 그대로 ‘임시’로 취할 수 있는 조치이므로 결국에는 8.1.29, 8.2.20, 8.3.8 버전으로 업그레이드 해야 할 것이라고 강조하기도 했다. 또한 PHP CGI 자체가 낡은 플랫폼이자 아키텍처이므로 보다 나중에 나온 것들로 옮기는 것도 강력하게 권장했다. “Mod-PHP나 FastCGI, PHP-FPM 등이 PHP CGI보다 기본적으로 훨씬 안전합니다.”

다음은 당장의 패치가 불가능한 사용자나 관리자들을 위한 임시 조치이다.
1) 다음과 같이 재작성규칙(Rewrite Rules)을 구성하면 공격을 차단할 수 있다. 다만 이는 위에서 설명한 문제의 언어들로 설정된 윈도 환경에서만 통한다. 즉 전통 중국어, 간체 중국어, 일본어 윈도에서만 사용할 수 있는 방법이라는 것이다.

RewriteEngine On
RewriteCond %{QUERY_STRING} ^%ad [NC]
RewriteRule .? - [F,L]


2) 윈도용 XAMPP(XAMPP for Windows)를 사용하는 경우라면, 아직 이 XAMPP 자체가 업데이트 되지 않고 있기 때문에 패치를 하고 싶어도 할 수 없다. 참고로 모든 버전의 윈도용 XAMPP가 이 취약점에 노출되어 있다고 데브코어는 이번 보고서를 통해 경고한 바 있다. 즉 XAMPP도 패치 대상이므로 관리자들은 이를 기억해둘 필요가 있다. 이 경우 C:/xampp/apache/conf/extra/httpd-xampp.conf라는 아파치 HTTP 서버 설정을 바꿔서 어느 정도 안전을 꾀할 수 있다.

먼저 다음 행을 찾는다.
ScriptAlias /php-cgi/ "C:/xampp/php/"

그리고 다음과 같이 주석 처리를 한다.
# ScriptAlias /php-cgi/ "C:/xampp/php/"

벌써 시작된 공격
IT 분야 외신인 테크웜에 따르면 이 취약점이 공개되고서 24시간도 되지 않아 해당 취약점에 대한 스캔이 시작됐다고 한다. 특히 이집트에서부터 공격의 조짐이 발견되고 있다고 경고했다. 하지만 PHP의 편만함을 생각했을 때 공격자들은 지역에 상관없이 익스플로잇을 시도할 것으로 예상된다. PHP처럼 전 세계적으로 사용자가 많은 생태계는 공격자들이 선호할 수밖에 없다.

아직까지 본격적인 피해가 발견되지는 않고 있지만, 이제 막 공격자들의 탐구가 시작됐으므로 거센 공격을 미리 예상하고 대응하는 게 현명할 것이라고 보안 전문가들은 말한다. 현재까지는 다음과 같은 공격 시나리오가 가능하다고 한다.

1) 민감 정보에의 불법적 접근
2) 디도스 공격
3) 임의 코드 실행 공격

3줄 요약
1. PHP CGI에서 매우 위험할 수 있는 취약점 발견됨.
2. 12년 전에 등장하고 패치된 취약점과도 관련이 있음.
3. 최신 PHP로 업그레이드 하는 게 가장 근본적인 대책.

[국제부 문정후 기자(globoan@boannews.com)]

<저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지>

헤드라인 뉴스

TOP 뉴스

이전 스크랩하기


과월호 eBook List 정기구독 신청하기

    • 씨프로

    • 인콘

    • 엔텍디바이스코리아

    • 핀텔

    • 아이비젼

    • 아이디스

    • 씨프로

    • 웹게이트

    • 엔토스정보통신

    • 하이크비전

    • 한화비전

    • ZKTeco

    • 비엔에스테크

    • 지오멕스소프트

    • 원우이엔지

    • 지인테크

    • 홍석

    • 이화트론

    • 다누시스

    • 테크스피어

    • TVT코리아

    • 슈프리마

    • 인텔리빅스

    • 시큐인포

    • 미래정보기술(주)

    • 세연테크

    • 비전정보통신

    • 트루엔

    • 경인씨엔에스

    • 한국씨텍

    • 성현시스템

    • 아이원코리아

    • 프로브디지털

    • 위트콘

    • 다후아테크놀로지코리아

    • 한결피아이에프

    • 스피어AX

    • 동양유니텍

    • 포엠아이텍

    • 넥스트림

    • 펜타시큐리티

    • 에프에스네트워크

    • 신우테크
      팬틸드 / 하우징

    • 옥타코

    • 네이즈

    • 케이제이테크

    • 셀링스시스템

    • 네티마시스템

    • 아이엔아이

    • 미래시그널

    • 엣지디엑스

    • 인빅

    • 유투에스알

    • 제네텍

    • 주식회사 에스카

    • 솔디아

    • 지에스티엔지니어링
      게이트 / 스피드게이트

    • 새눈

    • 에이앤티글로벌

    • 케비스전자

    • 한국아이티에스

    • 이엘피케이뉴

    • (주)일산정밀

    • 구네보코리아주식회사

    • 레이어스

    • 창성에이스산업

    • 엘림광통신

    • 에이앤티코리아

    • 엔에스티정보통신

    • 와이즈콘

    • 현대틸스
      팬틸트 / 카메라

    • 엔시드

    • 포커스에이아이

    • 넥스텝

    • 인더스비젼

    • 메트로게이트
      시큐리티 게이트

    • 엠스톤

    • 글로넥스

    • 유진시스템코리아

    • 카티스

    • 세환엠에스(주)

Copyright thebn Co., Ltd. All Rights Reserved.

시큐리티월드

IP NEWS

회원가입

Passwordless 설정

PC버전

닫기