[2002/03/05]

PHP에서 보안 결함 발견

CERT/CC(Computer Emergency Response Team Coordination Center)는 지난달 27일, 해커가 희생자 시스템의 PHP 처리 과정에서 악의적인 코드를 실행할 수 있는 PHP 스크립트 언어 상의 취약성을 경고했다. 이번 결함은 PHP 개발자 팀의 일원인 스테판 에서(Stefan Esser)에 의해 처음 발견됐다.

PHP는 웹 개발에 널리 사용되고 있으며, 아파치(Apache), IIS, Caudium, 넷스케이프(Netscape), 아이플래닛(iPlanet), OmniHTTPd 등 다양한 웹 서버에 설치될 수 있다. 에서는 해커가 php_mime_split 함수에서 발견된 취약성으로 웹 서버에서 임의로 코드를 실행하거나 웹 서버의 정상적인 운영을 방해할 수 있다고 설명했다.

CERT/CC 에서는 PHP의 다음 버전에서 여러 가지 버그를 발견했다고 보고했다.

PHP 3.0.10-3.0.18 : 바운더리 체크(boundary check) 결함(공격 어려움), 임의적인 힙 오버플로우(arbitrary heap overflow) (공격 용이)

PHP 4.0.1-4.0.3pl1 : 바운더리 체크 결함(공격 어려움), heap off by one (공격 용이)

PHP 4.0.2-4.0.5 : 두 가지 바운더리 체크 결함(하나는 공격 용이, 하나는 어려움)

PHP 4.0.6-4.0.7RC2 : 바운더리 체크 결함(공격 매우 용이)

PHP 4.0.7RC3-4.1.1 : 바운더리 체크 결함(공격 어려움)

CERT/CC 에서는 대부분의 취약성이 리눅스나 솔라리스(Solaris)에서 공격 당할 수 있지만, ‘heap off by one’ 결함은 x86 아키텍쳐에서, PHP3의 ‘임의적인 힙 오버플로우’는 *BSD를 포함한 대부분의 OS와 아키텍쳐에서 공격 받을 수 있다고 설명했다.

PHP 사용자들은 PHP 버전 4.1.2로 업그레이드해 문제를 해결하거나 업그레이드가 불가능하다면 구 버전의 패치를 이 곳에서 얻을 수 있다. 버전 4.20-dev은 파일업로드 코드가 완전히 재작성 됐기 때문에 이번 버그 취약성에 노출돼 있지 않다고 한다.

업그레이드와 패치를 적용하는 것이 모두 불가능하다면, PHP 사용자들은 파일업로드 지원을 없애 이 같은 공격을 방지할 수 있다. 이를 위해 PHP 구성 파일 php.ini에서 ‘file_uploads = off.’로 편집한다. 이는 버전 4.0.3 이상에서만 가능하며, 사용자들은 파일업로드를 사용할 수 없게 된다.

기사 출처 : Korea.Internet.Com